다음을 통해 공유


네임스페이스 간에 인스턴스 연결

연결 뷰 클래스를 사용하면 서로 다른 네임스페이스에 있는 클래스에서 ASSOCIATORS OF 쿼리를 사용할 수 있습니다.

다음 절차에서는 네임스페이스 간에 인스턴스를 연결하는 방법을 설명합니다.

네임스페이스 간에 인스턴스를 연결하려면 다음을 수행합니다.

  1. Association 문자열 한정자를 사용하여 클래스 정의를 시작합니다.

    JoinOn, AssociationUnion 한정자는 함께 사용할 수 없습니다.

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