Een provider voor evenementafnemers schrijven
Een gebeurtenisconsumerprovider is een onderdeel van de permanente consumentenarchitectuur die bepaalt welke permanente gebeurtenisconsumer een bepaalde gebeurtenis afhandelt. Maak een gebeurtenisconsumerprovider samen met uw permanente gebeurtenisgebruikers om gebeurtenissen correct te routeren vanuit WMI.
Een gebeurtenisconsumerprovider koppelt een gebeurtenisprovider aan een lijst met consumentenklassen. Exemplaren van deze consumentenklassen ontvangen vervolgens gebeurtenissen van die provider. WMI identificeert aan welke consumentenprovider de gebeurtenissen worden geleverd, op basis van het __EventConsumerProviderRegistration-exemplaar, waarmee de consumentprovider __Win32Provider exemplaar wordt gekoppeld aan een logische consumentenklasse. Gebruikers maken exemplaren van de consumentenklasse als onderdeel van een permanent abonnement. Als de gebeurtenisprovider niet wordt uitgevoerd wanneer een gebeurtenis plaatsvindt, start WMI de provider wanneer deze gebeurtenissen moet leveren.
In de volgende procedure wordt beschreven hoe u een gebeurtenisconsumerprovider implementeert.
Een provider voor gebeurtenisconsumenten implementeren
Ontwerp consumentenklassen in Managed Object Format (MOF) en registreer ze bij WMI. Zie MOF-klassen (Managed Object Format) ontwerpenvoor meer informatie.
Klasseproviders registreren zich bij WMI door een __Win32Provider-exemplaar en een __EventConsumerProviderRegistration-klasse te maken. Zie Een event consumer provider registrerenvoor meer informatie.
Implementeer de IWbemProviderInit-interface voor uw provider.
WMI maakt gebruik van IWbemProviderInit- om een provider te laden en te initialiseren. Zie Initialiseren van een providervoor meer informatie.
Notitie
Providers van gebeurtenisconsumenten worden sterk aangemoedigd om het multithreadingmodel 'Beide' te gebruiken.
Implementeer de IWbemEventConsumerProvider interface voor uw provider.
De IWbemEventConsumerProvider-interface is de primaire interface voor een eventconsumprovider.
Geef een of meer fysieke consumenten op om de gebeurtenisberichten van WMI te ontvangen.
Een fysieke consument is een COM-object dat een permanente gebeurtenisconsumer vertegenwoordigt. Alle fysieke gebruikers moeten de interface IWbemUnboundObjectSink implementeren. Zie Een fysieke consument implementerenvoor meer informatie.