Freigeben über


IWbemClassObject::P utMethod-Methode (wbemcli.h)

Das IWbemClassObject::P utMethod wird verwendet, um eine Methode zu erstellen. Dieser Aufruf wird nur unterstützt, wenn das aktuelle Objekt eine CIM-Klassendefinition ist. Die Methodenbearbeitung ist über IWbemClassObject-Zeiger, die auf CIM-Instanzen verweisen, nicht möglich.

Der Benutzer kann keine Methoden mit Namen erstellen, die mit einem Unterstrich beginnen oder enden. Dies ist für Systemklassen und -eigenschaften reserviert.

Syntax

HRESULT PutMethod(
  [in] LPCWSTR          wszName,
  [in] long             lFlags,
  [in] IWbemClassObject *pInSignature,
  [in] IWbemClassObject *pOutSignature
);

Parameter

[in] wszName

Der Methodenname, der erstellt wird.

[in] lFlags

Reserviert. Dieser Parameter muss 0 (null) sein.

[in] pInSignature

Ein Zeiger auf eine Kopie der __Parameters Systemklasse, die die in-Parameter für die -Methode enthält. Dieser Parameter wird ignoriert, wenn er auf NULL festgelegt ist.

[in] pOutSignature

Ein Zeiger auf eine Kopie der __Parameters Systemklasse, die die out-Parameter für das -Objekt enthält. Dieser Parameter wird ignoriert, wenn er auf NULL festgelegt ist.

Rückgabewert

Diese Methode gibt ein HRESULT zurück, das den Status des Methodenaufrufs angibt. In der folgenden Liste ist der in einem HRESULT enthaltene Wert aufgeführt. Allgemeine HRESULT-Werte finden Sie unter Systemfehlercodes.

Hinweise

Für eine Methode werden die Parameter "in" und "out" als Eigenschaften in IWbemClassObject-Objekten beschrieben.

Betrachten Sie beispielsweise die folgende Methode:

Class MyClass{
    [key] string KeyVal;
    sint32 PropVal;
    sint32 ExampleMethod([in] sint32 Param1, [in] uint32 Param2, 
        [out] string Param3);
    HRESULT ReturnValue;
};

Im vorherigen Beispiel verfügt die -Klasse über eine -Methode. Um die Methode programmgesteuert zu erstellen, ruft der Benutzer IWbemClassObject::P utMethod mit dem Parameter pInSignature auf, der auf eine Kopie der Systemklasse __Parameters zeigt, die zwei Eigenschaften enthält: Param1 und Param2. pOutSignature verweist auf eine Kopie der Systemklasse __Parameters, die zwei Eigenschaften enthält: Param3 und ReturnValue.

Die ReturnValue-Eigenschaft des Objekts, auf das pOutSignature verweist, bestimmt den Rückgabetyp der Methode. Wenn pOutSignature auf NULL festgelegt ist, wird angenommen, dass der Rückgabetyp VOID ist.

Ein [in/out]-Parameter kann definiert werden, indem die gleiche Eigenschaft zu beiden Objekten hinzugefügt wird, auf die durch die Parameter pInSignature und pOutSignature verwiesen wird. In diesem Fall verwenden die Eigenschaften denselben ID-Qualifiziererwert.

Jede Eigenschaft in einem __Parameters Klassenobjekt außer ReturnValue muss über einen ID-Qualifizierer verfügen, einen nullbasierten numerischen Wert, der die Reihenfolge identifiziert, in der die Parameter angezeigt werden. In diesem Beispiel wäre Param1 0, Param2 1 und Param3 2. Keine zwei Parameter dürfen denselben ID-Wert haben, und kein ID-Wert darf übersprungen werden. Wenn eine bedingung auftritt, gibt IWbemClassObject::P utMethodWBEM_E_NONCONSECUTIVE_PARAMETER_IDS zurück.

Hinweis Der Aufrufer muss IWbemClassObject::Release für die pInSignature - und pOutSignature-Zeiger aufrufen, wenn diese Objekte nicht mehr benötigt werden.
 

Anforderungen

Anforderung Wert
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 CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

Weitere Informationen

Erstellen einer Methode

IWbemClassObject

IWbemClassObject::GetMethod