Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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)

Vedi anche

HidD_GetNumInputBuffers