IWbemCallResult::GetCallStatus 方法 (wbemcli.h)
IWbemCallResult::GetCallStatus方法會傳回給使用者目前未完成的半同步撥號狀態。 當此呼叫傳回 WBEM_S_NO_ERROR時, 就會完成對 IWbemServices 方法的原始呼叫。
語法
HRESULT GetCallStatus(
[in] long lTimeout,
[out] long *plStatus
);
參數
[in] lTimeout
指定這個呼叫在傳回之前封鎖的最大時間,以毫秒為單位。 如果您使用常數 WBEM_INFINITE (0xFFFFFFFF) ,呼叫會封鎖,直到原始的半非同步呼叫 IWbemServices 方法完成為止。 如果您使用 0 (零) ,則呼叫會立即傳回撥號狀態。
[out] plStatus
如果 WBEM_S_NO_ERROR 在 HRESULT 中傳回給此方法,此參數將會收到呼叫其中一個 IWbemServices 方法的最終結果狀態: OpenNamespace、 PutInstance、 PutClass、 GetObject、 DeleteInstance、 DeleteClass或 ExecMethod。 發生錯誤時,將不會使用 plStatus 所指向的值。
傳回值
這個方法會傳回 HRESULT ,指出方法呼叫的狀態。 下列清單列出 HRESULT中包含的值。
備註
發生錯誤時,您可以呼叫 COM 函式 GetErrorInfo 以取得更多錯誤資訊。 如果網路問題造成您遺失與 Windows 管理的遠端連線,也可能傳回 COM 特定的錯誤碼。
叫用 IWbemServices 方法半同步之後,您可以隨時呼叫 GetCallStatus 來判斷呼叫是否完成。 在 GetCallStatus傳回WBEM_S_NO_ERROR之後,這表示原始IWbemServices作業完成,可能需要呼叫其他IWbemCallResult方法,才能根據下列規則擷取呼叫的結果:
- 針對 IWbemServices::OpenNamespace,必須呼叫 GetResultServices 方法,才能擷取新的 IWbemServices 指標。
- 針對 IWbemServices::P utInstance,必須呼叫 GetResultString 方法,才能取得指派給物件的物件路徑。
- 針對 IWbemServices::GetObject,必須呼叫 GetResultObject 方法來擷取物件。
- 對於 IWbemServices 方法 DeleteInstance、 DeleteClass和 ExecMethod, GetCallStatus 方法是唯一傳回這些作業相關資訊的呼叫。
規格需求
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemcli.h (包含 Wbemidl.h) |