Поделиться через


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)

См. также

_URB_PIPE_REQUEST