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)

另请参阅

USBUSER_REQUEST_HEADER

USB_BANDWIDTH_INFO

USB_CONTROLLER_INFO_0

USB_DRIVER_VERSION_PARAMETERS

USB_PASS_THRU_PARAMETERS

USB_POWER_INFO

USB_UNICODE_NAME