Export (0) Print
Expand All
Expand Minimize

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 Parameters

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.

Output Parameters

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.

I/O 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
USB IOCTLs

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft