Partager via


WmiFireEvent, fonction (wmilib.h)

La routine WmiFireEvent envoie un événement à WMI pour livraison aux consommateurs de données qui ont demandé une notification de l’événement.

Syntaxe

NTSTATUS WmiFireEvent(
  [in]           PDEVICE_OBJECT DeviceObject,
  [in]           LPCGUID        Guid,
  [in]           ULONG          InstanceIndex,
  [in]           ULONG          EventDataSize,
  [in, optional] PVOID          EventData
);

Paramètres

[in] DeviceObject

Pointeur vers le DEVICE_OBJECT du pilote.

[in] Guid

Pointeur vers le GUID qui représente le bloc d’événements.

[in] InstanceIndex

Si le bloc d’événements a plusieurs instances, spécifie l’index du instance.

[in] EventDataSize

Spécifie le nombre d’octets de données dans EventData. Si aucune donnée n’est générée pour un événement, EventData doit être égal à zéro.

[in, optional] EventData

Pointeur vers une mémoire tampon non pagée allouée par le pilote contenant les données générées par le pilote pour l’événement. Si aucune donnée n’est générée pour un événement, EventData doit avoir la valeur NULL. WMI libère la mémoire tampon sans intervention supplémentaire du pilote.

Valeur retournée

WmiFireEvent propage le status retourné par IoWmiWriteEvent, ou retourne STATUS_INSUFFICIENT_RESOURCES s’il n’a pas pu allouer de mémoire pour l’événement.

Remarques

Un pilote appelle WmiFireEvent pour envoyer un événement à WMI afin de le remettre à tous les consommateurs de données qui ont demandé une notification de l’événement. Tous les pointeurs passés à WmiFireEvent doivent pointer vers la mémoire nonpagable, telle que le pool non paginé.

Le pilote envoie un événement uniquement s’il a été précédemment activé par la routine DpWmiFunctionControl du pilote, que WMI appelle pour traiter une demande de IRP_MN_ENABLE_EVENT .

Le pilote écrit toutes les données associées à l’événement dans la mémoire tampon dans EventData. WMI remplit une structure WNODE_SINGLE_INSTANCE avec les données et appelle IoWmiWriteEvent pour remettre l’événement.

Pour plus d’informations sur le suivi d’événements, consultez Suivi d’événements WMI.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wmilib.h (inclure Wmilib.h)
Bibliothèque Wmilib.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl