Partager via


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
STATUS_INVALID_PARAMETER
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

Voir aussi

IWDFDevice ::P ostEvent

WDF_EVENT_TYPE