다음을 통해 공유


드라이버의 MOF 파일 컴파일

WMI 데이터 및 이벤트 블록을 정의하는 MOF 파일을 컴파일하려면 Microsoft Windows 운영 체제에 포함된 Mofcomp라는 MOF 컴파일러를 사용합니다. 다음 구문을 사용합니다.

 mofcomp -WMI -B:filename.bmf filename.mof

다음 항목은 이전 구문에 표시됩니다.

-WMI
WMI와 함께 사용할 filename.mof 의 모든 클래스의 유효성을 검사합니다. 클래스 정의가 잘못된 경우 Mofcomp는 출력 파일 filename.bmf를 삭제합니다. -WMI를 생략하면 filename.bmf에서 Wmimofck을 실행하여 클래스의 유효성을 검사해야 합니다. 드라이버는 WMI 스위치를 사용하거나 Wmimofck을 실행하여 MOF의 유효성을 검사해야 합니다. 이렇게 하지 않으면 MOF 파일이 WMI 스키마에 올바르게 로드되지 않을 수 있습니다.

-B:filename.bmf
컴파일러가 CIMOM 개체 리포지토리를 수정하지 않고 filename.bmfMOF 파일의 플랫폼 독립적 이진 버전을 만들도록 요청합니다.

filename.mof
입력 MOF 파일의 이름을 지정합니다.

Mofcomp를 사용하는 방법에 대해 자세히 알아보려면 명령 프롬프트 창을 열고 mofcomp /?를 입력합니다.

Mofcomp에 대한 자세한 내용은 Windows SDK의 MofComp 및 기타 항목을 참조하세요.

컴파일된 MOF 파일을 드라이버의 이진 이미지에 리소스로 포함하려면 드라이버의 RC(리소스 스크립트) 파일에 다음 줄을 추가합니다.

MofResource MOFDATA filename.bmf

드라이버는 등록 요청(Parameters.WMI.DataPath가 WMIREGISTER로 설정된 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청에 대한 응답으로 해당 MOF 리소스 이름을 지정합니다.

  • 드라이버가 WMI IRP를 처리하기 위해 WMI 라이브러리 루틴을 사용하는 경우 DpWmiQueryReginfo 루틴에서 MOF 리소스 이름을 지정합니다.

  • 드라이버가 WMI IRP를 직접 처리하는 경우 드라이버가 WMI에 전달하는 WMIREGINFO 구조체에서 MOF 리소스 이름을 지정합니다.

IRP_MN_REGINFO 및 IRP_MN_REGINFO_EX 요청 처리에 대한 자세한 내용은 WMI 데이터 공급자로 등록을 참조하세요.

WMI 라이브러리 루틴을 사용하여 WMI IRP를 처리하는 방법에 대한 자세한 내용은 WMI 요청 처리를 참조 하세요.

실행 파일에서 리소스를 정의하고 포함하는 방법에 대한 자세한 내용은 Microsoft Windows SDK를 참조하세요.