共用方式為


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_MODEWBEM_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 autorecover 語句不存在的警告。 此語句應該是 MOF 檔案的第一行。

備註

如果User參數的格式為 <domain\user> ,則 Authority參數必須是Null

規格需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemcli.h (包含 Wbemidl.h)
程式庫 Wbemuuid.lib
Dll Mofd.dll

另請參閱

IMofCompiler

WBEM_CHANGE_FLAG_TYPE

WBEM_COMPILER_OPTIONS

mofcomp