Afficher en anglais

Partage via


IoWMIWriteEvent, fonction (wdm.h)

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

Syntaxe

C++
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 de retour

IoWMIWriteEvent retourne un code d’état dans la liste suivante :

Retourner le code Description
STATUS_SUCCESS
Indique que WMI a correctement mis en file d’attente l’événement pour la 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 insuffisantes étaient disponibles pour WMI afin de mettre l’événement en file d’attente pour la remise.

Remarques

La structure WNODE_EVENT_ITEM allouée par l’appelant et transmise dans WnodeEventItem doit être allouée à partir du 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 activés pour WMI. Cela garantit qu’il existe un consommateur d’événements en attente d’indication sur cet événement.

Les appelants de cette routine doivent s’exécuter au <IRQL = APC_LEVEL, à une exception près. Lorsque les indicateurs de membre de la structure WNODE_HEADER contiennent des WNODE_FLAG_TRACED_GUID, IoWMIWriteEvent peuvent être appelés à n’importe quel irQL. (La structure WNODE_HEADER est membre de la structure WNODE_EVENT_ITEM vers laquelle pointe le paramètre WnodeEvent Item.)

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’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 Remarques)

Voir aussi

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM