IMofCompiler::CompileBuffer 方法 (wbemcli.h)

IMofCompiler::CompileBuffer 方法會編譯包含二進位MOF數據的緩衝區或 ASCII 格式的文字緩衝區。 二進位MOF檔案包含已剖析的數據,而且必須儲存在資料庫中。 CompileBuffer 方法只接受多位元組位元陣列, (字串緩衝區) 不是 NULL 終止。

語法

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
);

參數

[in] BuffSize

pBuffer 參數所指向的數據大小。

[in] pBuffer

二進位MOF檔案數據的指標,或ASCII格式的文字緩衝區。

[in] ServerAndNamespace

伺服器和命名空間的名稱。

除非 pBuffer 參數指向文字緩衝區,否則會忽略此參數。 如果在沒有 #pragma 語句的情況下傳遞MOF文字,則MOF檔案會編譯成預設命名空間。 如果 pBuffer 指向二進位 MOF 檔案, 則 ServerAndNamespace 參數必須是 NULL

[in] User

要求服務的用戶名稱。

此參數會指定在遠端電腦上編譯的認證。 如果值為 NULL,則用戶內容就是使用目前進程的任何內容。 線上到本機電腦時,一律會忽略此動作。 如需詳細資訊,請參閱<備註>一節。

[in] Authority

指定在遠端電腦上編譯的認證。 如果值為 NULL,則授權單位內容是目前進程正在使用的任何內容。 連接到本機計算機時,一律會忽略此參數。 如需詳細資訊,請參閱<備註>一節。

[in] Password

指定在遠端電腦上編譯的認證。 如果值為 NULL,則會使用目前內容的密碼。 連接到本機計算機時,一律會忽略此參數。

[in] lOptionFlags

您可以結合下列一或多個旗標。

WBEM_FLAG_CHECK_ONLY

只執行語法檢查。

WBEM_FLAG_AUTORECOVER

如果方法成功,它會將檔名新增至要在自動資料庫復原期間編譯的檔案清單。

此旗標無法與命名空間、類別或實例旗標結合。

WBEM_FLAG_CONSOLE_PRINT

將各種有用的訊息傳送至主控台。

WBEM_FLAG_DONT_ADD_TO_LIST

防止在自動資料庫復原期間將檔案新增至要編譯的檔案清單。

此旗標與 WBEM_FLAG_AUTORECOVER不相容。

[in] lClassFlags

因為二進位MOF檔案已經包含資訊,所以會忽略此參數。 參數值應該是 0。

[in] lInstanceFlags

忽略,因為二進位MOF檔案已經包含資訊。 參數值應該是 0。

[in, out] pInfo

描述錯誤的 WBEM_COMPILE_STATUS_INFO 指標。

如果參數值不是 NULL,則發生錯誤,且結構會填入錯誤資訊。

傳回值

如果成功,這個方法會 傳回WBEM_S_NO_ERROR 。 如果方法失敗,則會 傳回WBEM_S_FALSE

備註

如果 User 參數採用 domain\user> 格式<,Authority 參數必須是 NULL

二進位MOF數據可由 CreateBMOF 方法產生,它會將二進位MOF資料儲存到可在呼叫 CompileBuffer 方法之前讀取的檔案。

規格需求

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

另請參閱

IMofCompiler

WBEM_COMPILER_OPTIONS