IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL (usbioctl.h)
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 请求检索有关指示的 USB 端口和连接到端口的设备的信息(如果有)。
客户端驱动程序必须在 PASSIVE_LEVEL IRQL 上发送此 IOCTL。
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 是用户模式 I/O 控制请求。 此请求面向 USB 中心设备(GUID_DEVINTERFACE_USB_HUB)。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员指向描述连接的用户分配 USB_NODE_CONNECTION_INFORMATION 结构。 输入时,此结构的 ConnectionIndex 成员包含端口号。
输入缓冲区长度
USB_NODE_CONNECTION_INFORMATION 结构的大小。
输出缓冲区
输出时,Parameters.DeviceIoControl.OutputBufferLength 成员包含输出数据的大小。 此大小是可变的,因为它取决于与端口关联的管道数。
AssociatedIrp.SystemBuffer 指向包含输出数据的用户分配 USB_NODE_CONNECTION_INFORMATION 结构。
输出缓冲区长度
USB_NODE_CONNECTION_INFORMATION 结构的大小。
状态块
USB 堆栈 Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。 否则,USB 堆栈会将 状态 设置为适当的错误条件,例如STATUS_INVALID_PARAMETER或STATUS_INSUFFICIENT_RESOURCES。
言论
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX 请求是 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION的扩展版本。 这两个请求是相同的,只是请求的扩展版本可以报告低、完整和高速连接,而较旧的 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 请求仅报告低速和全速连接。 有关这两个请求之间的差异的详细信息,请参阅 USB_NODE_CONNECTION_INFORMATION 和 USB_NODE_CONNECTION_INFORMATION_EX。
要求
要求 | 价值 |
---|---|
标头 | usbioctl.h (包括 Usbioctl.h) |
另请参阅
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX