IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION IOCTL (usbioctl.h)

IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 请求检索 USB 端口超速通道信息。

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

IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 是用户模式 I/O 控制请求。 此请求面向 USB 中心设备(GUID_DEVINTERFACE_USB_HUB)。

主要代码

IRP_MJ_DEVICE_CONTROL

输入/输出缓冲区

输入和输出缓冲区都指向调用方分配 USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 结构。 在输入时,此结构的 ConnectionIndex 成员必须包含大于或等于 1 的数字,指示要报告其超速通道信息的端口数。 中心驱动程序在 USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 结构的其余成员中返回超速车道信息。 IRP,AssociatedIrp.SystemBuffer 成员指向 USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 结构。

输出时,USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 结构从 USB 中心驱动程序接收有关指示的超速通道的信息。

输入/输出缓冲区长度

USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 结构的大小。

状态块

USB 堆栈 Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。 否则,USB 堆栈会将 状态 设置为适当的错误条件,例如STATUS_INVALID_PARAMETER或STATUS_INSUFFICIENT_RESOURCES。

言论

下面是演示如何检索 USB 端口超速通道信息的示例。

success = DeviceIoControl(hHubDevice,
                          IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION,
                          connectionSSPInfo,
                          sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
                          connectionSSPInfo,
                          sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
                          &nBytes,
                          NULL);

要求

要求 价值
标头 usbioctl.h

另请参阅