Put-Funktion

Legt eine benannte Eigenschaft auf einen neuen Wert fest.

Hinweis

Diese API ist ausschließlich für die interne Verwendung vorgesehen. Sie ist nicht für die Verwendung im Entwicklercode vorgesehen.

Syntax

HRESULT Put (
   [in] int               vFunc,
   [in] IWbemClassObject* ptr,
   [in] LPCWSTR           wszName,
   [in] LONG              lFlags,
   [in] VARIANT*          pVal,
   [in] CIMTYPE           vtType
);

Parameter

vFunc
[in] Dieser Parameter wird nicht verwendet.

ptr
[in] Dies ist ein Zeiger auf eine IWbemClassObject-Instanz.

wszName
[in] Der Name der Eigenschaft. Dieser Parameter darf nicht null sein.

lFlags
[in]: Reserviert Dieser Parameter muss 0 sein.

pVal
[in] Dies ist ein Zeiger auf einen gültigen VARIANT-Wert, der zum neuen Eigenschaftswert wird. Wenn pValnull ist oder auf einen VARIANT-Wert vom Typ VT_NULL verweist, wird die Eigenschaft auf null festgelegt.

vtType
[in] Der Typ des VARIANT-Werts, auf den durch pVal verwiesen wird. Weitere Informationen finden Sie im Abschnitt Hinweise.

Rückgabewert

Die folgenden von dieser Funktion zurückgegebenen Werte werden in der WbemCli.h-Headerdatei definiert, oder Sie können sie als Konstanten im Code definieren:

Konstante Wert BESCHREIBUNG
WBEM_E_FAILED 0x80041001 Ein allgemeiner Fehler ist aufgetreten.
WBEM_E_INVALID_PARAMETER 0x80041008 Mindestens ein Parameter ist ungültig.
WBEM_E_INVALID_PROPERTY_TYPE 0x8004102a Der Eigenschaftentyp wird nicht erkannt. Dieser Wert wird beim Erstellen von Klasseninstanzen zurückgegeben, wenn die Klasse bereits vorhanden ist.
WBEM_E_OUT_OF_MEMORY 0x80041006 Es ist nicht genügend Arbeitsspeicher verfügbar, um den Vorgang abzuschließen.
WBEM_E_TYPE_MISMATCH 0x80041005 Für Instanzen: Gibt an, dass pVal auf einen VARIANT-Wert eines falschen Typs für die Eigenschaft verweist.
Für Klassendefinitionen: Die Eigenschaft ist bereits in der übergeordneten Klasse vorhanden, und der neue COM-Typ unterscheidet sich vom alten COM-Typ.
WBEM_S_NO_ERROR 0 Der Funktionsaufruf war erfolgreich.

Bemerkungen

Diese Funktion umschließt einen Aufruf der IWbemClassObject::Put-Methode.

Diese Funktion überschreibt immer den aktuellen Eigenschaftswert mit einem neuen Wert. Wenn IWbemClassObject auf eine Klassendefinition verweist, erstellt bzw. aktualisiert Put den Eigenschaftswert. Wenn IWbemClassObject auf eine CIM-Instanz verweist, aktualisiert Put den Eigenschaftswert nur. Put kann keinen Eigenschaftswert erstellen.

Die __CLASS-Systemeigenschaft ist während der Klassenerstellung nur beschreibbar, wenn sie nicht leer gelassen werden darf. Alle anderen Systemeigenschaften sind schreibgeschützt.

Benutzer*innen können keine Eigenschaften mit Namen erstellen, die mit einem Unterstrich („_“) beginnen oder enden. Dies ist für Systemklassen und -eigenschaften reserviert.

Wenn die von der Put-Funktion festgelegte Eigenschaft in der übergeordneten Klasse vorhanden ist, wird der Standardwert der Eigenschaft geändert, es sei denn, der Eigenschaftstyp stimmt nicht mit dem übergeordneten Klassentyp überein. Wenn die Eigenschaft nicht vorhanden ist und kein Typkonflikt vorliegt, wird die Eigenschaft erstellt.

Verwenden Sie den vtType-Parameter nur beim Erstellen neuer Eigenschaften in einer CIM-Klassendefinition und wenn pValnull ist oder auf einen VARIANT-Wert vom Typ VT_NULL verweist. In diesem Fall gibt der vType-Parameter den CIM-Typ der Eigenschaft an. In jedem anderen Fall muss vtType gleich 0 sein. vtType muss auch 0 sein, wenn das zugrunde liegende Objekt eine Instanz ist (auch wenn Valnull ist), da der Typ der Eigenschaft feststeht und nicht geändert werden kann.

Beispiel

Ein Beispiel ist die IWbemClassObject::Put-Methode.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: WMINet_Utils.idl

.NET Framework-Versionen: Seit Version 4.7.2 verfügbar

Siehe auch