MOF를 사용하여 인스턴스 만들기

MOF(Managed Object Format)를 사용하여 Windows Management 서비스에서 클래스의 기본 인스턴스를 선언할 수 있습니다. 인스턴스의 기본값을 재정의할 수도 있습니다. 자세한 내용은 인스턴스 속성 값 설정을 참조하세요.

다음 절차에서는 MOF 코드를 사용하여 클래스의 기본 인스턴스를 선언하는 방법을 설명합니다.

MOF 코드를 사용하여 클래스의 기본 인스턴스를 선언하는 방법

  1. Instance of 뒤에 클래스 이름을 중괄호로 묶은 다음 세미콜론을 붙인 키워드를 사용합니다.

    다음 코드 예제에서는 클래스의 인스턴스를 선언하는 방법을 확인할 수 있습니다.

    instance of ClassName
    {
    };
    
  2. 완료되면 MOF 컴파일러를 사용하여 MOF 코드를 WMI 리포지토리에 삽입합니다.

    자세한 내용은 MOF 파일 컴파일을 참조하세요.

클래스의 인스턴스에는 클래스의 모든 속성이 포함됩니다. 클래스가 파생 클래스인 경우 인스턴스에는 더 높은 계층에 있는 모든 클래스에 속하는 속성이 포함됩니다. 인스턴스가 생성되는 각 클래스에는 하나 이상의 키 속성이 있습니다. 키가 256개를 초과하는 인스턴스는 만들 수 없습니다.

인스턴스 속성 값 설정

WMI는 속성을 강력하게 형식화하므로 속성 형식을 수정할 수는 없습니다. 그러나 인스턴스에서 속성 값을 설정할 수는 있습니다. 클래스가 속성에 기본값을 할당하면, WMI는 각 인스턴스에 기본값을 할당합니다. 인스턴스 선언에서 이 값을 재정의할 수 있습니다.

다음 절차에서는 MOF 코드를 사용하여 속성 값을 설정하거나 기본값을 덮어쓰는 방법을 설명합니다.

MOF 코드를 사용하여 속성 값을 설정하거나 기본값을 덮어쓰는 방법

  1. 인스턴스 선언의 중괄호 사이에 할당 문을 배치합니다.

    다음 코드 예제에서는 속성 값을 설정하는 방법을 확인할 수 있습니다.

    instance of ClassName
    {
        Prop = "value";
    };
    

    WMI에서는 인스턴스를 만드는 동안 어떤 속성도 설정할 필요가 없습니다. 한정자를 사용하여 표시한 속성은 예외입니다. WMI는 키 속성을 사용하여 인스턴스를 고유하게 식별하므로, 이러한 인스턴스를 발견했다면 모든 키 속성을 설정해야 합니다. 반대로 인스턴스 선언에서는 시스템 속성을 설정해선 안 됩니다. 대신 WMI는 필요한 경우 시스템 속성에 적절한 값을 할당합니다.

  2. 완료되면 MOF 컴파일러 호출을 사용하여 MOF 코드를 WMI 리포지토리에 삽입합니다.

    자세한 내용은 MOF 파일 컴파일을 참조하세요.

다음 코드 예제에서는 클래스에서 정의한 속성에 대한 데이터를 인스턴스가 지정하는 방법을 확인할 수 있습니다.

class MyClass 
{
    [key] string   strProp;
    sint32   dwProp1;
    uint32       dwProp2;
};

instance of MyClass 
{
    strProp = "hello";
    dwProp1 = -1;
    dwProp2 = 0xffffffff;
};

앞의 예제에서 클래스는 문자열, 32비트 부호 있는 정수 및 32비트 부호 없는 정수라는 세 가지 속성을 정의합니다. 인스턴스는 이러한 각 속성에 대한 데이터 값을 제공합니다.