다음을 통해 공유


지역화된 MOF 파일 컴파일

마스터 MOF 파일을 컴파일하여 언어 중립적 및 언어별 MOF 파일을 만들어야 합니다.

명령 프롬프트에 다음 명령을 입력하여 마스터 MOF 파일을 컴파일합니다.

mofcomp -MOF:Lnmof.mof -MFL:Lsmof.mfl -Amendment:MS_409 Mastermof.mof

이 명령을 실행하면 MOF 컴파일러는 원래 Mastermof.mof 파일을 이용해 두 개의 MOF 파일을 만듭니다. MOF 컴파일러는 모든 언어별 항목이 제거되는 언어 중립적 버전인 Lnmof.mof를 생성합니다. 두 번째 언어별 버전인 Lsmof.mof도 생성됩니다. 이 파일에는 Mastermof.mof 파일에서 Amended 한정자 특성으로 표시된 항목만 포함됩니다.

다음 코드 예제에서는 생성된 언어 중립적 MOF 파일(Lnmof.mof)의 내용을 확인할 수 있습니다.

#pragma namespace("\\\\.\\root")

Instance of __Namespace
{
  Name = "TEST";
};
#pragma namespace("\\\\.\\root\\TEST")

[LOCALE(1033)] 
class myclass
{
  [key] string Name;
  uint64 Value;
  uint64 Timestamp;
};

다음 코드 예제에서는 생성된 언어별 MOF 파일(Lsmof.mfl)의 내용을 확인할 수 있습니다.

#pragma namespace("\\\\.\\root\\TEST")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\TEST\\ms_409")

[Description("Localized version of MyClass for American English") :
    Amended, LOCALE(0x409)] 

class myclass
{
    [DisplayName("User Name") : Amended,
    Description("The Name property contains the name of the user") : 
    Amended, key]
     string Name;

    [DisplayName("Time Stamp") : Amended,
    Description("This property shows when the object was created") : 
    Amended] 
     uint64 Timestamp;
};

Amended 한정자를 사용하여 MOF 파일을 컴파일하면 별도의 언어 중립적 및 언어별 MOF 파일만 생성됩니다. CIM 리포지토리가 새 클래스 정보를 이용해 업데이트되지는 않습니다. WMI에 클래스 정보를 사용할 수 있으려면 먼저 첫 번째 컴파일에서 생성된 두 개의 MOF 파일을 MOF 컴파일러를 이용해 컴파일해야 합니다.

마스터 MOF 파일을 컴파일할 때는 Amended 특성이 있는 한정자만 언어별 MOF 파일로 이동합니다. Amended 특성이 없는 한정자는 지역화되지 않으며 언어 중립적 MOF 파일의 기본 클래스 정의에만 존재합니다. 지역화된 설명을 사용할 수 없는 경우 지역화되지 않은 한정자를 기본 설명에 사용할 수 있습니다.

MOF 컴파일러로의 전환으로 Amended를 지정하는 대신 pragma amendment 명령을 사용할 수도 있습니다. 두 옵션 모두 MOF 파일의 언어별 및 언어 중립적 버전을 요청하는 것과 같습니다. pragma amendment 명령이나 Amended 명령줄 옵션을 사용하는 경우, 명령 프롬프트에서 -MFL-MOF 옵션을 사용하여 출력 파일의 이름을 지정해야 합니다.

참고

MOF 컴파일러에서 생성하는 언어 중립적 MOF 파일에는 (이 값이 16진수로 입력된 경우에도) 로캘 ID에 대응하는 10진수가 포함됩니다. 위의 예제에서 컴파일러는 0x409 값을 Lnmof.mof 출력 파일의 1033 10진수로 변환했습니다.