Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een stuurprogramma kan WMI-gebeurtenissen gebruiken om toepassingen in de gebruikersmodus op de hoogte te stellen van gebeurtenissen zonder dat de toepassingen IR's hoeven te peilen of verzenden. Een stuurprogramma moet WMI-gebeurtenissen gebruiken om WMI-clients op de hoogte te stellen van uitzonderlijke omstandigheden, niet als alternatief voor foutlogboekregistratie. Een stuurprogramma moet ondersteuning bieden voor standaardgebeurtenisblokken die zijn gedefinieerd voor het apparaattype in Wmicore.mof, en kan aanvullende aangepaste gebeurtenisblokken definiëren en registreren om apparaatspecifieke meldingen te ondersteunen.
Een gebeurtenisblok is gewoon een gegevensblok dat is afgeleid van de abstracte basisklasse WMIEvent. Een gebeurtenisblok kan dezelfde gegevens bevatten als een gegevensblok of leeg zijn. Een gebeurtenisblok hoeft dus geen door het stuurprogramma gedefinieerde gegevensitems te bevatten. Als een gebeurtenisblok wel gegevens bevat, mag de totale grootte van de WNODE_XXX plus de gegevens de door het register gedefinieerde limiet van 1 kilobyte niet overschrijden. In het algemeen resulteren kleinere gebeurtenissen in betere systeemprestaties en meer tijdige meldingen. Zie MOF-syntaxis voor WMI-gegevens- en gebeurtenisblokken enhet ontwerpen van WMI-gegevens en gebeurtenisblokken voor informatie over het definiëren van blokken.
Een stuurprogramma geeft ondersteuning voor een gebeurtenis aan door het bijbehorende gebeurtenisblok te registreren met WMIREG_FLAG_EVENT_ONLY_GUID ingesteld in de WMIREGGUID-structuur van het blok. Zie Registreren als een WMI-gegevensprovider voor meer informatie over het registreren van blokken.
Wanneer een WMI-clientgebruiker een melding van een gebeurtenis aanvraagt, verzendt WMI een IRP_MN_ENABLE_EVENTS aanvraag naar het stuurprogramma, die het stuurprogramma waarschuwt om te beginnen met het bewaken van de door het stuurprogramma bepaalde triggervoorwaarde. Wanneer de triggervoorwaarde zich vervolgens voordoet, verzendt het stuurprogramma de gebeurtenis naar WMI, die deze levert aan alle gegevensgebruikers die zich hebben geregistreerd voor de gebeurtenis.
Een stuurprogramma verzendt een gebeurtenis op een van de volgende manieren naar WMI:
Roep de WMI-bibliotheekroutine WmiFireEvent in de kernelmodus aan. Een stuurprogramma kan WmiFireEvent aanroepen om alleen gebeurtenissen te verzenden die geen dynamische instantienamen gebruiken en die statische basisinstantienamen op één basisnaamstring of de apparaatinstantie-ID van een PDO baseren. Bovendien moet de gebeurtenis één exemplaar zijn: een stuurprogramma kan WmiFireEvent niet aanroepen om een gebeurtenis te verzenden die uit één item of meerdere exemplaren bestaat. Zie Een gebeurtenis verzenden met WmiFireEvent voor meer informatie.
Roep de routine van de kernelmodus IoWMIWriteEvent aan met een aanwijzer naar een door het stuurprogramma toegewezen en geïnitialiseerde WNODE_XXX-structuur die de gegevens van de gebeurtenis bevat. Zie Een gebeurtenis verzenden met IoWMIWriteEvent voor meer informatie.