IOCTL_USB_GET_HUB_INFORMATION_EX IOCTL (usbioctl.h)

IOCTL_USB_GET_HUB_INFORMATION_EX I/O 控制请求由应用程序发送,以检索 USB_HUB_INFORMATION_EX 结构中 USB 中心的相关信息。

请求检索中心的最大端口号。 对于 USB 2.0 和 SuperSpeed 中心(非根中心),请求还会分别检索在 USB 2.0 和 3.0 规范中定义的关联中心描述符。

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

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

AssociatedIrp.SystemBuffer 指向调用方分配 USB_HUB_INFORMATION_EX 结构。

输入缓冲区长度

Parameters.DeviceIoControl.InputBufferLength 成员指示调用方分配的缓冲区的大小(以字节为单位),其大小等于 sizeof(USB_HUB_INFORMATION_EX)

输出缓冲区

在输出中,AssociatedIrp.SystemBuffer 所指向的 USB_HUB_INFORMATION_EX 结构填充了有关中心的信息。

输出缓冲区长度

Parameters.DeviceIoControl.OutputBufferLength 成员指示输出缓冲区的大小(以字节为单位)SystemBuffer

状态块

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

要求

要求 价值
最低支持的客户端 Windows 8
支持的最低服务器 不支持
标头 usbioctl.h (包括 Usbioctl.h)

另请参阅

USB_HUB_INFORMATION_EX