структура USB_NODE_CONNECTION_INFORMATION (usbioctl.h)
Структура USB_NODE_CONNECTION_INFORMATION используется с запросом IOCTL_USB_GET_NODE_CONNECTION_INFORMATION для получения сведений о USB-порту и подключенном устройстве.
Синтаксис
typedef struct _USB_NODE_CONNECTION_INFORMATION {
ULONG ConnectionIndex;
USB_DEVICE_DESCRIPTOR DeviceDescriptor;
UCHAR CurrentConfigurationValue;
BOOLEAN LowSpeed;
BOOLEAN DeviceIsHub;
USHORT DeviceAddress;
ULONG NumberOfOpenPipes;
USB_CONNECTION_STATUS ConnectionStatus;
USB_PIPE_INFO PipeList[0];
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;
Члены
ConnectionIndex
Значение, превышающее или равное 1, указывающее число порта.
DeviceDescriptor
Структура USB_DEVICE_DESCRIPTOR, которая сообщает дескриптор USB-устройства, возвращаемый подключенным устройством во время перечисления.
CurrentConfigurationValue
Содержит идентификатор, используемый с запросом SetConfiguration, чтобы указать текущую конфигурацию устройства, подключенного к указанному порту. Описание этого значения см. в разделе 9.4.7 в спецификации универсальной последовательной шины 3.1, доступной в USB-библиотеке документов.
LowSpeed
Логическое значение, указывающее, работает ли порт и подключенное устройство с низкой скоростью. TRUE указывает, что порт и подключенное устройство в настоящее время работают с низкой скоростью. FALSE указывает в противном случае.
DeviceIsHub
Логическое значение, указывающее, является ли устройство, подключенное к порту, концентратором. Если TRUE, устройство, подключенное к порту, является концентратором. Если FALSE, устройство не является концентратором.
DeviceAddress
Назначаемый USB-адрес относительно шины устройства, подключенного к порту.
NumberOfOpenPipes
Количество открытых USB-каналов, связанных с портом.
ConnectionStatus
Перечислитель USB_CONNECTION_STATUSтипа, указывающий состояние подключения.
PipeList[0]
Массив структур USB_PIPE_INFO, описывающих открытые каналы, связанные с портом. Описания каналов включают смещение расписания канала и дескриптор связанной конечной точки. Эти сведения можно использовать для вычисления использования пропускной способности.
Замечания
Если устройство не подключено к USB-порту, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION возвращает только сведения о порту. Если устройство подключено к порту, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION возвращает сведения о порту и подключенном устройстве.
Структура USB_NODE_CONNECTION_INFORMATION_EX — это расширенная версия USB_NODE_CONNECTION_INFORMATION. Две структуры идентичны, за исключением одного члена. В USB_NODE_CONNECTION_INFORMATION_EXэлемент LowSpeed заменяется элементом Speed. LowSpeed является логическим значением, поэтому, если оно TRUE, устройство имеет низкую скорость. Если оно FALSE, устройство имеет высокую скорость или полную скорость. Таким образом, структура USB_NODE_CONNECTION_INFORMATION не может отличаться от высокой и полной скорости.
Элемент Speed структуры USB_NODE_CONNECTION_INFORMATION_EX является UCHAR, и он может указать любое из значений перечислителя USB_DEVICE_SPEED.
Требования
Требование | Ценность |
---|---|
заголовка | usbioctl.h (include Usbioctl.h) |
См. также
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX