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