Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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.
I minidriver HID che chiamano altri driver con questo IRP per eseguire l'I/O al dispositivo devono assicurarsi che il campo Informazioni del blocco di stato sia corretto e non modificare il contenuto del campo Stato .

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)

Vedi anche

HidD_GetFeature

HidD_GetInputReport

HidD_SetFeature

HidD_SetOutputReport

IOCTL_HID_GET_FEATURE

IOCTL_HID_GET_INPUT_REPORT

IOCTL_HID_SET_FEATURE

IOCTL_HID_SET_OUTPUT_REPORT

IOCTL_HID_WRITE_REPORT