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.
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 |