Поделиться через


IOCTL_HID_READ_REPORT IOCTL (hidport.h)

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

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

Размер OutputBufferLength

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

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

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

Размер UserBuffer.

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

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

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

Замечания

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

Требования

Требование Ценность
заголовка hidport.h (include 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