Partilhar via


Associando instâncias entre namespaces

Uma classe de vista de associação permite o uso de 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

  1. Comece a sua definição de classe com o qualificador de cadeia Associação.

    As JoinOn, Associatione Union qualificadoras são mutuamente exclusivas.

  2. Crie as consultas que definem instâncias de origem usadas na classe de visualização com o qualificador ViewSources.

  3. Defina os nomes e a localização dos namespaces nos quais as instâncias de origem estão com o qualificador ViewSpaces.

  4. Defina as propriedades desejadas na sua classe de exibição de associação com o qualificador PropertySources.

    Se necessário, pode marcar qualquer propriedade como pertencente a uma classe de origem usando o qualificador HiddenDefault.

  5. Marque todas as propriedades relevantes com o qualificador Direct.

    O qualificador Direct impede que o View Provider mapeie a referência de associação marcada para 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;
};