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)。
主要代码
输入缓冲区
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) |