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 |