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 |