Share via


Initialisieren eines Anbieters

Eine der ersten Aufgaben, die Sie für einen Anbieter programmieren müssen, ist der Initialisierungsprozess, der alle Aufgaben abdeckt, die Ihr Anbieter ausführen muss, sodass er Informationen von WMI senden und empfangen, ein verwaltetes Objekt steuern und andere Aufgaben ausführen kann. Jeder Anbietertyp weist einen anderen Satz von Aufgaben, die er ausführen muss, und einen zugehörigen Satz eindeutiger Schnittstellen auf.

Alle Anbieter werden jedoch über die IWbemProviderInit-Schnittstelle initialisiert und informieren WMI über die IWbemProviderInitSink-Schnittstelle über ihren Initialisierungsstatus.

Nachstehend wird die Initialisierung eines Anbieters näher beschrieben.

So initialisieren Sie einen Anbieter

  1. Implementieren Sie IWbemProviderInit::Initialize für Ihren Anbieter.

    Wenn WMI feststellt, dass ein Client die Dienste eines Anbieters benötigt, lädt WMI den Anbieter durch Aufrufen der IWbemProviderInit::Initialize-Methode.

  2. Implementieren Sie alle Schnittstellen, die für Ihren Anbietertyp eindeutig sind.

  3. Informieren Sie WMI, dass Ihr Anbieter die Initialisierung abgeschlossen hat, indem Sie IWbemProviderInitSink::SetStatus aufrufen.

    Alle Implementierungen von IWbemProviderInit::Initialize müssen IWbemProviderInitSink::SetStatus aufrufen, um Initialisierungstatus an WMI zu melden. Mit der SetStatus-Methode kann WMI bestimmen, ob ein Anbieter bereit ist, Anforderungen zu empfangen, und welche Art von Anforderungen der Anbieter bereit ist zu empfangen.

Im folgenden Verfahren wird beschrieben, wie eine erfolgreiche Initialisierung gemeldet wird.

So melden Sie eine erfolgreiche Initialisierung

  • Legen Sie den IStatus-Parameter von SetStatus auf WBEM_S_INITIALIZED fest.

    Durch Rückgabe von WBEM_S_INITIALIZED gibt ein Anbieter die Bereitschaft an, Anforderungen von Anwendungen, WMI und anderen Anbietern zu verarbeiten. Nach Empfang von WMI WBEM_S_INITIALIZED ruft WMI die IWbemProviderInit::QueryInterface-Methode für den Anbieter auf. Diese Abfrage ruft einen Zeiger auf die primäre Schnittstelle des Anbieters ab.

Im folgenden Verfahren wird beschrieben, wie ein Fehler während der Initialisierung gemeldet wird.

So melden Sie einen Fehler während der Initialisierung

  • Legen Sie den IStatus-Parameter von SetStatus auf WBEM_E_FAILED fest. WMI betrachtet Anbieter, die WBEM_E_FAILED zurückgeben, als nicht funktionsfähig.

    WMI gibt den IWbemProviderInit-Zeiger frei, nachdem WMI einen Zeiger auf die primäre Schnittstelle des Anbieters abgerufen hat oder die Initialisierung fehlgeschlagen ist.

Entwickeln eines WMI-Anbieters

Festlegen von Sicherheitsbeschreibungen für Namespaces

Schützen Ihres Anbieters