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