WdfDevicePostEvent, fonction (wdfdevice.h)
[S’applique à UMDF uniquement]
La méthode WdfDevicePostEvent avertit de façon asynchrone les applications qui attendent l’événement spécifié à partir d’un pilote.
Syntaxe
NTSTATUS WdfDevicePostEvent(
[in] WDFDEVICE Device,
[in] REFGUID EventGuid,
[in] WDF_EVENT_TYPE WdfEventType,
[in] BYTE *Data,
[in] ULONG DataSizeCb
);
Paramètres
[in] Device
Handle pour un objet d’appareil d’infrastructure.
[in] EventGuid
GUID de l’événement. Le GUID est déterminé par l’application et le pilote et est opaque au framework.
[in] WdfEventType
Valeur de type WDF_EVENT_TYPE qui identifie le type d’événement. Dans la version actuelle d’UMDF, le pilote doit définir EventType sur WdfEventBroadcast (1). WdfEventBroadcast indique que l’événement est diffusé. Les applications peuvent s’abonner à des événements de type WdfEventBroadcast. Pour recevoir des événements de diffusion, l’application doit s’inscrire pour recevoir une notification via la fonction Microsoft Win32 RegisterDeviceNotification . Les événements de type WdfEventBroadcast sont exposés en tant qu’événements de type DBT_CUSTOMEVENT aux applications.
[in] Data
Pointeur vers une mémoire tampon qui contient des données associées à l’événement. NULL est une valeur valide.
[in] DataSizeCb
Taille, en octets, des données vers laquelle data pointe. Zéro est une valeur de taille valide si Data est défini sur NULL.
Valeur retournée
Si l’opération réussit, WdfDevicePostEvent retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :
Code de retour | Description |
---|---|
|
WdfEventType n’est pas défini sur WdfEventBroadcast. |
La méthode peut retourner d’autres valeurs NTSTATUS.
Remarques
Lorsque le pilote appelle WdfDevicePostEvent pour informer l’application demande d’un événement, UMDF envoie l’événement au système d’exploitation. Le système d’exploitation envoie l’événement à l’application qui demande une opération asynchrone. Si le système d’exploitation ne retourne initialement aucune erreur, WdfDevicePostEvent retourne STATUS_SUCCESS.
Toutefois, plus tard, si le système d’exploitation reçoit une erreur pendant qu’il tente de remettre l’événement (éventuellement en raison d’une mémoire insuffisante), le système d’exploitation ne peut pas informer le pilote de l’erreur. En raison de la nature asynchrone de cette notification d’événement, la remise de l’événement à l’application demandente n’est pas garantie.
Si des informations sur l’événement sont perdues jusqu’à l’application demande, l’application doit être en mesure de récupérer l’événement perdu.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1 |
Plateforme cible | Universal |
Version UMDF minimale | 2.0 |
En-tête | wdfdevice.h (inclure Wdf.h) |
Bibliothèque | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |