Partager via


WdfWmiInstanceFireEvent, fonction (wdfwmi.h)

[S’applique uniquement à KMDF]

La méthode WdfWmiInstanceFireEvent envoie un événement WMI aux clients WMI inscrits pour recevoir une notification d’événement.

Syntaxe

NTSTATUS WdfWmiInstanceFireEvent(
  [in]           WDFWMIINSTANCE WmiInstance,
  [in, optional] ULONG          EventDataSize,
  [in, optional] PVOID          EventData
);

Paramètres

[in] WmiInstance

Handle vers un objet d’instance WMI que le pilote a obtenu à partir d’un appel précédent à WdfWmiInstanceCreate.

[in, optional] EventDataSize

Taille, en octets, des données d’événement qui EventData pointe vers.

[in, optional] EventData

Pointeur vers les données d’événement, ou NULL s’il n’existe aucune donnée d’événement.

Valeur de retour

WdfWmiInstanceFireEvent retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :

Retourner le code Description
STATUS_INSUFFICIENT_RESOURCES
Il y avait une mémoire insuffisante.
STATUS_UNSUCCESSFUL
La tentative de communication avec WMI par le framework a échoué.
STATUS_BUFFER_OVERFLOW
La mémoire tampon de données d’événement était trop volumineuse.
 

Cette méthode peut également retourner d’autres valeurs NTSTATUS .

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Remarques

Votre pilote doit appeler WdfWmiInstanceFireEvent uniquement si un client WMI s’est inscrit pour la notification d’événement. Le pilote peut déterminer s’il doit appeler WdfWmiInstanceFireEvent en fournissant une EvtWmiProviderFunctionControl fonction de rappel ou en appelant WdfWmiProviderIsEnabled.

Le pilote doit placer ses données spécifiques à l’événement, le cas échéant, dans la mémoire tampon vers laquelle pointe le paramètre EventData. L’infrastructure ajoute toutes les informations d’en-tête WMI nécessaires.

Pour plus d’informations sur la méthode WdfWmiInstanceFireEvent, consultez Prise en charge de WMI dans Framework-Based Drivers.

Exemples

L’exemple de code suivant envoie un événement WMI aux clients WMI.

MY_WMI_EVENT_DATA eventData;
NTSTATUS  status;

status = WdfWmiInstanceFireEvent(
                                 WmiInstance,
                                 sizeof(eventData),
                                 (PVOID)&eventData
                                 );

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
d’en-tête wdfwmi.h (include Wdf.h)
bibliothèque Wdf01000.sys (voir Versioning de la bibliothèque Framework.)
IRQL <= APC_LEVEL
règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

EvtWmiProviderFunctionControl

WdfWmiInstanceCreate

WdfWmiProviderIsEnabled