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 |
---|---|
|
Il y avait une mémoire insuffisante. |
|
La tentative de communication avec WMI par le framework a échoué. |
|
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) |