IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL (usbioctl.h)

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION请求检索有关指示的 USB 端口以及连接到端口的设备(如果有)的信息。

客户端驱动程序必须以 IRQL PASSIVE_LEVEL 发送此 IOCTL。

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 是用户模式 I/O 控制请求。 此请求面向 USB 集线器设备 (GUID_DEVINTERFACE_USB_HUB) 。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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_INFORMATIONUSB_NODE_CONNECTION_INFORMATION_EX

要求

要求
Header usbioctl.h (包括 Usbioctl.h)

另请参阅

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX

USB_NODE_CONNECTION_INFORMATION

USB_NODE_CONNECTION_INFORMATION_EX