Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запрос IOCTL_HID_SET_FEATURE отправляет отчет о функциях в коллекции верхнего уровня.
Общие сведения о устройствах HIDClass см. в коллекций HID.
Основной код
Входной буфер
Элемент Parameters.DeviceIoControl.InputBufferLength имеет размер в байтах выделенного входным буфера запрашивающего объекта, содержащего отчет о функциях класса HID.
Размер входного буфера в байтах. Буфер должен быть достаточно большим для хранения отчета о функциях плюс один дополнительный байт, указывающий идентификатор отчета, отличного от нуля. Если идентификатор отчета не используется, значение идентификатора равно нулю.
Элемент Irp->AssociatedIrp.SystemBuffer указывает на входной буфер, содержащий отчет о функциях. Если коллекция содержит идентификаторы отчетов, запрашивающий должен задать первый байт буфера в ненулевом идентификаторе отчета; В противном случае запрашиватель должен задать для первого байта нулевое значение. Отчет о функциях находится в ((PUCHAR)ReportBuffer + 1).
обработки мини-driver
Irp->UserBuffer указывает на структуру HID_XFER_PACKET, которую драйвер класса HID использует для ввода следующих элементов:
Длина входного буфера
Размер входного буфера в байтах. Буфер должен быть достаточно большим для хранения выходного отчета плюс один дополнительный байт, указывающий идентификатор отчета, не относящееся к ненулевому. Если идентификатор отчета не используется, значение идентификатора равно нулю.
обработки мини-driver
Размер структуры HID_XFER_PACKET.
Выходной буфер
Никакой.
Длина выходного буфера
Никакой.
Блок состояния
Драйвер класса HID задает следующие поля Irp->IoStatus:
- значение Information равно нулю.
- состояние имеет значение STATUS_SUCCESS, если передача завершена без ошибок. В противном случае для него задан соответствующий код ошибки NTSTATUS.
обработки мини-driver
Мини-накопители HID, которые выполняют ввод-вывод на устройство, задают следующие поля Irp->IoStatus:
- сведения задано число байтов, передаваемых на устройство.
- состояние имеет значение STATUS_SUCCESS, если передача завершена без ошибок. В противном случае для него задан соответствующий код ошибки NTSTATUS.
Мини-накопители HID, которые вызывают другие драйверы с этим IOCTL для выполнения ввода-вывода, должны убедиться, что поле Information блока состояния правильно и не изменяет содержимое поля состояния.
Требования
| Требование | Ценность |
|---|---|
| заголовка | hidclass.h (include Hidclass.h) |