Associar instâncias entre namespaces
Uma classe de exibição de associação permite que você use consultas ASSOCIATORS OF em classes que residem em namespaces diferentes.
O procedimento a seguir descreve como associar instâncias entre namespaces.
Para associar instâncias entre namespaces
Inicie sua definição de classe com o qualificador de cadeia de caracteres Association.
Os qualificadores JoinOn, Association e Union são mutuamente exclusivos.
Crie as consultas que definem as instâncias de origem usadas na classe de exibição com o qualificador ViewSources.
Defina os nomes e os locais dos namespaces nos quais as instâncias de origem estão localizadas com o qualificador ViewSpaces.
Defina as propriedades desejadas em sua classe de exibição de associação com o qualificador PropertySources.
Se necessário, você pode marcar qualquer uma das propriedades como pertencentes a uma classe de origem usando o qualificador HiddenDefault.
Marque todas as propriedades relevantes com o qualificador Direct.
O qualificador Direct impede que o Provedor de Exibição mapeie a referência de associação marcada como uma referência de exibição.
Os exemplos de código a seguir mostram como criar classes de exibição de associação.
[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;
};