勇芳软件工作室.汉化:  Windows Management Instrumentation > COM API for WMI > Interfaces > IMofCompiler >

CompileBuffer Method

Previous pageReturn to chapter overviewNext page

描述

 

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

 

注意ObjectNumFirstLineLastLine仅包含与文件中特定类或实例相关的错误的值。

 

返回值

 

如果成功,此方法返回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。