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