在命名空间之间关联实例

关联视图类允许对驻留在不同命名空间中的类使用 ASSOCIATORS OF 查询。

以下过程介绍如何在命名空间之间关联实例。

若要在命名空间之间关联实例

  1. 使用 Association 字符串限定符开始类定义。

    限定符 JoinOn、Association 和 Union 相互排斥。

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