WbebemServices::ExecMethod 方法 (wbemcli.h)

IWbemServices::ExecMethod方法會執行 CIM 物件所匯出的方法。 方法呼叫會轉送到其執行所在的適當提供者。 資訊和狀態會傳回給呼叫端,直到呼叫完成為止。

方法不是由 Windows 管理直接實作,而是由方法提供者匯出。 對於任何指定的 CIM 類別,必須在有問題的提供者檔中指定可用的方法和其參數。

如需執行方法的詳細資訊,請參閱 呼叫方法

語法

HRESULT ExecMethod(
  [in]  const BSTR       strObjectPath,
  [in]  const BSTR       strMethodName,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [in]  IWbemClassObject *pInParams,
  [out] IWbemClassObject **ppOutParams,
  [out] IWbemCallResult  **ppCallResult
);

參數

[in] strObjectPath

有效的 BSTR ,包含執行方法之 物件的物件路徑

[in] strMethodName

物件的方法名稱。

[in] lFlags

這個參數可以設定為 0,以便進行同步呼叫。 若要將此設為半同步呼叫,請將 lFlags 設定為 WBEM_FLAG_RETURN_IMMEDIATELY、提供 ppCallResult 參數的有效指標,並立即傳回此呼叫。 如需詳細資訊,請參閱 呼叫方法

[in] pCtx

通常 為 Null;否則,這是執行 方法之提供者可能使用的 IWbemCoNtext 物件的指標。 內容物件中的值必須在有問題的提供者檔中指定。 如需此參數的詳細資訊,請參閱 呼叫 WMI

[in] pInParams

如果不需要任何參數才能執行 方法,則可為 Null 。 否則,這會指向 IWbemClassObject ,其中包含做為方法執行輸入參數的屬性。 物件的內容是方法特定的,而且是有問題的提供者規格的一部分。 如需建構輸入參數的詳細資訊,請參閱 在 C++ 中建立 Parameters 物件

[out] ppOutParams

如果不是 Null,則會收到輸出參數的指標,並傳回方法執行的值。 這個物件的內容是方法特定的,而且是有問題的提供者規格的一部分。 當不再需要時,呼叫端必須在傳回的物件上呼叫 Release

[out] ppCallResult

如果 為 Null,則不會使用這個值。 如果指定 ppCallResult ,則必須將其設定為在進入時指向 Null 。 在此情況下,呼叫會立即傳回 WBEM_S_NO_ERRORppCallResult參數會收到新IWbemCallResult物件的指標,必須輪詢該物件,才能使用GetCallStatus方法取得方法執行的結果。 呼叫 IWbemCallResult::GetResultObject即可取得呼叫的 out 參數。

傳回值

這個方法會傳回 HRESULT ,指出方法呼叫的狀態。 下列清單列出 HRESULT中包含的值。

失敗時,您可以從 COM 函式 GetErrorInfo取得任何可用的資訊。

如果網路問題造成您遺失與 Windows 管理的遠端連線,也可能傳回 COM 特定的錯誤碼。

備註

如果ppOutParams不是Null,用戶端可以檢查ppOutParams所指向物件的ReturnValue屬性,以判斷方法的傳回數值型別。

規格需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemcli.h (包含 Wbemidl.h)
程式庫 Wbemuuid.lib
Dll Fastprox.dll;Esscli.dll;FrameDyn.dll;FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll

另請參閱

呼叫方法

IWbemCallResult::GetResultObject

IWbemServices

IWbemServices::ExecMethodAsync