IOCTL_USB_USER_REQUEST IOCTL (usbuser.h)
IOCTL_USB_USER_REQUEST I/O 控制请求可用于用户模式应用程序和内核模式驱动程序。
IOCTL_USB_USER_REQUEST 是用户模式 I/O 控制请求。 此请求面向 USB 主机控制器 (GUID_DEVINTERFACE_USB_HOST_CONTROLLER) 。
调用方可以指定以下任何请求代码:
- USBUSER_CLEAR_ROOTPORT_FEATURE
- 请勿使用此请求。
- USBUSER_GET_CONTROLLER_DRIVER_KEY
- 在 USB_UNICODE_NAME类型的 Unicode 字符串中报告主机控制器驱动程序密钥。 始终启用此请求。
- USBUSER_GET_CONTROLLER_INFO_0
- 检索描述主机控制器 的USB_CONTROLLER_INFO_0 结构。 始终启用此请求。
- USBUSER_GET_ROOTPORT_STATUS
- 请勿使用此请求。
- USBUSER_GET_ROOTHUB_SYMBOLIC_NAME
- 报告 USB_UNICODE_NAME类型的 Unicode 字符串中的根中心符号名称。 始终启用此请求。
- USBUSER_INVALID_REQUEST
- 请勿使用此请求。
- USBUSER_OP_CLOSE_RAW_DEVICE
- 请勿使用此请求。
- USBUSER_OP_OPEN_RAW_DEVICE
- 请勿使用此请求。
- USBUSER_OP_MASK_DEVONLY_API
- 请勿使用此请求。
- USBUSER_OP_MASK_HCTEST_API
- 请勿使用此请求。
- USBUSER_OP_RAW_RESET_PORT
- 请勿使用此请求。
- USBUSER_OP_SEND_ONE_PACKET
- 请勿使用此请求。
- USBUSER_OP_SEND_RAW_COMMAND
- 请勿使用此请求。
- USBUSER_SET_ROOTPORT_FEATURE
- 请勿使用此请求。
- USBUSER_PASS_THRU
- 将 USB_PASS_THRU_PARAMETERS结构定义的 特定于供应商的命令发送到主机控制器微型端口驱动程序。 始终启用此请求。
- USBUSER_GET_BANDWIDTH_INFORMATION
- 检索包含已分配带宽相关信息 的USB_BANDWIDTH_INFO 结构。 始终启用此请求。
- USBUSER_GET_POWER_STATE_MAP
- 检索包含主机控制器和根中心的电源状态信息的 USB_POWER_INFO 结构。 始终启用此请求。
- USBUSER_GET_BUS_STATISTICS_0
- 检索包含总线统计信息 的USB_BUS_STATISTICS_0 结构。 始终启用此请求。
- USBUSER_GET_BUS_STATISTICS_0_AND_RESET
- 请勿使用此请求。
- USBUSER_GET_USB_DRIVER_INFORMATION
- 检索指示驱动程序版本、USB 堆栈和关联接口的 USB_DRIVER_VERSION_PARAMETERS 结构。 始终启用此请求。
- USBUSER_GET_USB2_HW_VERSION
- 请勿使用此请求。
输入缓冲区
Irp-AssociatedIrp.SystemBuffer> 中的缓冲区包含定义请求 (USBUSER_REQUEST_HEADER) 的用户请求标头结构。 在标头结构之后是一个包含请求参数的结构。 有关与每个请求对应的参数结构的详细信息,请参阅每个请求的说明。
输入缓冲区长度
USBUSER_REQUEST_HEADER结构的大小。
输出缓冲区
参数结构紧跟在 Irp-AssociatedIrp.SystemBuffer> 的 USBUSER_REQUEST_HEADER 结构后面。 对于某些用户请求,当请求完成时,参数结构将包含输出数据。
输出缓冲区长度
参数结构的长度。
要求
要求 | 值 |
---|---|
Header | usbuser.h (包括 Usbuser.h) |