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) |