IMofCompiler::CompileFile 方法 (wbemcli.h)
IMofCompiler::CompileFile 方法编译 MOF 文件 (包括二进制 MOF) ,并将信息存储在 WMI 存储库中。 此方法执行与 Mofcomp 命令相同的操作。
语法
HRESULT CompileFile(
[in] LPWSTR FileName,
[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] FileName
要编译的文件的名称。
[in] ServerAndNamespace
写入任何类或实例的默认命名空间的路径。
可以在远程计算机上 (“\computer\root”指定命名空间,例如) 。 此值可由 #pragma 命令重写,如果需要自动恢复,则不应使用此值。 如果 为 NULL,则本地计算机上的 root\default 命名空间为默认值。
[in] User
一个 值,该值指定用于在远程计算机上编译的凭据。 如果值为 NULL,则用户上下文是调用进程使用的任何内容。 连接到本地计算机时,始终忽略这一点。 有关详细信息,请参见“备注”部分。
[in] Authority
一个 值,该值指定用于在远程计算机上进行编译的凭据。 如果值为 NULL,则授权上下文是调用进程使用的任何内容。 连接到本地计算机时,始终忽略这一点。 有关详细信息,请参见“备注”部分。
[in] Password
一个 值,该值指定用于在远程计算机上进行编译的凭据。 如果值为 NULL,则使用当前上下文的密码。 连接到本地计算机时,始终忽略这一点。
[in] lOptionFlags
一个参数,当使用 CompileFile 方法时,启用以下一个或多个标志的组合。
WBEM_FLAG_CHECK_ONLY
仅执行语法检查。
WBEM_FLAG_AUTORECOVER
如果方法成功,请将文件的名称添加到自动数据库恢复期间要编译的文件列表中。
请注意,此标志不能与命名空间、类或实例标志组合使用。
WBEM_FLAG_CONSOLE_PRINT
将各种有用消息发送到控制台。
WBEM_FLAG_DONT_ADD_TO_LIST
防止将文件添加到自动数据库恢复期间编译的文件列表中。
此标志与 WBEM_FLAG_AUTORECOVER 不兼容。
[in] 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 组合在一起。
[in] lInstanceFlags
控制实例创建的标志。
参数值可以是 0 或以下标志之一。
WBEM_FLAG_UPDATE_ONLY
仅允许更新。
WBEM_FLAG_CREATE_ONLY
仅允许新实例。
[in, out] pInfo
指向描述错误的 WBEM_COMPILE_STATUS_INFO 的指针。
如果参数值不为 NULL,则表示发生了错误,并且结构中填充了错误信息。
返回值
此方法可以返回其中一个值。
2
不存在 #pragma 自动恢复 语句的警告。 此语句应是 MOF 文件的第一行之一。
注解
如果 User 参数采用 domain\user> 的形式<,则 Authority 参数必须为 NULL。
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wbemcli.h (包括 Wbemidl.h) |
Library | Wbemuuid.lib |
DLL | Mofd.dll |