描述
IMofCompiler.CreateBMOF方法创建二进制MOF文件。文件创建通过解析常规MOF文件并将类和实例的二进制表示存储为特殊文件格式来实现。通常,该数据二进制大对象(BLOB)被作为资源存储在可执行文件中,这可以随后被提取用于调用CompileBuffer方法。
C++ 语法
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 ); |
PowerBASIC 语法
METHOD CreateBMOF ( _ BYVAL TextFileName AS WSTRINGZ PTR, _ BYVAL BMOFFileName AS WSTRINGZ PTR, _ BYVAL ServerAndNamespace AS WSTRINGZ PTR, _ BYVAL lOptionFlags AS LONG, _ BYVAL lClassFlags AS LONG, _ BYVAL lInstanceFlags AS LONG, _ BYREF pInfo AS LONG _ ) AS LONG |
参数
TextFileName
要解析的文本文件的名称。
BMOFFileName
要存储生成的二进制MOF数据的文件的名称。
ServerAndNamespace
默认命名空间的路径,其中写入了类或实例。
您可以使用此参数在远程计算机上指定命名空间(例如\\\\ computer \\ root)。该值可能被的#pragma命令覆盖,如果使用自动恢复,则不应使用此值。如果参数值为NULL,则本地计算机上的root \\ default命名空间是默认值。
lOptionFlags
您可以组合一个或多个以下标志。
值 |
含义 |
WBEM_FLAG_CHECK_ONLY |
只执行语法检查。 |
WBEM_FLAG_CONSOLE_PRINT |
向控制台发送各种有用的消息。 |
WBEM_FLAG_WMI_CHECK |
使用WMIMOFCHK程序对Windows生成的二进制MOF文件执行附加检查,该程序是Windows SDK的WMI部分的一部分。 |
lClassFlags
控制类创建的标志。参数值可以是0或以下标志的组合。
值 |
含义 |
WBEM_FLAG_UPDATE_ONLY |
防止创建一个类。
您可以将此标志与WBEM_FLAG_UPDATE_SAFE_MODE或WBEM_FLAG_UPDATE_FORCE_MODE组合。 |
WBEM_FLAG_CREATE_ONLY |
只允许创建类。
您不能将此标志与其他标志组合。 |
WBEM_FLAG_UPDATE_SAFE_MODE |
更新类,除非存在冲突。
您可以将此标志与WBEM_FLAG_UPDATE_ONLY组合。 |
WBEM_FLAG_UPDATE_FORCE_MODE |
尽可能更新并解决冲突。使用强制模式更新静态类会导致删除该类的所有实例。提供程序类上的强制更新不会删除该类的实例。
您可以将此标志与llnstanceFlags组合。 |
lInstanceFlags
控制实例创建的标志。
参数值可以是0或以下标志之一。
值 |
含义 |
WBEM_FLAG_UPDATE_ONLY |
只允许更新。 |
WBEM_FLAG_CREATE_ONLY |
仅允许新实例。 |
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。
要求
客户 |
需要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。 |