IOCTL_HID_READ_REPORT IOCTL (hidport.h)
Запрос IOCTL_HID_READ_REPORT передает входной отчет с устройства HIDClass в буфер драйвера класса HID.
Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.
Основной код
Входной буфер
Parameters.DeviceIoControl.OutputBufferLength содержит размер буфера, предоставленного в Irp-UserBuffer>.
Длина входного буфера
Размер OutputBufferLength
Выходной буфер
Мини-диск HID заполняет буфер, на который указывает Irp-UserBuffer>, данными отчета, полученными с устройства.
Длина выходного буфера
Размер UserBuffer.
Блок состояния
Мини-накопители HID, выполняющие операции ввода-вывода на устройство, задают следующие поля Irp-IoStatus>:
- Для сведений задается количество байтов, передаваемых с устройства.
- Состояние устанавливается в STATUS_SUCCESS, если передача выполнена без ошибок. В противном случае устанавливается соответствующий код ошибки NTSTATUS.
Комментарии
IOCTL_HID_READ_REPORT обычно используется для непрерывного завершения входных отчетов, отправляемых устройством. Этот IOCTL отправляется вниз драйвером класса HID (HIDCLASS) в пинг-понг моды. Другими словами, как только запрос будет выполнен (завершен), на устройство может быть отправлен другой запрос, что позволяет непрерывно передавать данные. Это "асинхронный" механизм, поэтому, например, устройство может использовать его для отправки данных на узел в отношении изменений в состоянии по мере их возникновения.
Требования
Требование | Значение |
---|---|
Заголовок | hidport.h (включая Hidport.h) |