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


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 (include Usbioctl.h)