IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)
La richiesta IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS imposta il numero di buffer per la coda del report di input di una raccolta di livello superiore.
Ogni coda di report di input viene implementata come buffer anello. Se una raccolta trasmette i dati al driver di classe HID più velocemente rispetto al driver può leggerlo, alcuni dei dati potrebbero essere persi. Per evitare questo tipo di perdita, è possibile usare una richiesta di IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS per modificare il numero di buffer contenuti nella coda del report di input. Il driver di classe HID richiede almeno due buffer di input. In Windows 2000 il numero massimo di buffer di input supportati dal driver di classe HID è 200 e in Windows XP e versioni successive il numero massimo di buffer di input supportati dal driver di classe HID è 512. Il numero predefinito di buffer di input è 32.
Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
Codice principale
Buffer di input
Irp->AssociateIrp.SystemBuffer punta a un buffer di input di dimensioni ULONG che riceve il nuovo numero di buffer per la coda di report di input.
Parameters.DeviceIoControl.InputBufferLength nella posizione dello stack I/O dell'IRP contiene le dimensioni, in byte, del buffer di input in Irp-AssociatedIrp.SystemBuffer>. Questa dimensione deve essere sizeof(ULONG).
Lunghezza del buffer di input
Dimensioni di un ULONG.
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco dello stato
Se la richiesta ha esito positivo, il driver di classe HID imposta il campo Stato di Irp-IoStatus> su STATUS_SUCCESS; in caso contrario, imposta il campo Stato su un codice di errore NTSTATUS appropriato.
Requisiti
Requisito | Valore |
---|---|
Intestazione | hidclass.h (include Hidclass.h) |