Die WbemChangeFlagEnum-Konstanten definieren, wie ein Schreibvorgang in eine Klasse oder eine instance ausgeführt wird. Ein Schreibvorgang wird von SWbemObject.Put_ oder von SWbemServicesEx.Put_ ausgeführt. Diese Flags werden von SWbemObject.Put_ und SWbemObject.PutAsync_ verwendet.
Die WMI-Skripttypbibliothek WbemDisp.tlb definiert diese Konstanten. Visual Basic-Anwendungen können auf diese Bibliothek zugreifen. Skriptsprachen müssen den Wert der Konstanten direkt verwenden, es sei denn, sie verwenden das WSH-XML-Dateiformat (Windows Script Host). Weitere Informationen finden Sie unter Verwenden der WMI-Skripttypbibliothek.
wbemChangeFlagCreateOrUpdate Wert: 0 Bewirkt, dass die Klasse oder instance erstellt wird, wenn sie nicht vorhanden ist, oder überschrieben wird, wenn sie bereits vorhanden ist.
wbemChangeFlagUpdateOnly Wert: 0x1 Bewirkt, dass der Aufruf aktualisiert wird. Die Klasse oder Instanz muss vorhanden sein, damit der Aufruf erfolgreich ist.
wbemChangeFlagCreateOnly Wert: 0x2 Wird nur für die Erstellung verwendet. Der Aufruf schlägt fehl, wenn die Klasse oder instance bereits vorhanden ist.
wbemChangeFlagUpdateCompatible Wert: 0 Ermöglicht das Aktualisieren einer Klasse, wenn keine abgeleiteten Klassen und keine Instanzen für diese Klasse vorhanden sind. Es lässt auch Updates in allen Fällen zu, wenn die Änderung nur auf nicht wichtige Qualifizierer (z. B. den Beschreibungsqualifizierer) erfolgt. Wenn die Klasse über Instanzen verfügt, ist die Aktualisierung nicht erfolgreich. Dieses Flag wird für die Kompatibilität mit früheren Versionen von WMI verwendet.
wbemChangeFlagUpdateSafeMode Wert: 0x20 Ermöglicht Aktualisierungen von Klassen auch dann, wenn untergeordnete Klassen vorhanden sind, solange die Änderung keine Konflikte mit untergeordneten Klassen verursacht. Ein Beispiel für eine Aktualisierung dieses Flags wäre das Hinzufügen einer neuen Eigenschaft zur Basisklasse, die zuvor in keiner der untergeordneten Klassen erwähnt wurde. Wenn die Klasse über Instanzen verfügt, ist die Aktualisierung nicht erfolgreich.
wbemChangeFlagUpdateForceMode Wert: 0x40 Erzwingt Aktualisierungen von Klassen, wenn in Konflikt stehende untergeordnete Klassen vorhanden sind.
Ein Beispiel für eine Aktualisierung dieses Flags wäre, wenn ein Klassenqualifizierer in einer untergeordneten Klasse definiert wurde und die Basisklasse versucht, denselben Qualifizierer in Konflikt mit dem vorhandenen zu fügen. Im Erzwingungsmodus wird dieser Konflikt gelöst, indem der Qualifizierer in der untergeordneten Klasse gelöscht wird. Wenn die Klasse über Instanzen verfügt, ist die Aktualisierung nicht erfolgreich.
Die Verwendung des Erzwingungsmodus zum Aktualisieren einer statischen Klasse führt zum Löschen aller Instanzen dieser Klasse. Das Erzwingen der Aktualisierung für Anbieterklassen löscht keine Instanzen der -Klasse.
wbemChangeFlagStrongValidation Wert: 0x80 : Benachrichtigt das Betriebssystem, einen Fehler bei Put-Vorgängen an ungültige Systeminstanzen zurückzugeben. Beispiele für solche Instanzen sind ereignisbezogene Instanzen, z. B. Filter, Bindungen oder Anbieter. Wenn diese Instanzen ungültig sind, meldet der Put-Vorgang standardmäßig einen Erfolg, aber im Protokoll wird ein Fehler gemeldet.