IMofCompiler::CompileBuffer 方法 (wbemcli.h)

IMofCompiler::CompileBuffer 方法编译包含二进制 MOF 数据的缓冲区或 ASCII 格式的文本缓冲区。 二进制 MOF 文件包含分析的数据,必须存储在数据库中。 CompileBuffer 方法仅接受多字节字符数组, (字符串缓冲区) 不以 NULL 结尾。

语法

HRESULT CompileBuffer(
  [in]      long                     BuffSize,
  [in]      BYTE                     *pBuffer,
  [in]      LPWSTR                   ServerAndNamespace,
  [in]      LPWSTR                   User,
  [in]      LPWSTR                   Authority,
  [in]      LPWSTR                   Password,
  [in]      LONG                     lOptionFlags,
  [in]      LONG                     lClassFlags,
  [in]      LONG                     lInstanceFlags,
  [in, out] WBEM_COMPILE_STATUS_INFO *pInfo
);

参数

[in] BuffSize

pBuffer 参数指向的数据的大小。

[in] pBuffer

指向二进制 MOF 文件数据或 ASCII 格式的文本缓冲区的指针。

[in] ServerAndNamespace

服务器和命名空间的名称。

除非 pBuffer 参数指向文本缓冲区,否则将忽略此参数。 如果在不带 #pragma 语句的情况下传递文本 MOF,则将 MOF 文件编译为默认命名空间。 如果 pBuffer 指向二进制 MOF 文件,则 ServerAndNamespace 参数必须为 NULL

[in] User

请求服务的用户的名称。

此参数指定用于在远程计算机上进行编译的凭据。 如果值为 NULL,则用户上下文是当前进程使用的任何内容。 连接到本地计算机时,始终忽略这一点。 有关详细信息,请参见“备注”部分。

[in] Authority

指定用于在远程计算机上进行编译的凭据。 如果值为 NULL,则颁发机构上下文是当前进程使用的任何内容。 连接到本地计算机时,始终忽略此参数。 有关详细信息,请参见“备注”部分。

[in] Password

指定用于在远程计算机上进行编译的凭据。 如果值为 NULL,则使用当前上下文的密码。 连接到本地计算机时,始终忽略此参数。

[in] lOptionFlags

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

WBEM_FLAG_CHECK_ONLY

仅执行语法检查。

WBEM_FLAG_AUTORECOVER

如果方法成功,则会将文件名添加到自动数据库恢复期间要编译的文件列表中。

此标志不能与命名空间、类或实例标志组合使用。

WBEM_FLAG_CONSOLE_PRINT

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

WBEM_FLAG_DONT_ADD_TO_LIST

防止在自动数据库恢复期间将文件添加到要编译的文件列表中。

此标志与 WBEM_FLAG_AUTORECOVER 不兼容。

[in] lClassFlags

此参数被忽略,因为二进制 MOF 文件已包含信息。 参数值应为 0。

[in] lInstanceFlags

忽略,因为二进制 MOF 文件已包含信息。 参数值应为 0。

[in, out] pInfo

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

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

返回值

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

注解

如果 User 参数采用 domain\user> 的形式<,则 Authority 参数必须为 NULL

二进制 MOF 数据可由 CreateBMOF 方法生成,该方法将二进制 MOF 数据存储到可在调用 CompileBuffer 方法之前读取的文件。

要求

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

另请参阅

IMofCompiler

WBEM_COMPILER_OPTIONS