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


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 (включая Usbioctl.h)