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 |