Partager via


WmiFireEvent, fonction (wmilib.h)

La routine WmiFireEvent envoie un événement à WMI pour la remise aux consommateurs de données qui ont demandé la 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_OBJECTdu 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 de l’instance.

[in] EventDataSize

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

[in, optional] EventData

Pointeur vers une mémoire tampon non paginé 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 être NULL. WMI libère la mémoire tampon sans intervention supplémentaire du pilote.

Valeur de retour

WmiFireEvent propage l’état 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 pour la remise à tous les consommateurs de données qui ont demandé la notification de l’événement. Tous les pointeurs passés à WmiFireEvent doivent pointer vers une mémoire non modifiable, 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 à EventData. WMI remplit une structure de 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 de suivi d’événements WMI.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wmilib.h (include Wmilib.h)
bibliothèque Wmilib.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl