IOCTL_USB_USER_REQUEST IOCTL (usbuser.h)
Запрос IOCTL_USB_USER_REQUEST управления вводом-выводом доступен как для приложений пользовательского режима, так и для драйверов режима ядра.
IOCTL_USB_USER_REQUEST — это запрос на управление вводом-выводом в пользовательском режиме. Этот запрос предназначен для хост-контроллера USB (GUID_DEVINTERFACE_USB_HOST_CONTROLLER).
Вызывающие элементы могут указать любой из следующих кодов запросов:
- USBUSER_CLEAR_ROOTPORT_FEATURE
- Не используйте этот запрос.
- USBUSER_GET_CONTROLLER_DRIVER_KEY
- Сообщает ключ драйвера хост-контроллера в строке Юникода с USB_UNICODE_NAME типом. Этот запрос всегда включен.
- USBUSER_GET_CONTROLLER_INFO_0
- Извлекает структуру USB_CONTROLLER_INFO_0 , описывающую контроллер узла. Этот запрос всегда включен.
- USBUSER_GET_ROOTPORT_STATUS
- Не используйте этот запрос.
- USBUSER_GET_ROOTHUB_SYMBOLIC_NAME
- Сообщает символьное имя корневого концентратора в строке Юникода с USB_UNICODE_NAME типом. Этот запрос всегда включен.
- USBUSER_INVALID_REQUEST
- Не используйте этот запрос.
- USBUSER_OP_CLOSE_RAW_DEVICE
- Не используйте этот запрос.
- USBUSER_OP_OPEN_RAW_DEVICE
- Не используйте этот запрос.
- USBUSER_OP_MASK_DEVONLY_API
- Не используйте этот запрос.
- USBUSER_OP_MASK_HCTEST_API
- Не используйте этот запрос.
- USBUSER_OP_RAW_RESET_PORT
- Не используйте этот запрос.
- USBUSER_OP_SEND_ONE_PACKET
- Не используйте этот запрос.
- USBUSER_OP_SEND_RAW_COMMAND
- Не используйте этот запрос.
- USBUSER_SET_ROOTPORT_FEATURE
- Не используйте этот запрос.
- USBUSER_PASS_THRU
- Отправляет конкретную команду поставщика, определенную структурой USB_PASS_THRU_PARAMETERS , драйверу мини-порта хост-контроллера. Этот запрос всегда включен.
- USBUSER_GET_BANDWIDTH_INFORMATION
- Извлекает структуру USB_BANDWIDTH_INFO , содержащую сведения о выделенной пропускной способности. Этот запрос всегда включен.
- USBUSER_GET_POWER_STATE_MAP
- Извлекает структуру USB_POWER_INFO , содержащую сведения о состоянии питания контроллера узла и корневых концентраторов. Этот запрос всегда включен.
- USBUSER_GET_BUS_STATISTICS_0
- Извлекает структуру USB_BUS_STATISTICS_0 , содержащую статистику по шине. Этот запрос всегда включен.
- USBUSER_GET_BUS_STATISTICS_0_AND_RESET
- Не используйте этот запрос.
- USBUSER_GET_USB_DRIVER_INFORMATION
- Извлекает структуру USB_DRIVER_VERSION_PARAMETERS , которая указывает версию драйвера, USB-стека и связанные интерфейсы. Этот запрос всегда включен.
- USBUSER_GET_USB2_HW_VERSION
- Не используйте этот запрос.
Входной буфер
Буфер в Irp-AssociatedIrp.SystemBuffer> содержит структуру заголовка пользовательского запроса (USBUSER_REQUEST_HEADER), которая определяет запрос. За структурой заголовка следует структура, содержащая параметры запроса. Дополнительные сведения о структурах параметров, соответствующих каждому запросу, см. в описании каждого запроса.
Длина входного буфера
Размер структуры USBUSER_REQUEST_HEADER .
Выходной буфер
Структура параметров сразу же следует за структурой USBUSER_REQUEST_HEADER в Irp-AssociatedIrp.SystemBuffer>. Для некоторых пользовательских запросов структура параметров будет содержать выходные данные по завершении запроса.
Длина выходного буфера
Длина структуры параметров.
Требования
Требование | Значение |
---|---|
Заголовок | usbuser.h (включая Usbuser.h) |