SWbemObject.Put_ Methode

Die Put_-Methode von SWbemObject erstellt oder aktualisiert eine Instanz oder ein Klassenobjekt auf Windows Verwaltungsinstrumentation (WMI). Sie können diese Methode verwenden, nachdem Sie eigenschaften oder Methoden in einem SWbemObject geändert haben, und Ihre Änderungen werden in WMI geschrieben.

Eine Erläuterung dieser Syntax finden Sie unter Dokumentkonventionen für die Skripting-API.

Syntax

objObjectPath = .Put_( _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ] _
)

Parameter

iFlags [in, optional]

Dieser Parameter bestimmt, ob der Aufruf die Klasse oder Instanz erstellt oder aktualisiert, und wenn der Aufruf sofort zurückgegeben wird. Dieser Parameter kann die folgenden Werte akzeptieren.

wbemChangeFlagUpdateCompatible (0 (0x0))

Ermöglicht eine Aktualisierung einer Klasse, wenn keine abgeleiteten Klassen vorhanden sind und keine Instanzen für diese Klasse vorhanden sind. Außerdem können Updates in allen Fällen aktualisiert werden, wenn die Änderung nur nicht importierte Qualifizierer ist (z. B . die Beschreibungsqualifizierer). Dies ist das Standardverhalten für diesen Aufruf und wird für die Kompatibilität mit früheren Versionen von WMI verwendet. Wenn die Klasse Instanzen aufweist, schlägt das Update fehl.

wbemChangeFlagUpdateSafeMode (32 (0x20))

Ermöglicht Updates von Klassen auch wenn untergeordnete Klassen vorhanden sind, wenn die Änderung keine Konflikte mit untergeordneten Klassen verursacht. Sie können dieses Flag verwenden, wenn Sie eine neue Eigenschaft zu einer Basisklasse hinzufügen, die in keiner der untergeordneten Klassen zuvor erwähnt wurde. Wenn die Klasse Instanzen aufweist, schlägt das Update fehl. Wenn die Klasse Instanzen aufweist, schlägt das Update fehl.

WbemChangeFlagUpdateForceMode (64 (0x40))

Diese Kennzeichnung erzwingt Aktualisierungen von Klassen beim Konflikt mit untergeordneten Klassen. Dieses Flag erzwingt z. B. ein Update, wenn ein Klassenqualifizierer in einer untergeordneten Klasse definiert wurde, und die Basisklasse versucht, denselben Qualifizierer hinzuzufügen und im Konflikt mit dem vorhandenen Objekt zu stehen. Im Erzwungenen Modus würde dieser Konflikt aufgelöst, indem der konfliktende Qualifizierer in der untergeordneten Klasse gelöscht wird. Wenn die Klasse Instanzen aufweist, schlägt das Update fehl.

Mithilfe des Kraftmodus wird eine statische Klasse aktualisiert, was zum Löschen aller Instanzen dieser Klasse führt. Ein erzwungenes Update für eine Anbieterklasse löscht keine Instanzen der Klasse.

wbemChangeFlagCreateOrUpdate (0 (0x0))

Verursacht, dass die Klasse oder Instanz erstellt wird, wenn sie noch nicht vorhanden oder überschrieben wird, wenn sie bereits vorhanden ist.

wbemChangeFlagCreateOnly (2 (0x2))

Nur für die Erstellung verwendet. Der Aufruf schlägt fehl, wenn die Klasse oder Instanz bereits vorhanden ist.

wbemChangeFlagUpdateOnly (1 (0x1))

Führt dazu, dass dieser Aufruf aktualisiert wird. Die Klasse oder Instanz muss für den Aufruf erfolgreich sein.

wbemFlagReturnImmediately (16 (0x10))

Bewirkt, dass der Aufruf sofort zurückgegeben wird.

wbemFlagReturnWhenComplete (0 (0x0))

Führt dazu, dass dieser Aufruf blockiert wird, bis die Abfrage abgeschlossen ist.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Führt dazu, dass WMI Klassenänderungsdaten sowie die Basisklassendefinition schreiben kann. Weitere Informationen zu geänderten Qualifizierern finden Sie unter Localizing WMI Class Information.

objwbemNamedValueSet [in, optional]

In der Regel ist dies nicht definiert. Andernfalls ist dies ein SWbemObjectPath-Objekt , dessen Elemente die Kontextinformationen darstellen, die vom Anbieter verwendet werden können, der die Anforderung unterstützt. Ein Anbieter, der solche Informationen unterstützt oder erfordert, muss die erkannten Wertnamen, den Datentyp des Werts, zulässige Werte und Semantik dokumentieren.

Rückgabewert

Wenn der Aufruf erfolgreich ist, wird ein SWbemObjectPath-Objekt zurückgegeben. Dieses Objekt enthält den Objektpfad der Instanz oder Klasse, die erfolgreich an WMI gebunden wurde.

Fehlercodes

Nach Abschluss der Put_ -Methode kann das Err-Objekt eine der Fehlercodes in der folgenden Liste enthalten.

wbemErrAccessDenied – 2147749891

Der aktuelle Benutzer hat keine Berechtigung, eine Instanz der angegebenen Klasse zu aktualisieren.

wbemErrAlreadyExists - 2147749913 (0x80041019)

Das wbemChangeFlagCreateOnly-Flag wurde angegeben, aber die Instanz ist bereits vorhanden.

wbemErrFailed - 2147749889 (0x80041001)

Unbekannter Fehler.

wbemErrIllegalNull - 2147749898 (0x8004100A)

Ein Wert von Nothing wurde für eine Eigenschaft angegeben, die möglicherweise nichts ist. Ein Beispiel für eine solche Eigenschaft ist eine, die durch einen Key,Indexed oder Not_Null Qualifizierer gekennzeichnet ist.

wbemErrInvalidObject - 2147749908 (0x80041014)

Die angegebene Instanz ist ungültig.

wbemErrInvalidParameter - 0x80041008

Ein angegebener Parameter ist ungültig.

wbemErrNotFound - 2147749890 (0x80041002)

Das wbemChangeFlagUpdateOnly-Flag wurde angegeben, aber die Instanz oder Klasse ist nicht vorhanden.

wbemErrIncompleteClass - 2147749920 (0x80041020)

Erforderliche Eigenschaften für Klassen wurden nicht alle festgelegt.

wbemErrOutOfMemory - 2147749894 (0x80041006)

Nicht genügend Arbeitsspeicher zum Abschließen des Vorgangs.

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Header
Wbemdisp.h
Typbibliothek
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

Siehe auch

Swbemobject

SWbemObjectPath.Class

SWbemProperty

SWbemQualifier