Compartilhar via


IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

A solicitação IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS define o número de buffers para a fila de relatório de entrada de uma coleção de nível superior.

Cada fila de relatório de entrada é implementada como um buffer de anéis. Se uma coleção transmitir dados para o driver de classe HID mais rapidamente do que o driver pode lê-los, alguns dos dados poderão ser perdidos. Para evitar esse tipo de perda, você pode usar uma solicitação IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS para ajustar o número de buffers que a fila de relatório de entrada contém. O driver de classe HID requer um mínimo de dois buffers de entrada. No Windows 2000, o número máximo de buffers de entrada compatíveis com o driver de classe HID é 200 e, no Windows XP e posterior, o número máximo de buffers de entrada compatíveis com o driver de classe HID é 512. O número padrão de buffers de entrada é 32.

Para obter informações gerais sobre dispositivos HIDClass, consulte Coleções HID.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Irp->AssociatedIrp.SystemBuffer aponta para um buffer de entrada do tamanho ULONG que recebe o novo número de buffers para a fila de relatório de entrada.

Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S do IRP contém o tamanho, em bytes, do buffer de entrada em Irp-AssociatedIrp.SystemBuffer>. Esse tamanho deve ser sizeof(ULONG).

Comprimento do buffer de entrada

O tamanho de um ULONG.

Buffer de saída

Nenhum.

Comprimento do buffer de saída

Nenhum.

Bloco de status

Se a solicitação for bem-sucedida, o driver de classe HID definirá o campo Status de Irp-IoStatus> como STATUS_SUCCESS; caso contrário, definirá o campo Status como um código de erro NTSTATUS apropriado.

Requisitos

Requisito Valor
Cabeçalho hidclass.h (inclua Hidclass.h)

Confira também

HidD_GetNumInputBuffers