共用方式為


在 C++ 中建立 Parameters 物件

IWbemServices::ExecMethodExecMethodAsync方法需要__PARAMETERS系統類別作為pInParams中執行的方法具有任何輸入引數的容器。

下列程式描述如何建立 __PARAMETERS 系統類別的實例,以保存參數資訊。

若要建立 __PARAMETERS 的實例

  1. 判斷包含方法定義之類別的類別路徑。

  2. 使用從IWbemProviderInit::Initialize傳入的類別路徑和IWbemServices指標,呼叫IWbemClassObject::GetMethod來擷取輸入和輸出參數類別。

    GetMethod方法會傳回IWbemClassObject指標,以存取每個類別。

  3. 使用輸出類別的 IWbemClassObject 指標,呼叫 IWbemClassObject::SpawnInstance 來建立 類別的實例。

  4. 藉由設定對應至輸出值的屬性來填入類別實例,如果方法有傳回值, 則為 ReturnValue 屬性。

  5. 透過IWbemObjectSink::Indicate方法,將__PARAMETERS實例傳回呼叫端。

在方法提供者判斷輸入參數正確之後, strMethodName 所指向的方法可能仍會通過或失敗。 某些方法提供者會繁衍第二個執行緒來實作 方法,讓方法的實際成功或失敗最終會透過 IWbemObjectSink::SetStatus向呼叫端回報。 請注意, IWbemObjectSink::SetStatus 不會接收提供者方法的傳回碼。 不過,它會收到實際呼叫傳回機制的傳回碼,而且只適用于驗證呼叫發生或因機械原因而失敗。

呼叫方法

IWbemCallResult::GetResultObject

IWbemServices::ExecMethodAsync

IWbemServices::ExecMethod