编译驱动程序的 MOF 文件

若要编译定义 WMI 数据和事件块的 MOF 文件,请使用 Microsoft Windows 操作系统附带的 MOF 编译器(称为 Mofcomp)。 使用以下语法:

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

以下项显示在前面的语法中:

-Wmi
验证 filename.mof 中的所有类以用于 WMI。 如果任何类定义无效,Mofcomp 将删除输出文件 filename.bmf。 如果省略 -WMI,则应在 filename.bmf 上运行 Wmimofck 以验证类。 驱动程序必须使用 WMI 开关或运行 Wmimofck 来验证 MOF。 否则可能导致 MOF 文件无法正确加载到 WMI 架构中。

-B:filename.bmf
请求编译器在 filename.bmf 中创建与平台无关的 MOF 文件的二进制版本,而无需对 CIMOM 对象存储库进行任何修改。

filename.mof
指定输入 MOF 文件的名称。

若要详细了解如何使用 Mofcomp,请打开命令提示符窗口并键入 mofcomp /?

有关 Mofcomp 的详细信息,请参阅 Windows SDK 中的 MofComp 和其他主题。

若要将编译的 MOF 文件作为资源包含在驱动程序的二进制映像中,请将以下行添加到驱动程序的资源脚本 (RC) 文件:

MofResource MOFDATAfilename.bmf

驱动程序指定其 MOF 资源名称,以响应注册请求 (参数.WMI.DataPath 设置为 WMIREGISTER) IRP_MN_REGINFO或IRP_MN_REGINFO_EX请求:

  • 如果驱动程序使用 WMI 库例程来处理 WMI IRP,则会在其 DpWmiQueryReginfo 例程中指定 MOF 资源名称。

  • 如果驱动程序直接处理 WMI IRP,它将指定驱动程序传递给 WMI 的 WMIREGINFO 结构中的 MOF 资源名称。

有关处理 IRP_MN_REGINFOIRP_MN_REGINFO_EX 请求的详细信息,请参阅 注册为 WMI 数据提供程序

有关使用 WMI iibrary 例程处理 WMI IRP 的详细信息,请参阅 处理 WMI 请求

有关在可执行文件中定义和包含资源的详细信息,请参阅Microsoft Windows SDK。