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)