Freigeben über


IWbemServices::ExecMethod-Methode (wbemcli.h)

Die IWbemServices::ExecMethod-Methode führt eine Methode aus, die von einem CIM-Objekt exportiert wird. Der Methodenaufruf wird an den entsprechenden Anbieter weitergeleitet, in dem er ausgeführt wird. Informationen und status werden an den Aufrufer zurückgegeben, der blockiert wird, bis der Aufruf abgeschlossen ist.

Methoden werden nicht direkt von der Windows-Verwaltung implementiert, sondern von Methodenanbietern exportiert. Für jede cim-Klasse müssen die verfügbaren Methoden und ihre Parameter in der Dokumentation für den betreffenden Anbieter angegeben werden.

Weitere Informationen zum Ausführen von Methoden finden Sie unter Aufrufen einer Methode.

Syntax

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

Parameter

[in] strObjectPath

Gültiger BSTR , der den Objektpfad des Objekts enthält, für das die -Methode ausgeführt wird.

[in] strMethodName

Der Name der Methode für das Objekt.

[in] lFlags

Dieser Parameter kann auf 0 festgelegt werden, um dies zu einem synchronen Aufruf zu machen. Um dies zu einem semisynchronen Aufruf zu machen, legen Sie lFlags auf WBEM_FLAG_RETURN_IMMEDIATELY fest, geben Einen gültigen Zeiger für den ppCallResult-Parameter an, und dieser Aufruf wird sofort zurückgegeben. Weitere Informationen finden Sie unter Aufrufen einer Methode.

[in] pCtx

Normalerweise NULL; Andernfalls ist dies ein Zeiger auf ein IWbemContext-Objekt , das vom Anbieter verwendet werden kann, der die -Methode ausführt. Die Werte im Kontextobjekt müssen in der Dokumentation für den betreffenden Anbieter angegeben werden. Weitere Informationen zu diesem Parameter finden Sie unter Tätigen von Aufrufen von WMI.

[in] pInParams

Kann NULL sein, wenn zum Ausführen der Methode keine Parameter erforderlich sind. Andernfalls verweist dies auf ein IWbemClassObject , das die Eigenschaften enthält, die als eingehende Parameter für die Methodenausführung fungieren. Der Inhalt des Objekts ist methodenspezifisch und Teil der Spezifikation für den betreffenden Anbieter. Weitere Informationen zum Erstellen von Eingabeparametern finden Sie unter Erstellen von Parameterobjekten in C++.

[out] ppOutParams

Wenn nicht NULL, empfängt einen Zeiger auf die ausgehenden Parameter und gibt Werte für die Methodenausführung zurück. Der Inhalt dieses Objekts ist methodenspezifisch und Teil der Spezifikation für den betreffenden Anbieter. Der Aufrufer muss Release für das zurückgegebene Objekt aufrufen, wenn es nicht mehr erforderlich ist.

[out] ppCallResult

Wenn NULL, wird dies nicht verwendet. Wenn ppCallResult angegeben ist, muss beim Eintrag auf NULL gezeigt werden. In diesem Fall wird der Aufruf sofort mit WBEM_S_NO_ERROR zurückgegeben. Der ppCallResult-Parameter empfängt einen Zeiger auf ein neues IWbemCallResult-Objekt , das abgefragt werden muss, um das Ergebnis der Methodenausführung mithilfe der GetCallStatus-Methode abzurufen. Die out-Parameter für den Aufruf sind durch Aufrufen von IWbemCallResult::GetResultObject verfügbar.

Rückgabewert

Diese Methode gibt ein HRESULT zurück, das den Status des Methodenaufrufs angibt. Die folgende Liste listet den Wert auf, der in einem HRESULT enthalten ist.

Bei Einem Fehler können Sie alle verfügbaren Informationen von der COM-Funktion GetErrorInfo abrufen.

COM-spezifische Fehlercodes können auch zurückgegeben werden, wenn Netzwerkprobleme dazu führen, dass die Remoteverbindung mit der Windows-Verwaltung verloren geht.

Hinweise

Wenn ppOutParams nicht NULL ist, kann der Client den Rückgabewerttyp der Methode bestimmen, indem er die ReturnValue-Eigenschaft des Objekts untersucht, auf das von ppOutParams verwiesen wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wbemcli.h (include Wbemidl.h)
Bibliothek 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

Weitere Informationen

Aufrufen einer Methode

IWbemCallResult::GetResultObject

IWbemServices

IWbemServices::ExecMethodAsync