IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)
Запрос IOCTL_INTERNAL_USB_GET_PORT_STATUS ввода-вывода запрашивает состояние PDO.
IOCTL_INTERNAL_USB_GET_PORT_STATUS — это запрос на управление вводом-выводом в режиме ядра. Этот запрос предназначен для PDO концентратора USB. Этот IOCTL необходимо отправить по адресу IRQL = PASSIVE_LEVEL.
Основной код
IRP_MJ_INTERNAL_DEVICE_CONTROL
Входной буфер
Parameters.Others.Argument1 должен быть указателем на ULONG для заполнения флагами состояния порта.
Длина входного буфера
Размер ULONG.
Выходной буфер
Parameters.Others.Argument1 указывает на ULONG с заполненными флагами состояния порта. Флаги могут быть одним или обоими из USBD_PORT_ENABLED (бит 0) или USBD_PORT_CONNECTED (бит 1). Если задан бит USB_PORT_ENABLED, порт был включен после сброса устройства, подключенного к порту. Когда бит USB_PORT_ENABLED недоступен, программное обеспечение отключило порт или оборудование отключило его из-за ненормальных условий оборудования. Когда задан бит USB_PORT_CONNECTED, корневой концентратор контроллера узла или внешний концентратор обнаружил, что устройство подключено к порту. Если разряд USB_PORT_CONNECTED не определен, корневой концентратор контроллера узла или внешний концентратор обнаружил, что устройство не подключено к порту.
Длина выходного буфера
Размер ULONG.
Блок состояния
Драйвер шины или порта устанавливает для параметра Irp-IoStatus.Status> значение STATUS_SUCCESS или соответствующее состояние ошибки.
Требования
Требование | Значение |
---|---|
Заголовок | usbioctl.h (включая Usbioctl.h) |