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