编译驱动程序的 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 对象存储库进行任何修改。
若要详细了解如何使用 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_REGINFO 和 IRP_MN_REGINFO_EX 请求的详细信息,请参阅 注册为 WMI 数据提供程序。
有关使用 WMI iibrary 例程处理 WMI IRP 的详细信息,请参阅 处理 WMI 请求。
有关在可执行文件中定义和包含资源的详细信息,请参阅Microsoft Windows SDK。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈