структура 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 (включая Usbioctl.h) |
См. также раздел
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX