Schreiben eines Instanzanbieters

Ein Instanzanbieter stellt Instanzen einer oder mehrerer Klassen bereit. Ein Instanzanbieter kann beispielsweise Anbieterinformationen zu einer CPU oder einem anderen Hardwaretyp bereitstellen. Da sich die von einem Instanzanbieter verwalteten Objekte in der Regel regelmäßig ändern, werden alle Instanzanbieter als Pullanbieter betrachtet, d. h. als Anbieter, die dynamisch jedes Mal Informationen zu einem verwalteten Objekt abrufen, wenn WMI die Informationen anfordert. Der Name beruht auf der Idee, dass WMI die Informationen vom Anbieter im Namen einer Clientanforderung per Pull Request abruft. Mit der Pulltechnologie kann ein Instanzanbieter die Verarbeitung von Abruf, Enumeration, Änderung, Löschung und Abfrage einer bestimmten Instanz unterstützen.

Hochleistungsanbieter können die Effizienz eines Instanzanbieters erhöhen oder programmgesteuert auf die Daten zugreifen, die im Systemmonitor angezeigt werden. Weitere Informationen finden Sie unter Umwandeln eines Instanzanbieters in einen Hochleistungsanbieter.

Im folgenden Verfahren wird das Schreiben eines Instanzanbieters beschrieben.

So schreiben Sie einen Instanzanbieter

  1. Registrieren Sie Ihren Anbieter bei WMI

    Instanzanbieter werden bei WMI registriert, indem Sie eine __Win32Provider-Instanz und eine __EventConsumerProviderRegistration-Klasse erstellen.

  2. Initialisieren Sie Ihren Anbieter.

    WMI verwendet IWbemProviderInit zum Laden und Initialisieren eines Anbieters. Dies ist eine Aufgabe, die für alle Anbieter gleich ist.

    Hinweis

    Bei Instanzanbietern wird dringend empfohlen, das Multithreadingmodell „Both“ zu verwenden.

     

  3. Implementieren Sie die IWbemServices-Schnittstelle für Ihren Anbieter.

    Die IWbemServices-Schnittstelle ist die primäre Schnittstelle für einen Instanzanbieter.

  4. Fügen Sie zusätzlichen Code hinzu, der für Ihren Anbieter erforderlich ist.

    Beim Entwerfen Ihres Anbieters müssen Sie höchstwahrscheinlich WMI-Schnittstellen aufrufen. Weitere Informationen finden Sie unter Richten von Aufrufen an WMI.

    Beim Abrufen von Informationen für einen Client müssen Sie möglicherweise auf die Sicherheitsstufen für diesen Client zugreifen. Weitere Informationen finden Sie unter Identitätswechsel für einen Client.

  5. Bei Bedarf können Sie die Hochleistungsschnittstelle implementieren.

    Die Hochleistungsschnittstelle erhöht die Geschwindigkeit, mit der der Anbieter auf Anforderungen von WMI reagieren kann.

  6. Bei Bedarf können Sie Unterstützung für partielle Instanzupdates implementieren.

    Wie der Name schon sagt, ist ein partielles Instanzupdate eine Technik, bei der nur ein Teil einer Instanz aktualisiert wird. Weitere Informationen zum Aufrufen einer partiellen Instanz von einem Client finden Sie unter Aktualisieren eines Teils einer Instanz und Abrufen eines Teils einer WMI-Instanz.

  7. Ersetzen Sie den bereits vorhandenen Anbieter durch Ihren neuen Code.

    Sie müssen diesen Schritt nicht ausführen, wenn Sie keinen bereits vorhandenen Anbieter zum Kopieren haben. Weitere Informationen finden Sie unter Aktualisieren eines Anbieters.