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 设备描述符的 USB_DEVICE_DESCRIPTOR 结构。
CurrentConfigurationValue
包含与 SetConfiguration 请求一起使用的 ID,用于指定连接到所指示端口的设备当前配置。 有关此值的说明,请参阅 USB 文档库提供的通用串行总线 3.1 规范中的第 9.4.7 节。
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 结构无法区分高速和全速。
USB_NODE_CONNECTION_INFORMATION_EX 结构的 Speed 成员是 UCHAR,它可以指定 USB_DEVICE_SPEED 枚举器的任何值。
要求
要求 | 价值 |
---|---|
标头 | usbioctl.h (包括 Usbioctl.h) |
另请参阅
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX