Condividi tramite


Funzione WdfDevicePostEvent (wdfdevice.h)

[Si applica solo a UMDF]

Il metodo WdfDevicePostEvent notifica in modo asincrono alle applicazioni in attesa dell'evento specificato da un driver.

Sintassi

NTSTATUS WdfDevicePostEvent(
  [in] WDFDEVICE      Device,
  [in] REFGUID        EventGuid,
  [in] WDF_EVENT_TYPE WdfEventType,
  [in] BYTE           *Data,
  [in] ULONG          DataSizeCb
);

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] EventGuid

GUID per l'evento. Il GUID è determinato dall'applicazione e dal driver ed è opaco per il framework.

[in] WdfEventType

Valore WDF_EVENT_TYPEtipizzato che identifica il tipo di evento. Nella versione corrente di UMDF, il driver deve impostare EventType su WdfEventBroadcast (1). WdfEventBroadcast indica che l'evento è trasmesso. Le applicazioni possono sottoscrivere eventi WdfEventBroadcast-type. Per ricevere eventi di trasmissione, l'applicazione deve registrarsi per la notifica tramite la funzione RegisterDeviceNotification di Microsoft Win32. eventi WdfEventBroadcast-type vengono esposti come eventi di tipo DBT_CUSTOMEVENT alle applicazioni.

[in] Data

Puntatore a un buffer che contiene dati associati all'evento. NULL è un valore valido.

[in] DataSizeCb

Dimensioni, in byte, di dati a cui dati punta. Zero è un valore di dimensione valido se Data è impostato su NULL.

Valore restituito

Se l'operazione ha esito positivo, WdfDevicePostEvent restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
WdfEventType non è impostato su WdfEventBroadcast.
 

Il metodo potrebbe restituire altri valori NTSTATUS .

Osservazioni

Quando il driver chiama WdfDevicePostEvent per notificare all'applicazione richiedente un evento, UMDF invia l'evento al sistema operativo. Il sistema operativo invia l'evento all'applicazione richiedente in un'operazione asincrona. Se inizialmente il sistema operativo non restituisce alcun errore, WdfDevicePostEvent restituisce STATUS_SUCCESS.

Tuttavia, in un secondo momento, se il sistema operativo riceve un errore mentre tenta di recapitare l'evento (probabilmente a causa di una condizione di memoria insufficiente), il sistema operativo non è in grado di informare il driver sull'errore. A causa della natura asincrona di questa notifica di evento, il recapito dell'evento all'applicazione richiedente non è garantito.

Se le informazioni sugli eventi vengono perse fino all'applicazione richiedente, l'applicazione deve essere in grado di eseguire il ripristino dall'evento perso.

Fabbisogno

Requisito Valore
client minimo supportato Windows 8.1
piattaforma di destinazione Universale
versione minima di UMDF 2.0
intestazione wdfdevice.h (include Wdf.h)
libreria WUDFx02000.lib
dll WUDFx02000.dll
IRQL PASSIVE_LEVEL

Vedere anche

IWDFDevice::P ostEvent

WDF_EVENT_TYPE