연결 클래스는 다른 두 클래스 간의 관계를 정의하는 특수한 형식의 클래스입니다.
다음 절차에서는 MOF 코드를 사용하여 연결 클래스를 만드는 방법을 설명합니다.
MOF 코드 사용하여 연결 클래스를 만들려면
클래스에 협회 한정자를 할당하세요.
개체 또는 클래스에 대한 참조가 있는 클래스를 만들 수 있지만 Association 한정자를 사용하면 클래스가 연결 클래스임을 분명히 할 뿐만 아니라 클래스가 연결 클래스로 완벽하게 작동하도록 하는 것이 좋습니다.
ref 형식을 사용하여 함께 연결하려는 두 개체 인스턴스를 설명하는 두 개의 참조를 클래스 내에 만듭니다.
참조는 개체에 대한 경로를 포함하여 연결의 두 개체를 바인딩합니다. 필수는 아니지만 참조 속성도 키 속성으로 사용합니다.
정규화된 참조 또는 네임스페이스 상대 참조를 만들 수 있지만 WMI는 네임스페이스 간 참조만 지원합니다. 특히 정적으로 정의된 개체만 네임스페이스 경계에서 서로를 참조할 수 있습니다. 동적으로 지원되는 개체는 서로를 참조할 수 없습니다.
필요한 경우 HasClassRef 및 Classref 한정자를 개체 ref 형식과 함께 사용하여 클래스를 참조합니다.
WMI는 하나의 참조 지점이 인스턴스를 가리키고 다른 참조 지점이 클래스를 가리키는 것을 지원합니다. 참조 지점은 인스턴스에 대한 것이고, 참조 지점은 클래스에 대한 것입니다. 이 경우 연결 클래스는 인스턴스를 클래스에 바인딩하는 연결을 설명합니다.
다음 코드 예제에서는 HasClassRef 및 Classref개체 형식을 사용하는 구문을 설명합니다.
[HasClassRefs, Association] class SomeAssocClass { [key, classref{ "MyEndpoint", "OtherContainer" }] object ref ep1; [key] object ref ep2; };이전 예제에서 ep1 참조는 MyEndpoint 클래스 또는 OtherContainer 클래스에 대한 클래스 정의를 가리킬 수 있습니다. 참조 클래스를 약한 형식으로 입력해야 하지만 Classref 한정자 자체를 약하게 입력할 수는 없습니다. 이렇게 하면 WMI 쿼리 엔진의 효율성이 심각하게 저하됩니다. 약한 입력은 개체 키워드 및 ref 데이터 형식을 사용하여 모든 데이터 형식을 포함할 수 있는 참조를 만드는 것입니다. HasClassRef성공적으로 사용하려면 모든 인스턴스 및 서브클래스에 전파되도록 관련 한정자 버전을 설정해야 합니다.
필요에 따라 다른 속성을 만듭니다.
다음 코드 예제에서는 WMI가 현재 참조 속성이 두 개 이하인 연결 클래스를 지원하지 않음을 보여 줍니다.
[Association : ToInstance] class MyAssocClass { ClassX ref PathToClassX ; ClassY ref PathToClassY ; };완료되면 MOF 컴파일러를 사용하여 MOF 코드를 컴파일합니다.
자세한 내용은 MOF 파일 컴파일을 참조하세요.
3단계의 코드 예제는 MyAssocClass 연결 클래스를 정의합니다. MyAssocClass 클래스는 ClassXClassY간의 관계를 정의합니다. PathToClassX 및 PathToClassY 속성에는 연결할 클래스 인스턴스에 대한 개체 경로가 포함됩니다. 키워드 ToInstance은 한정자 사용에 대한 정보를 제공하기 위해 WMI가 정의한 여러 특성 플래그 중 하나입니다. ToInstance 키워드는 WMI가 Association 한정자를 연결 클래스의 모든 인스턴스로 전파해야 임을 나타냅니다. 클라이언트 소프트웨어는 이 인스턴스 한정자를 확인하여 연결 한정자를 찾기 위해 클래스 정의를 검색하지 않고도 인스턴스가 연결 클래스에 속하는지 확인할 수 있습니다. 자세한 내용은 한정자 맛 중 한정자 설명을 참조하고, 참조를 확인하세요.
관련 항목