IOCTL_HID_SET_FEATURE IOCTL (hidclass.h)
La richiesta di IOCTL_HID_SET_FEATURE invia un report di funzionalità a una raccolta di livello superiore.
Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
Codice principale
Buffer di input
Il Parameters.DeviceIoControl.InputBufferLength
membro è impostato sulle dimensioni, in byte, di un buffer di input allocato dal richiedente che contiene un report delle funzionalità della classe HID.
Dimensioni del buffer di input in byte. Il buffer deve essere abbastanza grande per contenere il report delle funzionalità 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 Irp->AssociatedIrp.SystemBuffer
membro punta al buffer di input che contiene un report di funzionalità. 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 della funzionalità si trova in ((PUCHAR)ReportBuffer + 1)
.
Gestione del minidriver
Irp->UserBuffer
punta a una struttura HID_XFER_PACKET utilizzata dal driver di classe HID per inserire i membri seguenti:
Lunghezza del buffer di input
Dimensioni del buffer di input in byte. Il buffer deve essere abbastanza grande per 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.
Gestione del minidriver
Dimensioni di una struttura HID_XFER_PACKET .
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco dello stato
Il driver di classe HID imposta i campi seguenti di Irp->IoStatus
:
- Le informazioni sono impostate su zero.
- Lo stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errore. In caso contrario, è impostato su un codice di errore NTSTATUS appropriato
Gestione del minidriver
I minidriver HID che eseguono l'I/O al dispositivo impostano i campi seguenti di Irp->IoStatus
:
- Le informazioni sono impostate sul numero di byte trasferiti nel dispositivo.
- Lo stato è impostato su STATUS_SUCCESS se il trasferimento è stato completato senza errore. 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 assicurarsi che il campo Informazioni del blocco di stato sia corretto e non modificare il contenuto del campo Stato .
Requisiti
Requisito | Valore |
---|---|
Intestazione | hidclass.h (include Hidclass.h) |