Partager via


Fonction IoWMIWriteEvent (wdm.h)

La routine IoWMIWriteEvent remet un événement donné aux composants WMI en mode utilisateur pour notification.

Syntaxe

NTSTATUS IoWMIWriteEvent(
  [in, out] PVOID WnodeEventItem
);

Paramètres

[in, out] WnodeEventItem

Pointeur vers une structure WNODE_EVENT_ITEM à remettre aux composants WMI en mode utilisateur qui ont demandé la notification de l’événement.

Valeur retournée

IoWMIWriteEvent retourne un code status à partir de la liste suivante :

Code de retour Description
STATUS_SUCCESS
Indique que WMI a correctement mis l’événement en file d’attente pour remise aux composants WMI en mode utilisateur.
STATUS_UNSUCCESSFUL
Indique que les services WMI ne sont pas disponibles.
STATUS_BUFFER_OVERFLOW
Indique que l’élément d’événement spécifié dépasse la taille maximale autorisée.
STATUS_INSUFFICIENT_RESOURCES
Indique que les ressources disponibles étaient insuffisantes pour que WMI soit en attente de remise de l’événement.

Remarques

La structure WNODE_EVENT_ITEM allouée par l’appelant et passée dans WnodeEventItem doit être allouée à partir d’un pool non paginé. Si IoWMIWriteEvent retourne STATUS_SUCCESS, la mémoire de l’élément d’événement est automatiquement libérée par le système. Si IoWMIWriteEvent retourne autre chose que STATUS_SUCCESS, il incombe à l’appelant de libérer la mémoire tampon.

Les pilotes doivent uniquement appeler IoWMIWriteEvent pour les événements qui ont été activés pour WMI. Cela garantit qu’un consommateur d’événements attend une indication sur cet événement.

Les appelants de cette routine doivent s’exécuter sur IRQL <= APC_LEVEL, à une exception près. Lorsque le membre Flags de la structure WNODE_HEADER contient WNODE_FLAG_TRACED_GUID, IoWMIWriteEvent peut être appelé à n’importe quel IRQL. (La structure WNODE_HEADER est membre de la structure WNODE_EVENT_ITEM vers laquelle pointe le paramètre WnodeEventItem .)

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (voir la section Notes)

Voir aussi

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM