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

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

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

MOF 코드를 사용하여 클래스의 기본 인스턴스를 선언하려면

  1. 키워드 인스턴스 뒤에 클래스 이름, 중괄호 및 세미콜론을 사용합니다.

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

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

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

클래스의 인스턴스에는 클래스의 모든 속성이 포함됩니다. 클래스가 파생 클래스인 경우 인스턴스에는 계층 구조에서 상위 클래스의 모든 클래스에 속하는 속성이 포함됩니다. 인스턴스가 만들어지는 각 클래스에는 하나 이상의 키 속성이 있습니다. 키가 256개 이상인 인스턴스는 만들 수 없습니다.

인스턴스 속성 값 설정

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

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

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

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

    다음 코드 예제에서는 속성 값을 설정하는 방법을 보여줍니다.

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

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

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

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

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

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

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

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