IOCTL_HID_SET_OUTPUT_REPORT IOCTL (hidclass.h)
La richiesta di IOCTL_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di di primo livello.
Per informazioni generali sui dispositivi HIDClass, vedere raccolte HID.
Codice principale
Buffer di input
Il membro Parameters.DeviceIoControl.InputBufferLength
è impostato sulle dimensioni, in byte, di un buffer di input allocato dal richiedente che contiene un report di output della classe HID.
Dimensioni del buffer di input in byte. Il buffer deve essere sufficientemente grande da contenere il report di output più un byte aggiuntivo che specifica un ID report diverso da zero. Se l'ID del report non viene usato, il valore ID è zero.
Il membro Irp->AssociatedIrp.SystemBuffer
punta al buffer di input che contiene un report di output. Se la raccolta include ID report, il richiedente deve impostare il primo byte del buffer su un ID report diverso da zero. In caso contrario, il richiedente deve impostare il primo byte su zero. Il report di output si trova in ((PUCHAR)ReportBuffer + 1)
.
minidriver che gestisce
Irp->UserBuffer
punta a una struttura HID_XFER_PACKET usata dal driver di classe HID per immettere i membri seguenti:
Lunghezza del buffer di input
Dimensioni del buffer di input in byte. Il buffer deve essere sufficientemente grande da contenere il report di output più un byte aggiuntivo che specifica un ID report diverso da zero. Se l'ID del report non viene usato, il valore ID è zero.
minidriver che gestisce
Dimensione di una struttura HID_XFER_PACKET.
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco di stato
Il driver di classe HID imposta i campi seguenti di Irp->IoStatus
:
- informazioni è impostata su zero.
- stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errori. In caso contrario, è impostato su un codice di errore NTSTATUS appropriato.
minidriver che gestisce
I minidriver HID che eseguono l'I/O nel dispositivo impostano i campi seguenti di Irp->IoStatus
:
- informazioni è impostato sul numero di byte trasferiti al dispositivo.
- stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errori. In caso contrario, è impostato su un codice di errore NTSTATUS appropriato.
I minidriver HID che chiamano altri driver con questo IOCTL per eseguire l'I/O devono garantire che il campo informazioni del blocco di stato sia corretto e non modificare il contenuto del campo Stato.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | hidclass.h (include Hidclass.h) |