描述
IMofCompiler.CompileBuffer方法编译包含二进制MOF数据的缓冲区或ASCII格式的文本缓冲区。二进制MOF文件包含解析的数据,必须存储在数据库中。CompileBuffer方法只接受非NULL终止的多字节字符数组(字符串缓冲区)。
C++ 语法
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 ); |
PowerBASIC 语法
METHID CompileBuffer ( _ BYVAL BuffSize AS LONG, _ BYVAL pBuffer AS BYTE PTR, _ BYVAL ServerAndNamespace AS WSTRINGZ PTR, _ BYVAL User AS WSTRINGZ PTR, _ BYVAL Authority AS WSTRINGZ PTR, _ BYVAL Password AS WSTRINGZ PTR, _ BYVAL lOptionFlags AS LONG, _ BYVAL lClassFlags AS LONG, _ BYVAL lInstanceFlags AS LONG, _ BYREF pInfo AS LONG _ ) AS LONG |
参数
BufferSize
p缓冲器参数指向的数据大小。
pBuffer
指向二进制MOF文件数据或ASCII格式的文本缓冲区。
ServerAndNamespace
服务器和命名空间的名称。
忽略此参数,除非p缓冲器参数指向文本缓冲区。如果文本MOF在没有的#pragma语句的情况下传递,则MOF文件将被编译为默认命名空间。如果p缓冲器指向二进制MOF文件,则ServerAndNamespace参数必须为NULL。
User
请求服务的用户的名称。
此参数指定在远程计算机上编译的凭据。如果值为NULL,则用户上下文是当前进程使用的任何内容。当连接到本地计算机时,这一直被忽略。有关详细信息,请参阅备注部分。
Authority
指定在远程计算机上进行编译的凭据。如果值为NULL,则权限上下文是当前进程使用的任何内容。连接到本地计算机时,始终忽略此参数。有关详细信息,请参阅备注部分。
Password
指定在远程计算机上进行编译的凭据。如果值为NULL,则使用当前上下文的密码。连接到本地计算机时,始终忽略此参数。
lOptionFlags
您可以组合一个或多个以下标志。
值 |
含义 |
WBEM_FLAG_CHECK_ONLY |
只执行语法检查。 |
WBEM_FLAG_AUTORECOVER |
如果方法成功,它会在自动数据库恢复期间将文件名添加到要编译的文件列表中。
该标志不能与命名空间,类或实例标志组合。 |
WBEM_FLAG_CONSOLE_PRINT |
向控制台发送各种有用的消息。 |
WBEM_FLAG_DONT_ADD_TO_LIST |
防止在自动恢复数据库期间将文件添加到要编译的文件列表中。
此标志与WBEM_FLAG_AUTORECOVER不兼容。 |
lClassFlags
该参数被忽略,因为二进制MOF文件已经包含该信息。参数值应为0。
lInstanceFlags
被忽略,因为二进制MOF文件已经包含信息。参数值应为0。
pInfo
指向“C”样式结构,WBEM_COMPILE_STATUS_INFO.
如果参数值不为NULL,则发生错误,并且结构中填有错误信息。
TYPE WBEM_COMPILE_STATUS_INFO
lPhaseError AS LONG ' long lPhaseError
hRes AS LONG ' HRESULT hRes
ObjectNum AS LONG ' long ObjectNum
FirstLine AS LONG ' long FirstLine
LastLine AS LONG ' long LastLine
dwOutFlags AS DWORD ' DWORD dwOutFlags
END TYPE
注意ObjectNum,FirstLine和LastLine仅包含与文件中特定类或实例相关的错误的值。
返回值
如果成功,此方法返回WBEM_S_NO_ERROR。如果方法不成功,则返回WBEM_S_FALSE。
备注
如果用户参数采用形式<域\\用户>,则权威参数必须为NULL。
二进制MOF数据可以由CreateBMOF方法生成,该方法将二进制MOF数据存储到可以在调用CompileBuffer方法之前读取的文件中。
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
头 |
在Wbemcli.inc中声明。 |
DLL |
需要Mofd.dll。 |