__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

Weitere Informationen

__ProviderRegistration

WMI-Systemklassen

Registrieren eines Anbieters