IOCTL_HID_READ_REPORT IOCTL (hidport.h)
La richiesta di IOCTL_HID_READ_REPORT trasferisce un report di input da un dispositivo HIDClass nel buffer del driver di classe HID.
Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
Codice principale
Buffer di input
Parameters.DeviceIoControl.OutputBufferLength contiene le dimensioni del buffer fornito in Irp-UserBuffer>.
Lunghezza del buffer di input
Dimensioni di OutputBufferLength
Buffer di output
Il minidriver HID riempie il buffer residente dal sistema a cui punta Irp-UserBuffer> con i dati del report recuperati dal dispositivo.
Lunghezza del buffer di output
Dimensione dell'oggetto UserBuffer.
Blocco dello stato
I minidriver HID che eseguono l'I/O al dispositivo impostano i campi seguenti di Irp-IoStatus>:
- Le informazioni vengono impostate sul numero di byte trasferiti dal dispositivo.
- Lo stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errori. In caso contrario, viene impostato su un codice di errore NTSTATUS appropriato.
Commenti
IOCTL_HID_READ_REPORT viene in genere usato per completare continuamente i report di input inviati dal dispositivo. Questo IOCTL viene inviato dal driver di classe HID (HIDCLASS) in modalità ping-pong. In altre parole, non appena una richiesta viene soddisfatta (completata), un'altra può essere inviata al dispositivo, consentendo la creazione continua di report dei dati. Si tratta di un meccanismo "asincrono", quindi, ad esempio, il dispositivo può usarlo per inviare dati all'host, in relazione alle modifiche nello stato in cui si verificano tali modifiche.
Requisiti
Requisito | Valore |
---|---|
Intestazione | hidport.h (include Hidport.h) |