Schreiben eines Ereignisverbraucheranbieters

Ein Ereignisverbraucheranbieter ist eine Komponente der permanenten Consumerarchitektur, die bestimmt, welcher Permanentereignis-Consumer ein bestimmtes Ereignis behandelt. Sie sollten einen Ereignisverbraucheranbieter zusammen mit Ihren permanenten Ereignisverbrauchern erstellen, um Ereignisse ordnungsgemäß von WMI weiter zu routen.

Ein Ereignisverbraucheranbieter verknüpft einen Ereignisanbieter mit einer Liste von Consumerklassen. Instanzen dieser Consumerklassen empfangen dann Ereignisse von diesem Anbieter. WMI identifiziert basierend auf der _ _ EventConsumerProviderRegistration-Instanz, die die _ _ Win32Provider-Instanz des Consumeranbieters einer logischen Consumerklasse zu ordnet, an welchen Consumeranbieter die Ereignisse übermittelt werden. Benutzer erstellen Instanzen der Consumerklasse als Teil eines permanenten Abonnements. Wenn der Ereignisanbieter nicht ausgeführt wird, wenn ein Ereignis auftritt, startet WMI den Anbieter, wenn Ereignisse übermittelt werden müssen.

Im folgenden Verfahren wird beschrieben, wie ein Ereignisverbraucheranbieter implementiert wird.

So implementieren Sie einen Ereignisverbraucheranbieter

  1. Entwerfen Sie Consumerklassen in Managed Object Format (MOF), und registrieren Sie sie bei WMI. Weitere Informationen finden Sie unter Entwerfen Managed Object Format -Klassen (MOF).

    Klassenanbieter registrieren sich bei WMI, indem sie eine _ _ Win32Provider-Instanz und eine _ _ EventConsumerProviderRegistration-Klasse erstellen. Weitere Informationen finden Sie unter Registrieren eines Ereignisverbraucheranbieters.

  2. Implementieren Sie die IWbemProviderInit-Schnittstelle für Ihren Anbieter.

    WMI verwendet IWbemProviderInit zum Laden und Initialisieren eines Anbieters. Weitere Informationen finden Sie unter Initialisieren eines Anbieters.

    Hinweis

    Ereignisverbraucheranbietern wird dringend empfohlen, das Multithreadingmodell "Both" zu verwenden.

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

    Die IWbemEventConsumerProvider-Schnittstelle ist die primäre Schnittstelle für einen Ereignisconsumeranbieter.

  4. Geben Sie mindestens einen physischen Consumers an, um die Ereignismeldungen von WMI zu empfangen.

    Ein physischer Consumer ist ein COM-Objekt, das einen permanenten Ereignis consumer darstellt. Alle physischen Benutzer müssen die IWbemUnboundObjectSink-Schnittstelle implementieren. Weitere Informationen finden Sie unter Implementieren eines physischen Consumers.