次の方法で共有


名前空間の間でのインスタンスの関連付け

関連付けビュー クラスを使用すると、異なる名前空間に存在するクラスに対して ASSOCIATORS OF クエリを使用できます。

次の手順では、名前空間の間でインスタンスを関連付ける方法について説明します。

名前空間の間でインスタンスを関連付けるには

  1. Association 文字列修飾子を使用してクラス定義を開始します。

    JoinOnAssociationUnion の各修飾子は相互に排他的です。

  2. ViewSources 修飾子を使用して、ビュー クラスで使用するソース インスタンスを定義するクエリを作成します。

  3. ViewSpaces 修飾子を使用して、ソース インスタンスが配置されている名前空間の名前と場所を定義します。

  4. PropertySources 修飾子を使用して、関連付けビュー クラスで必要なプロパティを定義します。

    必要に応じて、HiddenDefault 修飾子を使用して、ソース クラスに属することを示すタグをいずれかのプロパティに付けることができます。

  5. Direct 修飾子を使用して、関連するプロパティにタグを付けます。

    Direct 修飾子を使用すると、ビュー プロバイダーは、タグ付けされた関連付け参照をビュー参照にマッピングできなくなります。

次のコード例は、関連付けビュー クラスを作成する方法を示しています。

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