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 |