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 al framework.
[in] WdfEventType
Valore WDF_EVENT_TYPE tipizzato che identifica il tipo di evento. Nella versione corrente di UMDF, il driver deve impostare EventType su WdfEventBroadcast (1). WdfEventBroadcast indica che l'evento viene trasmesso. Le applicazioni possono sottoscrivere eventi di tipo WdfEventBroadcast. Per ricevere eventi di trasmissione, l'applicazione deve registrarsi per la notifica tramite la funzione Microsoft Win32 RegisterDeviceNotification . Gli eventi di tipo WdfEventBroadcast 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 punta Dati . Zero è un valore di dimensione valido se i dati sono impostati 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.
Commenti
Quando il driver chiama WdfDevicePostEvent per notificare all'applicazione richiesta di un evento, UMDF invia l'evento al sistema operativo. Il sistema operativo invia l'evento all'applicazione di richiesta in un'operazione asincrona. Se il sistema operativo non restituisce inizialmente alcun errore, WdfDevicePostEvent restituisce STATUS_SUCCESS.
Tuttavia, in seguito, se il sistema operativo riceve un errore mentre tenta di recapitare l'evento (probabilmente a causa di una condizione di memoria ridotta), il sistema operativo non riesce a informare il driver sull'errore. A causa della natura asincrona di questa notifica evento, il recapito dell'evento all'applicazione di richiesta non è garantito.
Se le informazioni sugli eventi si perdono fino all'applicazione richiesta, l'applicazione deve essere in grado di recuperare dall'evento perso.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8.1 |
Piattaforma di destinazione | Universale |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |
Libreria | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |