Freigeben über


Provider::ExecMethod(constCInstance&,constBSTR,CInstance*,CInstance*,long)-Methode (provider.h)

[Die Provider-Klasse ist Teil des WMI-Provider-Frameworks, das nun als endgültig betrachtet wird, und es sind keine weiteren Entwicklungen, Verbesserungen oder Updates für nicht sicherheitsrelevante Probleme verfügbar, die diese Bibliotheken betreffen. Die MI-APIs sollten für alle Neuentwicklungen verwendet werden.]

Die ExecMethod-Methode wird von WMI aufgerufen, um eine Methode für eine Klasse oder instance aufzurufen.

Syntax

HRESULT ExecMethod(
  [ref] const CInstance & cInstance,
        const BSTR        bstrMethodName,
        CInstance         *pInParams,
        CInstance         *pOutParams,
        long              lFlags
);

Parameter

[ref] cInstance

Schlüsseleigenschaften des betreffenden instance, wenn der Client eine instance-Methode aufgerufen hat. Wenn der Client eine statische Methode aufgerufen hat, enthält Instance ein Klassenobjekt.

bstrMethodName

Name der methode, die aufgerufen wird.

pInParams

Zeiger auf die Methodeneingabeparameter.

pOutParams

Zeiger auf die Methodenausgabeparameter.

lFlags

Bitmaske von Flags mit Informationen zum Vorgang der Ausführungsmethode. Dies ist der vom Client in der IWbemServices::ExecMethod-Methode angegebene Wert. Nur wenige Clients verwenden die lFlags-Parameter . Sie können lFlags in den meisten Anbieterimplementierungen sicher ignorieren.

Das folgende Flag wird von WMI behandelt (und herausgefiltert):

  • WBEM_FLAG_RETURN_IMMEDIATELY

Rückgabewert

Die Standardframeworkanbieterimplementierung dieser Methode gibt WBEM_E_PROVIDER_NOT_CAPABLE an die aufrufende Methode zurück. Die IWbemServices::ExecMethod-Methode listet die häufigsten Rückgabewerte auf, obwohl Sie auswählen können, dass jeder COM-Rückgabecode zurückgegeben werden soll.

Rückgabewerte für Methoden können einer von zwei Typen sein:

  • HRESULT wird verwendet, um WMI-Typfehler anzugeben: WBEM_E_OUT_OF_MEMORY, WBEM_E_NOT_FOUND usw.
  • Der Rückgabewert der -Methode (z . B. uint32) gibt das Ergebnis der -Methode zurück.

Hinweise

WMI ruft ExecMethod auf, wenn ein Client IWbemServices::ExecMethod für Ihre Klasse aufruft. Daher müssen Sie ExecMethod implementieren, wenn Ihr Anbieter mindestens eine Methode unterstützt. In der folgenden Liste wird eine gängige Implementierung von ExecMethod beschrieben:

  1. Ermitteln Sie, welche Methode der Client aufgerufen hat, indem Sie den Parameter bstrMethodName untersuchen.
  2. Rufen Sie die Eingabeparameter aus dem pInParams-Parameter mithilfe der Get-Methoden der CInstance-Klasse ab, z. B. CInstance::GetCHString.

    Eine Methode kann Eingabeparameter, Ausgabeparameter, Eingabe- und Ausgabeparameter oder keine Eingabe- oder Ausgabeparameter aufweisen.

  3. Legen Sie die Ausgabeparameter im pOutParams-Parameter mithilfe der Set-Methoden der CInstance-Klasse fest, z. B . CInstance::SetByte oder CInstance::SetStringArray.

    Zusätzlich zum Deklarieren der [out]-Eigenschaften wie in der Rückgabedeklaration angegeben, müssen Sie auch den Rückgabewert für die Methode deklarieren, wie in der ReturnValue-Eigenschaft definiert. Sie müssen keinen Rückgabewert deklarieren, wenn der Rückgabewert ungültig ist.

Weitere Informationen finden Sie unter IWbemServices::ExecMethod.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile provider.h (einschließlich FwCommon.h)
Bibliothek FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll