참조(WMI)
MOF ref 키 단어는 개체 경로를 설명하고 VT\_BSTR Automation 형식에 매핑됩니다. 개체 경로는 서버 및 네임스페이스에 대한 전체 경로이거나 동일한 네임스페이스에 있는 다른 개체에 대한 상대 경로일 수 있습니다. ref 키 단어를 사용하여 둘 이상의 클래스를 함께 연결할 수 있습니다. WMI는 WMI 내에서 일반 또는 특정 경로를 정의하는 데 사용하는 두 가지 유형의 개체 경로를 지원합니다.
ref 키 단어의 주요 목적은 WMI 리포지토리 내에만 존재하는 개체 간 전송 시간과 인코딩을 줄이는 것입니다. ref 키 단어를 사용하여 두 클래스 간의 연결을 만들 수도 있습니다. 자세한 내용은 연결 클래스 선언을 참조하세요. 참조된 항목이 동일한 MOF 파일 내에 있는 경우 별칭을 사용하여 ref 값을 초기화합니다. 자세한 내용은 별칭 만들기를 참조하세요.
참고
ref 키 단어가 키 속성에 적용되면 역참조된 값 대신 개체 문자열 값으로 개체 참조를 구분할 수 있습니다.
MOF는 약한 형식과 강한 형식의 개체 경로 개념을 지원합니다. 약한 형식의 개체 경로는 지정되지 않은 클래스의 개체를 가리키고 ref 키 단어를 OBJECT 키워드와 함께 사용합니다. 강한 형식의 개체는 특정 클래스의 개체를 가리키고 ref를 클래스 이름과 함께 사용합니다. 다음 예제에서는 클래스 또는 클래스 인스턴스를 가리킬 수 있는 약한 형식의 RefToAnyClass 참조와 ClassX 클래스 또는 인스턴스만 가리킬 수 있는 RefToClassX 참조를 설명합니다.
class MyClass
{
object ref RefToAnyClass; // Weakly typed
ClassX ref RefToClassX; // Strongly typed
};
다음 예제에서는 이전 인스턴스를 참조하는 두 개의 인스턴스와 연결 개체에 대해 설명합니다.
#pragma namespace("\\\\.\\root")
instance of __Namespace
{
Name = "WMI" ;
} ;
#pragma namespace("\\\\.\\root\\WMI")
Class A{
[key] string aKey;
};
Class C{
[key] string cKey;
};
// The following class creates an association
// between the "A" class and the "C" class
[Association] Class B{
[key] A ref aRef;
[Key, Min(1)] C ref cRef;
};
instance of a
{
aKey = "This is the key for the A class";
};
instance of c
{
cKey = "This is the key for the c class";
};