IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL (usbioctl.h)

Запрос ввода-вывода IOCTL_INTERNAL_USB_CYCLE_PORT имитирует отключение устройства и повторное подключение к порту, связанному с PDO.

Драйверы должны отменить все запросы ввода-вывода и дождаться завершения их перед началом этой операции.

Драйвер, который управляет отдельным интерфейсом на составном устройстве, не может циклировать порт, к которому подключено устройство, не затрагивая все составное устройство и все его интерфейсы. По этой причине водители, управляющие интерфейсами, должны пытаться выполнить восстановление других типов ошибок, таких как сброс каналов (_URB_PIPE_REQUEST), перед велоспортом порта.

IOCTL_INTERNAL_USB_CYCLE_PORT — это запрос на управление операцией ввода-вывода в режиме ядра. Этот запрос предназначен для PDO USB-концентратора. Этот запрос должен быть отправлен по irQL PASSIVE_LEVEL.

Основной код

IRP_MJ_INTERNAL_DEVICE_CONTROL

Входной буфер

Никакой.

Длина входного буфера

Никакой.

Выходной буфер

Никакой.

Длина выходного буфера

Никакой.

Блок состояния

Драйвер шины или порта задает Irp->IoStatus.Status для STATUS_SUCCESS или соответствующего состояния ошибки.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Операционные системы Windows XP и более поздние версии.
заголовка usbioctl.h (include Usbioctl.h)