IOCTL_USB_USER_REQUEST control code

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.

Input Buffer

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.

Input Buffer Length

The size of a USBUSER_REQUEST_HEADER structure.

Output Buffer

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.

Output Buffer Length

The length of the parameter structure.

Status block

The USB stack sets Irp->IoStatus.Status to STATUS_SUCCESS if the request is successful. Otherwise, the USB stack sets Status to the appropriate error condition, such as STATUS_INVALID_PARAMETER or STATUS_INSUFFICIENT_RESOURCES.

Requirements

Header

Usbuser.h (include Usbuser.h)

See also

USB_BANDWIDTH_INFO
USB_CONTROLLER_INFO_0
USB_DRIVER_VERSION_PARAMETERS
USB_PASS_THRU_PARAMETERS
USB_POWER_INFO
USB_UNICODE_NAME
USBUSER_REQUEST_HEADER

 

 

Send comments about this topic to Microsoft

Show: