IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
IOCTL_INTERNAL_USB_RESET_PORT запрос управления вводом-выводом используется драйвером для сброса порта вышестоящий управляемого устройства. После успешного сброса драйвер шины повторно выполняет выбор конфигурации и всех альтернативных параметров интерфейса, которые были у устройства до сброса. Все дескрипторы канала, дескрипторы конфигурации и дескрипторы интерфейса остаются действительными.
Драйверы должны отменить все запросы ввода-вывода и дождаться их завершения, прежде чем инициировать эту операцию.
Драйвер, который управляет отдельным интерфейсом на составном устройстве, не может сбросить интерфейс без сброса всего составного устройства и всех его интерфейсов. По этой причине драйверы, управляющие интерфейсами, должны пытаться восстановить ошибки других типов, например сброс каналов (_URB_PIPE_REQUEST), перед сбросом интерфейса.
Этот IOCTL-файл должен отправляться по PASSIVE_LEVEL IRQL.
IOCTL_INTERNAL_USB_RESET_PORT — это запрос на управление вводом-выводом в режиме ядра. Этот запрос предназначен для PDO концентратора USB.
Основной код
IRP_MJ_INTERNAL_DEVICE_CONTROL
Входной буфер
Нет.
Длина входного буфера
Нет.
Выходной буфер
Нет.
Длина выходного буфера
Нет.
Блок состояния
Драйвер шины или порта устанавливает для параметра Irp-IoStatus.Status> значение STATUS_SUCCESS или соответствующее состояние ошибки.
Требования
Требование | Значение |
---|---|
Заголовок | usbioctl.h (включая Usbioctl.h) |