Freigeben über


Zuordnen von Instanzen zwischen Namespaces

Mit einer Zuordnungsansichtsklasse können Sie ASSOCIATORS OF-Abfragen an Klassen verwenden, die sich in verschiedenen Namespaces befinden.

Im folgenden Verfahren wird beschrieben, wie Instanzen zwischen Namespaces zugeordnet werden.

So ordnen Sie Instanzen zwischen Namespaces zu

  1. Beginnen Sie Ihre Klassendefinition mit dem Zeichenfolgenqualifizierer Association.

    Die Qualifizierer JoinOn, Association und Union schließen sich gegenseitig aus.

  2. Erstellen Sie die Abfragen, die Quellinstanzen definieren, die in der Ansichtsklasse mit dem ViewSources-Qualifizierer verwendet werden.

  3. Definieren Sie die Namen und Speicherorte der Namespaces, in denen sich die Quellinstanzen befinden, mit dem ViewSpaces-Qualifizierer.

  4. Definieren Sie die gewünschten Eigenschaften in Ihrer Zuordnungsansichtsklasse mit dem PropertySources-Qualifizierer.

    Bei Bedarf können Sie jede der Eigenschaften als zu einer Quellklasse gehörig markieren, indem Sie den HiddenDefault-Qualifizierer verwenden.

  5. Markieren Sie alle relevanten Eigenschaften mit dem Direct-Qualifizierer.

    Der Direct-Qualifizierer verhindert, dass der Ansichtsanbieter den markierten Zuordnungsverweis einem Ansichtsverweis zuordnet.

Die folgenden Codebeispiele zeigen, wie Sie Zuordnungssichtklassen erstellen.

[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;
};