Freigeben über


Provider::ExecMethod(ParsedObjectPath*,BSTR,long,CInstance*,CInstance*,MethodContext*)-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(
  ParsedObjectPath *pParsedObjectPath,
  BSTR             bstrMethodName,
  long             lFlags,
  CInstance        *pInParams,
  CInstance        *pOutParams,
  MethodContext    *pContext
);

Parameter

pParsedObjectPath

TBD

bstrMethodName

Name der methode, die aufgerufen wird.

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

pInParams

Zeiger auf die Methodeneingabeparameter.

pOutParams

Zeiger auf die Methodenausgabeparameter.

pContext

TBD

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