IOCTL_HID_READ_REPORT IOCTL (hidport.h)

Запрос IOCTL_HID_READ_REPORT передает входной отчет с устройства HIDClass в буфер драйвера класса HID.

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

Parameters.DeviceIoControl.OutputBufferLength содержит размер буфера, предоставленного в Irp-UserBuffer>.

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

Размер OutputBufferLength

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

Мини-диск HID заполняет буфер, на который указывает Irp-UserBuffer>, данными отчета, полученными с устройства.

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

Размер UserBuffer.

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

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

  • Для сведений задается количество байтов, передаваемых с устройства.
  • Состояние устанавливается в STATUS_SUCCESS, если передача выполнена без ошибок. В противном случае устанавливается соответствующий код ошибки NTSTATUS.
Мини-накопители HID, которые вызывают другие драйверы с этим IRP для выполнения ввода-вывода на свое устройство, должны убедиться, что поле Сведения блока состояния правильно и не изменяет содержимое поля Состояние .

Комментарии

IOCTL_HID_READ_REPORT обычно используется для непрерывного завершения входных отчетов, отправляемых устройством. Этот IOCTL отправляется вниз драйвером класса HID (HIDCLASS) в пинг-понг моды. Другими словами, как только запрос будет выполнен (завершен), на устройство может быть отправлен другой запрос, что позволяет непрерывно передавать данные. Это "асинхронный" механизм, поэтому, например, устройство может использовать его для отправки данных на узел в отношении изменений в состоянии по мере их возникновения.

Требования

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

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

HidD_GetFeature

HidD_GetInputReport

HidD_SetFeature

HidD_SetOutputReport

IOCTL_HID_GET_FEATURE

IOCTL_HID_GET_INPUT_REPORT

IOCTL_HID_SET_FEATURE

IOCTL_HID_SET_OUTPUT_REPORT

IOCTL_HID_WRITE_REPORT