IWbemServices::P utClass-Methode (wbemcli.h)
Die IWbemServices::P utClass-Methode erstellt eine neue Klasse oder aktualisiert eine vorhandene Klasse. Die vom pObject-Parameter angegebene Klasse muss ordnungsgemäß mit allen erforderlichen Eigenschaftswerten initialisiert worden sein.
Der Benutzer darf keine Klassen mit Namen erstellen, die mit einem Unterstrich (_) beginnen oder enden. Dies ist für Systemklassen reserviert.
Syntax
HRESULT PutClass(
[in] IWbemClassObject *pObject,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IWbemCallResult **ppCallResult
);
Parameter
[in] pObject
Muss auf eine gültige Klassendefinition verweisen. Die Verweisanzahl wird nicht geändert.
[in] lFlags
Die folgenden Flags wirken sich auf das Verhalten dieser Methode aus.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Wenn dieses Flag festgelegt ist, speichert WMI keine Qualifizierer mit der geänderten Variante. Wenn dieses Flag nicht festgelegt ist, wird davon ausgegangen, dass dieses Objekt nicht lokalisiert ist, und alle Qualifizierer werden mit diesem instance gespeichert.
WBEM_FLAG_CREATE_OR_UPDATE
Dieses Flag bewirkt, dass die Klasse erstellt wird, wenn sie nicht vorhanden ist, oder überschrieben wird, wenn sie bereits vorhanden ist.
WBEM_FLAG_UPDATE_ONLY
Dieses Flag bewirkt, dass dieser Aufruf aktualisiert wird. Die Klasse muss vorhanden sein, damit der Aufruf erfolgreich ist.
WBEM_FLAG_CREATE_ONLY
Dieses Flag wird nur für die Erstellung verwendet. Der Aufruf schlägt fehl, wenn die Klasse bereits vorhanden ist.
WBEM_FLAG_RETURN_IMMEDIATELY
Dieses Flag bewirkt, dass es sich um einen semisynchronen Aufruf handelt. Weitere Informationen finden Sie unter Aufrufen einer Methode.
WBEM_FLAG_OWNER_UPDATE
Pushanbieter müssen dieses Flag beim Aufrufen von PutClass angeben, um anzugeben, dass sich diese Klasse geändert hat.
WBEM_FLAG_UPDATE_COMPATIBLE
Dieses Flag ermöglicht es, eine Klasse zu aktualisieren, wenn keine abgeleiteten Klassen vorhanden sind und keine Instanzen für diese Klasse vorhanden sind. Es ermöglicht auch Updates in allen Fällen, wenn die Änderung nur auf nicht wichtige Qualifizierer (z. B. den Beschreibungsqualifizierer) erfolgt. Dies ist das Standardverhalten für diesen Aufruf und wird zur Kompatibilität mit früheren Versionen der Windows-Verwaltung verwendet. Wenn die Klasse über Instanzen verfügt oder Änderungen an wichtigen Qualifizierern vorgenommen werden, schlägt die Aktualisierung fehl.
WBEM_FLAG_UPDATE_SAFE_MODE
Dieses Flag ermöglicht Aktualisierungen von Klassen, auch wenn untergeordnete Klassen vorhanden sind, solange die Änderung keine Konflikte mit untergeordneten Klassen verursacht. Ein Beispiel für eine Aktualisierung, die dieses Flag zulässt, 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.
WBEM_FLAG_UPDATE_FORCE_MODE
Dieses Flag erzwingt Aktualisierungen von Klassen, wenn in Konflikt stehende untergeordnete Klassen vorhanden sind. Ein Beispiel für eine Aktualisierung, die dieses Flag erzwingen würde, wäre, wenn ein Klassenqualifizierer in einer untergeordneten Klasse definiert wäre und die Basisklasse versucht, denselben Qualifizierer hinzuzufügen, der mit dem vorhandenen in Konflikt stand. Im Erzwingungsmodus würde dieser Konflikt behoben, indem der in Konflikt stehende Qualifizierer in der untergeordneten Klasse gelöscht wird.
[in] pCtx
In der Regel NULL. Andernfalls ist dies ein Zeiger auf ein IWbemContext-Objekt , das vom dynamischen Klassenanbieter benötigt wird, der die Klasseninstanzen erzeugt. Die Werte im Kontextobjekt müssen in der Dokumentation für den betreffenden Anbieter angegeben werden. Weitere Informationen zu diesem Parameter finden Sie unter Ausführen von Aufrufen an WMI.
[out] ppCallResult
Wenn NULL, wird dieser Parameter nicht verwendet. Wenn der lFlags-ParameterWBEM_FLAG_RETURN_IMMEDIATELY enthält, wird dieser Aufruf sofort mit WBEM_S_NO_ERROR zurückgegeben. Der ppCallResult-Parameter empfängt einen Zeiger auf ein neues IWbemCallResult-Objekt , das dann abgefragt werden kann, um das Ergebnis mithilfe der IWbemCallResult::GetCallStatus-Methode abzurufen.
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.
Bei einem Fehler können Sie alle verfügbaren Informationen über die COM-Funktion GetErrorInfo abrufen.
COM-spezifische Fehlercodes können auch zurückgegeben werden, wenn Netzwerkprobleme dazu führen, dass die Remoteverbindung mit der Windows-Verwaltung verloren geht.
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 | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |