IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

Запрос IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS получает размер очереди входных отчетов для коллекции верхнего уровня.

Входная очередь отчетов реализуется в виде кольцевого буфера. Если коллекция передает данные в драйвер класса HID быстрее, чем считываются входные отчеты, отчеты могут быть потеряны. Размер очереди входных отчетов можно изменить с помощью IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS.

Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода IRP указывает размер выходного буфера в байтах, который должен иметь >значение = sizeof(ULONG).

Длина входного буфера

Размер буфера равен sizeof(ULONG).

Выходной буфер

Irp->AssociatedIrp.SystemBuffer указывает на буфер, который будет получать размер очереди входных данных отчета.

Длина выходного буфера

Размер буфера равен sizeof(ULONG).

Блок состояния

Драйвер класса HID задает следующие поля Irp-IoStatus>:

  • Если размер входной очереди отчета успешно получен, для сведений устанавливается значение sizeof(ULONG).
  • Состояние устанавливается в STATUS_SUCCESS, если передача выполнена без ошибок. В противном случае устанавливается соответствующий код ошибки NTSTATUS.

Требования

Требование Значение
Заголовок hidclass.h (включая Hidclass.h)

См. также раздел

HidD_SetNumInputBuffers