Methode ' Swap servicesex. Put '

Die Put -Methode des Objekts " errbemservicesex " speichert das Objekt in dem Namespace, der an das-Objekt gebunden ist, und gibt ein " errbemubjectpath "-Objekt zurück, das den Pfad des Objekts enthält, in das die Daten geschrieben wurden.

Diese Methode wird im semisynchronen Modus aufgerufen. Weitere Informationen finden Sie unter Aufrufen einer Methode.

Eine Erläuterung dieser Syntax finden Sie unter Dokument Konventionen für die Skript-API.

Syntax

objObjectPath = .Put( _
  ByVal objWbemObject, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Parameter

objwbemujekt

Erforderlich. Das neue-Objekt, das in den-Namespace eingefügt werden soll. Dabei kann es sich um ein neu erstelltes Objekt oder um ein geändertes Objekt handeln.

IFlags [ optionale]

Dieser Parameter bestimmt, ob der-Befehl das-Objekt erstellt oder aktualisiert und ob der-Rückruf sofort zurückgegeben wird. Dieser Parameter kann die folgenden Werte annehmen.

wbemchangeflagupdatecompatible (0 (0x0))

Ermöglicht es, eine Klasse zu aktualisieren, wenn keine abgeleiteten Klassen vorhanden sind und keine Instanzen für diese Klasse vorhanden sind. Sie ermöglicht auch Updates in allen Fällen, wenn die Änderung nur an wichtigen Qualifizierern (z. b. der Beschreibungs Qualifizierer) vorgenommen wird. Dies ist das Standardverhalten für diesen-Befehl und wird aus Gründen der Kompatibilität mit früheren Versionen von WMI verwendet. Wenn die Klasse über Instanzen verfügt, tritt bei der Aktualisierung ein Fehler auf.

wbemchangeflagupdatesafemode (32 (0x20))

Ermöglicht das Aktualisieren von Klassen auch dann, wenn untergeordnete Klassen vorhanden sind, wenn die Änderung keine Konflikte mit untergeordneten Klassen verursacht. Sie können dieses Flag verwenden, wenn Sie einer Basisklasse eine neue Eigenschaft hinzufügen, die zuvor nicht in einer der untergeordneten Klassen erwähnt wurde. Wenn die Klasse über Instanzen verfügt, tritt bei der Aktualisierung ein Fehler auf.

wbemchangeflagupdateforcemode (64 (0x40))

Dieses Flag erzwingt die Aktualisierung von Klassen, wenn widersprüchliche untergeordnete Klassen vorhanden sind. Beispielsweise erzwingt dieses Flag ein Update, wenn ein Klassen Qualifizierer in einer untergeordneten Klasse definiert wurde, und die Basisklasse versucht, denselben Qualifizierer in Konflikt mit dem vorhandenen zu addieren. Im Force-Modus wird dieser Konflikt gelöst, indem der widersprüchliche Qualifizierer in der untergeordneten Klasse gelöscht wird. Wenn die Klasse über Instanzen verfügt, tritt bei der Aktualisierung ein Fehler auf.

Die Verwendung des Force-Modus zum Aktualisieren einer statischen Klasse bewirkt, dass alle Instanzen dieser Klasse gelöscht werden. Bei einem erzwungenen Update für eine Anbieter Klasse werden keine Instanzen der-Klasse gelöscht.

wbemchangeflagkreateorupdate (0 (0x0))

Bewirkt, dass die Klasse oder Instanz erstellt wird, wenn Sie nicht vorhanden ist, oder überschrieben, wenn Sie bereits vorhanden ist.

wbemchangeflagkreateonly (2 (0x2))

Wird nur für die Erstellung verwendet. Der-Rückruf schlägt fehl, wenn die Klasse oder Instanz bereits vorhanden ist.

wbemchangeflagupdateonly (1 (0x1))

Bewirkt, dass dieser-Befehl nur ein Update durchführen kann. Die Klasse oder Instanz muss vorhanden sein, damit der-Befehl erfolgreich ausgeführt werden konnte.

wbemFlagReturnImmediately (16 (0x10))

Bewirkt, dass der-Rückruf sofort zurückgegeben wird.

wbemflagreturn. Complete (0 (0x0))

Bewirkt, dass dieser-Vorgang blockiert wird, bis der Vorgang abgeschlossen ist. Mit diesem Flag wird die-Methode im synchronen Modus aufgerufen.

wbemflaguseamendedqualifizierer (131072 (0x20000))

Bewirkt, dass WMI Klassen Zusatzdaten und die Basisklassen Definition schreibt. Weitere Informationen finden Sie unter Lokalisieren von WMI-Klassen Informationen.

objwbemnamedvalueset [ optionale]

Dies ist in der Regel nicht definiert. Andernfalls handelt es sich hierbei um ein Objekt vom typswap namedvalueset , dessen Elemente die Kontextinformationen darstellen, die von dem Anbieter verwendet werden können, der die Anforderung verwendet. Ein Anbieter, der solche Informationen unterstützt oder erfordert, muss die erkannten Wertnamen, den Datentyp des Werts, zulässige Werte und die Semantik dokumentieren.

Rückgabewert

Wenn der-Befehl erfolgreich ausgeführt wurde, wird ein " errbemubjectpath "-Objekt zurückgegeben. Dieses Objekt enthält den Objekt Pfad der-Instanz oder der-Klasse, für die erfolgreich ein Commit in WMI durchgeführt wurde.

Fehlercodes

Nach dem Abschluss der Put -Methode kann das Err -Objekt einen der Fehlercodes in der folgenden Liste enthalten.

wbemErrAccessDenied -2147749891 (0x80041003)

Der aktuelle Benutzer verfügt nicht über die Berechtigung für den Vorgang.

wbemErrAlreadyExists -2147749913 (0x80041019)

Das Flag " wbemchangeflagkreateonly " wurde angegeben, aber die Instanz ist bereits vorhanden.

wbemErrFailed -2147749889 (0x80041001)

Unbekannter Fehler.

wbemErrIllegalNull -2147749898 (0x8004100a)

Für eine Eigenschaft, die nicht null sein darf, wurde ein null -Wert angegeben. Ein Beispiel für eine solche Eigenschaft ist eine, die durch einen Schlüssel-, indizierten oder Not _ null -Qualifizierer gekennzeichnet ist.

wbemErrInvalidObject -2147749908 (0x80041014)

Das angegebene Objekt ist ungültig.

wbemErrInvalidParameter -2147749896 (0x80041008)

Ein angegebener Parameter ist ungültig.

wbemErrNotFound -2147749890 (0x80041002 angezeigt)

Das Flag " wbemchangeflagupdateonly " 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)

Der Arbeitsspeicher reicht nicht aus, um den Vorgang abzuschließen.

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 _ iswbemservicesex
IID
IID _ iswbemservicesex