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 del sistema a cui punta Irp->UserBuffer con i dati del report recuperati dal dispositivo.
Lunghezza del buffer di output
Dimensioni dell'UserBuffer di.
Blocco di stato
I minidriver HID che eseguono l'I/O nel dispositivo impostano i campi seguenti di Irp->IoStatus:
- informazioni è impostato sul numero di byte trasferiti dal dispositivo.
- stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errori. In caso contrario, è impostato su un codice di errore NTSTATUS appropriato.
Osservazioni
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 segnalazione continua dei dati. Si tratta di un meccanismo "asincrono", quindi, il dispositivo può usarlo per inviare dati all'host, in relazione alle modifiche apportate allo stato durante l'esecuzione di tali modifiche.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | hidport.h (include Hidport.h) |