IOCTL_USB_USER_REQUEST IOCTL (usbuser.h)
The IOCTL_USB_USER_REQUEST I/O control request is available to both user-mode applications and kernel-mode drivers.
IOCTL_USB_USER_REQUEST is a user-mode I/O control request. This request targets the USB host controller (GUID_DEVINTERFACE_USB_HOST_CONTROLLER).
Callers can specify any of the following request codes:
- USBUSER_CLEAR_ROOTPORT_FEATURE
- Do not use this request.
- USBUSER_GET_CONTROLLER_DRIVER_KEY
- Reports the host controller driver key in a USB_UNICODE_NAME-typed Unicode string. This request is always enabled.
- USBUSER_GET_CONTROLLER_INFO_0
- Retrieves a USB_CONTROLLER_INFO_0 structure that describes the host controller. This request is always enabled.
- USBUSER_GET_ROOTPORT_STATUS
- Do not use this request.
- USBUSER_GET_ROOTHUB_SYMBOLIC_NAME
- Reports the root hub symbolic name in a USB_UNICODE_NAME-typed Unicode string. This request is always enabled.
- USBUSER_INVALID_REQUEST
- Do not use this request.
- USBUSER_OP_CLOSE_RAW_DEVICE
- Do not use this request.
- USBUSER_OP_OPEN_RAW_DEVICE
- Do not use this request.
- USBUSER_OP_MASK_DEVONLY_API
- Do not use this request.
- USBUSER_OP_MASK_HCTEST_API
- Do not use this request.
- USBUSER_OP_RAW_RESET_PORT
- Do not use this request.
- USBUSER_OP_SEND_ONE_PACKET
- Do not use this request.
- USBUSER_OP_SEND_RAW_COMMAND
- Do not use this request.
- USBUSER_SET_ROOTPORT_FEATURE
- Do not use this request.
- USBUSER_PASS_THRU
- Sends a vendor specific command that is defined by the USB_PASS_THRU_PARAMETERS structure to the host controller miniport driver. This request is always enabled.
- USBUSER_GET_BANDWIDTH_INFORMATION
- Retrieves a USB_BANDWIDTH_INFO structure that contains information about the allocated bandwidth. This request is always enabled.
- USBUSER_GET_POWER_STATE_MAP
- Retrieves a USB_POWER_INFO structure that contains information about the power state of the host controller and root hubs. This request is always enabled.
- USBUSER_GET_BUS_STATISTICS_0
- Retrieves a USB_BUS_STATISTICS_0 structure that contains bus statistics. This request is always enabled.
- USBUSER_GET_BUS_STATISTICS_0_AND_RESET
- Do not use this request.
- USBUSER_GET_USB_DRIVER_INFORMATION
- Retrieves a USB_DRIVER_VERSION_PARAMETERS structure that indicates the version of the driver, USB stack, and associated interfaces. This request is always enabled.
- USBUSER_GET_USB2_HW_VERSION
- Do not use this request.
The buffer at Irp->AssociatedIrp.SystemBuffer contains a user request header structure (USBUSER_REQUEST_HEADER) that defines the request. Following the header structure is a structure that holds the parameters of the request. For more information about the parameter structures that correspond to each request, see the description of each request.
The size of a USBUSER_REQUEST_HEADER structure.
A parameter structure immediately follows the USBUSER_REQUEST_HEADER structure at Irp->AssociatedIrp.SystemBuffer. For some user requests, the parameter structure will contain output data when the request completes.
The length of the parameter structure.
Requirement | Value |
---|---|
Header | usbuser.h (include Usbuser.h) |