Asociación de instancias entre espacios de nombres
Una clase de vista de asociación permite usar consultas ASSOCIATORS OF en clases que residen en diferentes espacios de nombres.
En el procedimiento siguiente se describe cómo asociar instancias entre espacios de nombres.
Procedimiento para asociar instancias entre espacios de nombres
Comience la definición de la clase con el calificador de cadena Association.
Los calificadores JoinOn, Association y Union son mutuamente excluyentes.
Cree las consultas que definen las instancias de origen que se usan en la clase de vista con el calificador ViewSources.
Defina los nombres y la ubicación de los espacios de nombres en los que se encuentran las instancias de origen con el calificador ViewSpaces.
Defina las propiedades que quiera en la clase de vista de asociación con el calificador PropertySources.
Si es necesario, puede etiquetar cualquiera de las propiedades como pertenecientes a una clase de origen mediante el calificador HiddenDefault.
Etiquete las propiedades pertinentes con el calificador Direct.
El calificador Direct impide que el proveedor de vistas asigne la referencia de asociación etiquetada a una referencia de vista.
En los ejemplos de código siguientes se muestra cómo crear clases de vista de asociación.
[union,
ViewSources {"SELECT * FROM Win32_OperatingSystem"},
ViewSpaces {"\\\\.\\root\\cimv2"},
dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
]
class Union_OS_For_AssociationExample
{
[key, PropertySources{"Name"}]
string Name;
[PropertySources{"Version"}]
string Version;
[PropertySources{"BuildNumber"}]
string BuildNumber;
};
[
Association,
ViewSources {"SELECT * FROM Win32_SystemOperatingSystem"},
ViewSpaces {"\\\\.\\root\\cimv2"},
dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
]
class Association_SystemViewOperatingSystem
{
[Direct, key, PropertySources{"GroupComponent"}]
Win32_ComputerSystem ref Computer;
[key, PropertySources{"PartComponent"}]
Union_OS_For_AssociationExample ref OperatingSystem;
};