WdfWmiInstanceFireEvent, fonction (wdfwmi.h)
[S’applique uniquement à KMDF]
La méthode WdfWmiInstanceFireEvent envoie un événement WMI aux clients WMI qui se sont 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 d’un objet WMI instance 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 vers laquelle Pointe EventData .
[in, optional] EventData
Pointeur vers les données d’événement ou NULL s’il n’y a pas de données d’événement.
Valeur retournée
WdfWmiInstanceFireEvent retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
La mémoire était insuffisante. |
|
La tentative de communication de l’infrastructure avec WMI a échoué. |
|
La mémoire tampon de données d’événement était trop grande. |
Cette méthode peut également retourner d’autres valeurs NTSTATUS.
Un bogue case activée 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 fonction de rappel EvtWmiProviderFunctionControl 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 les pilotes Framework-Based.
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
);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
En-tête | wdfwmi.h (inclure Wdf.h) |
Bibliothèque | Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.) |
IRQL | <= APC_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |