__ObjectProviderRegistration-Klasse
Die abstrakte Systemklasse __ObjectProviderRegistration dient als übergeordnete Klasse für Klassen, die zur Registrierung von Klassen- und Instanzanbietern in WMI verwendet werden.
Die folgende Syntax wird durch MOF-Code (Managed Object Format) vereinfacht und schließt alle geerbten Eigenschaften ein. Eigenschaften werden in alphabetischer Reihenfolge aufgeführt, nicht in MOF-Reihenfolge.
Syntax
[abstract]
class __ObjectProviderRegistration : __ProviderRegistration
{
sint32 InteractionType = 0;
__Provider REF provider;
string QuerySupportLevels[];
boolean SupportsBatching;
boolean SupportsDelete = False;
boolean SupportsEnumeration = False;
boolean SupportsGet = False;
boolean SupportsPut = False;
boolean SupportsTransactions;
};
Member
Die Klasse __ObjectProviderRegistration enthält folgende Membertypen:
Eigenschaften
Die Klasse __ObjectProviderRegistration verfügt über folgende Eigenschaften.
-
InteractionType
-
-
Datentyp: sint32
-
Zugriffstyp: Lesen/Schreiben
Gibt an, ob die Klasse oder der Instanzanbieter eigene Daten bereitstellt oder ob WMI und das CIM-Repository (Common Information Model) verwendet werden. Pullanbieter unterstützen den dynamischen Zugriff auf ihre Daten, und Pushanbieter speichern ihre Daten im CIM-Repository und verlassen sich auf WMI, um Zugriff darauf zu gewähren. Weitere Informationen finden Sie unter Bestimmen des Push- oder Pullstatus. Der Standardwert ist 0 (null).
-
-
Pull (0)
-
Anbieter ist ein Pullanbieter.
-
Push (1)
-
Anbieter ist ein Pushanbieter.
-
PushVerify (2)
-
Anbieter ist ein Pushüberprüfungsanbieter. Beachten Sie, dass die Pushüberprüfung derzeit nicht unterstützt wird.
Anbieter
-
Datentyp: __Provider
-
Zugriffstyp: Schreibgeschützt
Verweis auf eine Instanz von __Provider, die einen Objektpfad zum Objektanbieter darstellt. Diese Eigenschaft wird von __ProviderRegistration geerbt.
QuerySupportLevels
-
Datentyp: string-Array
-
Zugriffstyp: Lesen/Schreiben
Array der Typen der vom Anbieter enthaltenen Unterstützung für die Abfrageverarbeitung. Klassenanbieter unterstützen keine Art von Abfragen. Instanzanbieter können QuerySupportLevels auf NULL festlegen, wenn sie die Abfrageverarbeitung nicht unterstützen. Anbieter, die Abfragen unterstützen, implementieren die Methode IWbemServices::ExecQueryAsync und legen diese Eigenschaft auf einen oder mehrere der folgenden Werte fest (der Eigenschaftstyp ist ein Array):
"WQL:UnarySelect"
"WQL:References"
"WQL:Associators"
"WQL:V1ProviderDefined"
SupportsBatching
-
Datentyp: boolean (boolesch)
-
Zugriffstyp: Lesen/Schreiben
Wird nicht verwendet.
SupportsDelete
-
Datentyp: boolean (boolesch)
-
Zugriffstyp: Lesen/Schreiben
Bei True unterstützt der Anbieter das Löschen von Daten.
Richtig
Der Anbieter unterstützt das Löschen von Klassen oder Instanzen, indem er entweder einen der IWbemServices::DeleteClassAsync (Klassenanbieter) oder IWbemServices::DeleteInstanceAsync (Instanzanbieter) implementiert.
Falsch
Der Anbieter unterstützt keine Datenlöschungen und gibt WBEM_E_PROVIDER_NOT_CAPABLE aus DeleteClassAsync oder DeleteInstanceAsync zurück.
SupportsEnumeration
-
Datentyp: boolean (boolesch)
-
Zugriffstyp: Lesen/Schreiben
Bei True unterstützt der Anbieter das Auflisten von Daten.
Richtig
Der Anbieter unterstützt die Datenenumeration, indem er entweder IWbemServices::CreateClassEnumAsync (Klassenanbieter) oder IWbemServices::CreateInstanceEnumAsync (Instanzanbieter) implementiert.
Falsch
Der Anbieter unterstützt keine Datenenumeration und gibt WBEM_E_PROVIDER_NOT_CAPABLE aus CreateClassEnumAsync oder CreateInstanceEnumAsync zurück.
SupportsGet
-
Datentyp: boolean (boolesch)
-
Zugriffstyp: Lesen/Schreiben
Bei True unterstützt der Klassen- oder Instanzanbieter den Datenabruf.
Richtig
Der Anbieter unterstützt den Datenabruf, durch Implementierung von IWbemServices::GetObjectAsync.
Falsch
Der Anbieter unterstützt keinen Datenabruf und gibt WBEM_E_PROVIDER_NOT_CAPABLE aus GetObjectAsync zurück.
SupportsPut
-
Datentyp: boolean (boolesch)
-
Zugriffstyp: Lesen/Schreiben
Bei True unterstützt der Klassen- oder Instanzanbieter den Datenabruf.
Richtig
Der Anbieter unterstützt das Ändern von Klassen oder Instanzen, indem er entweder einen der IWbemServices::DeleteClassAsync (Klassenanbieter) oder IWbemServices::DeleteInstanceAsync (Instanzanbieter) implementiert.
Falsch
Der Anbieter unterstützt keine Datenänderungen und gibt WBEM_E_PROVIDER_NOT_CAPABLE aus PutClassAsync oder PutInstanceAsync zurück.
SupportsTransactions
-
Datentyp: boolean (boolesch)
-
Zugriffstyp: Lesen/Schreiben
Wird nicht verwendet.
Bemerkungen
Die Klasse __ObjectProviderRegistration wird von __ProviderRegistration abgeleitet.
Klassenanbieter müssen die SupportsEnumeration-Eigenschaft auf True festlegen, da die Anbieter in der Lage sein müssen, WMI mit einer Liste ihrer Klassen zu versorgen. Wenn ein Klassenanbieter versucht, diese Eigenschaft auf False festzulegen, kennzeichnet WMI die Registrierung als unzulässig. Instanzanbieter müssen die Enumeration nicht unterstützen und können SupportsEnumeration entweder auf True oder False festlegen.
Ein Anbieter, der QuerySupportLevels auf „WQL:UnarySelect“ festlegt, kann eine Abfrage akzeptieren, die aus der grundlegenden SELECT-Anweisung besteht, die in WMI-Version 1.0 unterstützt wird. Es wird erwartet, dass sowohl Klassen- als auch Instanzanbieter die __CLASS-Systemeigenschaft verarbeiten können. Von Klassenanbietern wird auch erwartet, dass sie die __SUPERCLASS-Systemeigenschaft und den ISA-Operator verarbeiten. Der ISA-Operator wird verwendet, um ein Resultset auf abgeleitete Klassen zu erweitern. Wenn ein Anbieter eine Abfrage erhält, die er nicht interpretieren kann, fordert er an, dass WMI sie behandelt, indem er den WBEM_E_TOO_COMPLEX-Fehlerwert zurückgibt. Eine Beschreibung der gültigen WQL-Syntax finden Sie unter Abfragen mit WQL.
Ein Anbieter, der QuerySupportLevels auf WQL:V1ProviderDefined festlegt, kann versuchen, einen größeren Satz der SQL-Syntax auf eigenes Risiko zu unterstützen, z. B. die ORDER BY
-Klausel. WMI interpretiert die zusätzlichen Klauseln nicht oder versucht sicherzustellen, dass das Resultset korrekt ist.
Nur Administratoren können einen Anbieter registrieren oder löschen, indem sie eine Instanz von __Win32Provider erstellen und registrieren.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
Windows Server 2008 |
Namespace |
Alle WMI-Namespaces |