iMofCompiler::CreateBMOF 方法 (wbemcli.h)

IMofCompiler::CreateBMOF 方法创建二进制 MOF 文件。 文件创建是通过分析常规 MOF 文件并将类和实例的二进制表示形式存储为特殊文件格式来完成的。 通常,此数据二进制大型对象 (BLOB) 作为资源存储在可执行文件中,稍后可以提取该资源以调用 CompileBuffer 方法。 IMofCompiler::CreateBMOF 还可用于创建本地化 MOF 文件 (.mfl) 。

语法

HRESULT CreateBMOF(
  [in]      LPWSTR                   TextFileName,
  [in]      LPWSTR                   BMOFFileName,
  [in]      LPWSTR                   ServerAndNamespace,
  [in]      LONG                     lOptionFlags,
  [in]      LONG                     lClassFlags,
  [in]      LONG                     lInstanceFlags,
  [in, out] WBEM_COMPILE_STATUS_INFO *pInfo
);

参数

[in] TextFileName

要分析的文本文件的名称。

[in] BMOFFileName

二进制 MOF 文件: 要在其中存储生成的二进制 MOF 数据的文件的名称。

本地化的 MOF 文件: BMOFFileName 字符串必须包含以下逗号分隔值:

  • 区域<设置>

    指定区域设置信息。 此值必须以前面的逗号开头。 有关详细信息,请参阅 mofcomp 实用工具的 -ADMENDMENT 开关的说明。

  • n<filename.mof>

    要在其中存储生成的二进制 MOF 数据的文件的名称。

  • l<filename.mfl>

    要在其中存储生成的本地化 MOF 数据的文件的名称。

例如 ,BMOFFileName=“,aMS_409,nmyFile.mof,lmyFile.mfl”。

[in] ServerAndNamespace

默认命名空间的路径,在其中写入类或实例。

可以使用此参数指定远程计算机上的命名空间 (“\computer\root”,例如) 。 此值可能被 #pragma 命令重写,如果使用自动恢复,则不应使用此值。 如果参数值为 NULL,则本地计算机上的 root\default 命名空间为默认值。

[in] lOptionFlags

可以组合以下一个或多个标志。

WBEM_FLAG_CHECK_ONLY

仅执行语法检查。

WBEM_FLAT_CONSOLE_PRINT

将各种有用的消息发送到控制台。

WBEM_FLAG_WMI_CHECK

使用 WMIMOFCHK 程序对生成的二进制 MOF 文件执行其他检查,该程序是Windows SDK WMI 部分的一部分。

[in] lClassFlags

控制类的创建的标志。 参数值可以是 0,也可以是以下标志的组合。

WBEM_FLAG_UPDATE_ONLY

阻止创建类。

可以将此标志与 WBEM_FLAG_UPDATE_SAFE_MODEWBEM_FLAG_UPDATE_FORCE_MODE组合在一起。

WBEM_FLAG_CREATE_ONLY

仅允许创建类。

不能将其与其他标志组合使用。

WBEM_FLAG_UPDATE_SAFE_MODE

除非存在冲突,否则汇报 类。

可以将此标志与 WBEM_FLAG_UPDATE_ONLY合并。

WBEM_FLAG_UPDATE_FORCE_MODE

汇报并尽可能解决冲突。 使用强制模式更新静态类会导致删除该类的所有实例。 强制更新提供程序类不会删除类的实例。

可以将此标志与 lInstanceFlags 组合使用。

[in] lInstanceFlags

控制实例创建的标志。

参数值可以是 0 或以下标志之一。

WBEM_FLAG_UPDATE_ONLY

仅允许更新。

WBEM_FLAG_CREATE_ONLY

仅允许新实例。

[in, out] pInfo

指向描述错误的 WBEM_COMPILE_STATUS_INFO 的指针。

如果参数值不为 NULL,则表示发生了错误,并且结构中填充了错误信息。

返回值

如果成功,此方法将返回 WBEM_S_NO_ERROR 。 如果该方法不成功,则返回 WBEM_S_FALSE

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 wbemcli.h (包括 Wbemidl.h)
Library Wbemuuid.lib
DLL Mofd.dll

另请参阅

IMofCompiler

WBEM_CHANGE_FLAG_TYPE

WBEM_COMPILER_OPTIONS

mofcomp