USB structures

This section describes the system-defined structures that are used by Universal Serial Bus (USB) client drivers on Windows Driver Model (WDM) platforms. For more information about system-defined structures that are not described in this section, see System Structures.

Drivers can use only the members of structures that are described in this section. All undocumented members of these structures are reserved for system use.

Transfer buffers that are members of structures that are defined in this section must be nonpageable memory.

In this section

TopicDescription

_URB_BULK_OR_INTERRUPT_TRANSFER

The _URB_BULK_OR_INTERRUPT_TRANSFER structure is used by USB client drivers to send or receive data on a bulk pipe or on an interrupt pipe.

_URB_CONTROL_DESCRIPTOR_REQUEST

The _URB_CONTROL_DESCRIPTOR_REQUEST structure is used by USB client drivers to get or set descriptors on a USB device.

_URB_CONTROL_FEATURE_REQUEST

The _URB_CONTROL_FEATURE_REQUEST structure is used by USB client drivers to set or clear features on a device, interface, or endpoint.

_URB_CONTROL_GET_CONFIGURATION_REQUEST

The _URB_CONTROL_GET_CONFIGURATION_REQUEST structure is used by USB client drivers to retrieve the current configuration for a device.

_URB_CONTROL_GET_INTERFACE_REQUEST

The _URB_CONTROL_GET_INTERFACE_REQUEST structure is used by USB client drivers to retrieve the current alternate interface setting for an interface in the current configuration.

_URB_CONTROL_GET_STATUS_REQUEST

The _URB_CONTROL_GET_STATUS_REQUEST structure is used by USB client drivers to retrieve status from a device, interface, endpoint, or other device-defined target.

_URB_CONTROL_TRANSFER

The _URB_CONTROL_TRANSFER structure is used by USB client drivers to transfer data to or from a control pipe.

_URB_CONTROL_TRANSFER_EX

The _URB_CONTROL_TRANSFER_EX structure is used by USB client drivers to transfer data to or from a control pipe, with a timeout that limits the acceptable transfer time.

_URB_CONTROL_VENDOR_OR_CLASS_REQUEST

The _URB_CONTROL_VENDOR_OR_CLASS_REQUEST structure is used by USB client drivers to issue a vendor or class-specific command to a device, interface, endpoint, or other device-defined target.

_URB_GET_CURRENT_FRAME_NUMBER

The _URB_GET_CURRENT_FRAME_NUMBER structure is used by USB client drivers to retrieve the current frame number.

_URB_HEADER

The _URB_HEADER structure is used by USB client drivers to provide basic information about the request being sent to the host controller driver.

_URB_ISOCH_TRANSFER

The _URB_ISOCH_TRANSFER structure is used by USB client drivers to send data to or retrieve data from an isochronous transfer pipe.

_URB_OPEN_STATIC_STREAMS

The _URB_OPEN_STATIC_STREAMS structure is used by a USB client driver to open streams in the specified bulk endpoint.

_URB_OS_FEATURE_DESCRIPTOR_REQUEST

The _URB_OS_FEATURE_DESCRIPTOR_REQUEST structure is used by the USB hub driver to retrieve Microsoft OS Feature Descriptors from a USB device or an interface on a USB device.

_URB_PIPE_REQUEST

The _URB_PIPE_REQUEST structure is used by USB client drivers to clear a stall condition on an endpoint.

_URB_SELECT_CONFIGURATION

The _URB_SELECT_CONFIGURATION structure is used by client drivers to select a configuration for a USB device.

_URB_SELECT_INTERFACE

The _URB_SELECT_INTERFACE structure is used by USB client drivers to select an alternate setting for an interface or to change the maximum packet size of a pipe in the current configuration on a USB device.

COMPOSITE_DEVICE_CAPABILITIES

The COMPOSITE_DEVICE_CAPABILITIES structure specifies the capabilities of the driver of a USB multi-function device (composite driver). To initialize the structure, use the COMPOSITE_DEVICE_CAPABILITIES_INIT macro.

HUB_DEVICE_CONFIG_INFO

The HUB_DEVICE_CONFIG_INFO structure is used in conjunction with the kernel-mode IOCTL, IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO to request to report information about a USB device and the hub to which the device is attached.

REGISTER_COMPOSITE_DEVICE

The REGISTER_COMPOSITE_DEVICE structure is used with the IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE I/O control request to register a parent driver of a Universal Serial Bus (USB) multi-function device (composite driver) with the USB driver stack.

REQUEST_REMOTE_WAKE_NOTIFICATION

The purpose of the REQUEST_REMOTE_WAKE_NOTIFICATION structure is to specify input parameters for the IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION I/O control request.

URB

The URB structure is used by USB client drivers to describe USB request blocks (URBs) that send requests to the USB driver stack. The URB structure defines a format for all possible commands that can be sent to a USB device.

USB_30_HUB_DESCRIPTOR

The USB_30_HUB_DESCRIPTOR structure contains a SuperSpeed hub descriptor. For information about the structure members, see Universal Serial Bus Revision 3.0 Specification, 10.13.2.1 Hub Descriptor, Table 10-3. SuperSpeed Hub Descriptor.

USB_BANDWIDTH_INFO

The USB_BANDWIDTH_INFO structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve information about the allocated bandwidth.

USB_BUS_INFORMATION_LEVEL_0

The USB_BUS_INFORMATION_LEVEL_0 structure is used in conjunction with the QueryBusInformation interface routine to report information about the bus.

USB_BUS_INFORMATION_LEVEL_1

The USB_BUS_INFORMATION_LEVEL_1 structure is used in conjunction with the QueryBusInformation interface routine to report information about the bus.

USB_BUS_INTERFACE_USBDI_V0

The USB_BUS_INTERFACE_USBDI_V0 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs.

USB_BUS_INTERFACE_USBDI_V1

The USB_BUS_INTERFACE_USBDI_V1 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs.

USB_BUS_INTERFACE_USBDI_V2

The USB_BUS_INTERFACE_USBDI_V2 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs.

USB_BUS_INTERFACE_USBDI_V3

The USB_BUS_INTERFACE_USBDI_V3 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs.

USB_BUS_STATISTICS_0

The USB_BUS_STATISTICS_0 structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve bus statistics.

USB_CLOSE_RAW_DEVICE_PARAMETERS

The USB_CLOSE_RAW_DEVICE_PARAMETERS structure is used with the IOCTL_USB_USER_REQUEST I/O control request to close raw access to devices on the bus.

USB_COMMON_DESCRIPTOR

The USB_COMMON_DESCRIPTOR structure contains the head of the first descriptor that matches the search criteria in a call to USBD_ParseDescriptors.

USB_CONFIGURATION_DESCRIPTOR

The USB_CONFIGURATION_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined configuration descriptor.

USB_CONTROLLER_INFO_0

The USB_CONTROLLER_INFO_0 structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve information about the USB host controller.

USB_CYCLE_PORT_PARAMS

The USB_CYCLE_PORT_PARAMS structure is used with the IOCTL_USB_HUB_CYCLE_PORT I/O control request to power cycle the port that is associated with the PDO that receives the request.

USB_DESCRIPTOR_REQUEST

The USB_DESCRIPTOR_REQUEST structure is used with the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request to retrieve one or more descriptors for the device that is associated with the indicated connection index.

USB_DEVICE_DESCRIPTOR

The USB_DEVICE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device descriptor.

USB_DEVICE_QUALIFIER_DESCRIPTOR

The USB_DEVICE_QUALIFIER_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device qualifier descriptor.

USB_DRIVER_VERSION_PARAMETERS

The USB_DRIVER_VERSION_PARAMETERS structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve version information.

USB_ENDPOINT_DESCRIPTOR

The USB_ENDPOINT_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined endpoint descriptor.

USB_HCD_DRIVERKEY_NAME

The USB_HCD_DRIVERKEY_NAME structure is used with the IOCTL_GET_HCD_DRIVERKEY_NAME I/O control request to retrieve the driver key in the registry for the USB host controller driver.

USB_HUB_CAP_FLAGS

The USB_HUB_CAP_FLAGS structure is used to report the capabilities of a hub.

USB_HUB_CAPABILITIES

The USB_HUB_CAPABILITIES structure has been deprecated. Use USB_HUB_CAPABILITIES_EX instead.

USB_HUB_INFORMATION_EX

The USB_HUB_INFORMATION_EX structure is used with the IOCTL_USB_GET_HUB_INFORMATION_EX I/O control request to retrieve information about a USB hub.

USB_HUB_CAPABILITIES_EX

The USB_HUB_CAPABILITIES_EX structure is used with the IOCTL_USB_GET_HUB_CAPABILITIES I/O control request to retrieve the capabilities of a particular USB hub.

USB_HUB_DESCRIPTOR

The USB_HUB_DESCRIPTOR structure contains a hub descriptor.

USB_HUB_INFORMATION

The USB_HUB_INFORMATION structure contains information about a hub.

USB_HUB_NAME

The USB_HUB_NAME structure stores the hub's symbolic device name.

USB_ID_STRING

The USB_ID_STRING structure is used to store a string or multi-string.

USB_INTERFACE_DESCRIPTOR

The USB_INTERFACE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined interface descriptor.

USB_MI_PARENT_INFORMATION

The USB_MI_PARENT_INFORMATION structure contains information about a composite device.

USB_NODE_CONNECTION_ATTRIBUTES

The USB_NODE_CONNECTION_ATTRIBUTES structure is used with the IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES I/O control request to retrieve the attributes of a connection.

USB_NODE_CONNECTION_DRIVERKEY_NAME

The USB_NODE_CONNECTION_DRIVERKEY_NAME structure is used with the IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME I/O control request to retrieve the driver key name for the device that is connected to the indicated port.

USB_NODE_CONNECTION_INFORMATION

The USB_NODE_CONNECTION_INFORMATION structure is used with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION request to retrieve information about a USB port and connected device.

USB_NODE_CONNECTION_INFORMATION_EX

The USB_NODE_CONNECTION_INFORMATION_EX structure is used in conjunction with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX request to obtain information about the connection associated with the indicated USB port.

USB_NODE_CONNECTION_INFORMATION_EX_V2

The USB_NODE_CONNECTION_INFORMATION_EX_V2 structure is used with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O control request to retrieve speed information about a USB device that is attached to a particular port.

USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS

The USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS union is used to indicate the speed at which a USB 3.0 device is currently operating and whether it can operate at higher speed, when attached to a particular port.

Device speed information is obtained in the USB_NODE_CONNECTION_INFORMATION_EX_V2 structure by the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O control request.

Or: the speed in which a device attached to a port is currently operating and at what speeds it is capable of operating.

USB_NODE_CONNECTION_NAME

The USB_NODE_CONNECTION_NAME structure is used with the IOCTL_USB_GET_NODE_CONNECTION_NAME I/O control request to retrieve the symbolic link of the downstream hub that is attached to the port.

USB_NODE_INFORMATION

The USB_NODE_INFORMATION structure is used with the IOCTL_USB_GET_NODE_INFORMATION I/O control request to retrieve information about a parent device.

USB_PASS_THRU_PARAMETERS

The USB_PASS_THRU_PARAMETERS structure is used with the IOCTL_USB_USER_REQUEST I/O control request to pass a vendor-specific command to the host controller miniport driver.

USB_PIPE_INFO

The USB_PIPE_INFO structure is used in conjunction with the USB_NODE_CONNECTION_INFORMATION_EX structure and the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX request to obtain information about a connection and its associated pipes.

USB_PORT_CONNECTOR_PROPERTIES

The USB_PORT_CONNECTOR_PROPERTIES structure is used with the IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O control request to retrieve information about a port on a particular SuperSpeed hub.

USB_PORT_PROPERTIES

The USB_PORT_PROPERTIES union is used to report the capabilities of a USB port.

The port capabilities are retrieved in the USB_PORT_CONNECTOR_PROPERTIES structure by the IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O control request.

USB_PROTOCOLS

The USB_PROTOCOLS union is used to report the USB signaling protocols that are supported by the port.

USB_POWER_INFO

The USB_POWER_INFO structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve device power state that the host controller power policy specifies for the indicated system power state.

USB_ROOT_HUB_NAME

The USB_ROOT_HUB_NAME structure stores the root hub's symbolic device name.

USB_STRING_DESCRIPTOR

The USB_STRING_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined string descriptor.

USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR

The USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined SuperSpeed Endpoint Companion descriptor. For more information, see section 9.6.7 and Table 9-20 in the official USB 3.0 specification.

USB_TOPOLOGY_ADDRESS

The USB_TOPOLOGY_ADDRESS structure is used with the IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS I/O request to retrieve information about a USB device?s location in the USB device tree.

USB_UNICODE_NAME

The USB_UNICODE_NAME structure contains a Unicode string that specifies a symbolic link name.

USBC_DEVICE_CONFIGURATION_INTERFACE_V1

The USBC_DEVICE_CONFIGURATION_INTERFACE_V1 structure is exposed by the vendor-supplied filter drivers to assist the USB generic parent driver in defining interface collections.

USBC_FUNCTION_DESCRIPTOR

The USBC_FUNCTION_DESCRIPTOR structure describes a USB function and its associated interface collection.

USBD_INTERFACE_INFORMATION

The USBD_INTERFACE_INFORMATION structure holds information about an interface for a configuration on a USB device.

USBD_INTERFACE_LIST_ENTRY

The USBD_INTERFACE_LIST_ENTRY structure is used by USB client drivers to create an array of interfaces to be inserted into a configuration request.

USBD_ISO_PACKET_DESCRIPTOR

The USBD_ISO_PACKET_DESCRIPTOR structure is used by USB client drivers to describe an isochronous transfer packet.

USBD_PIPE_INFORMATION

The USBD_PIPE_INFORMATION structure is used by USB client drivers to hold information about a pipe from a specific interface.

USBD_STREAM_INFORMATION

The USBD_STREAM_INFORMATION structure stores information about a stream associated with a bulk endpoint.

USBD_VERSION_INFORMATION

The USBD_VERSION_INFORMATION structure is used by the GetUSBDIVersion function to report its output data.

USBRPM_DEVICE_INFORMATION

The USBRPM_DEVICE_INFORMATION structure encapsulates the device information for USB devices available to the redirection policy manager.

USBRPM_DEVICE_LIST

The USBRPM_DEVICE_LIST structure contains the list of USB devices for which a client can load an alternate driver.

USBUSER_BANDWIDTH_INFO_REQUEST

The USBUSER_BANDWIDTH_INFO_REQUEST structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve information about the allocated bandwidth.

USBUSER_BUS_STATISTICS_0_REQUEST

The USBUSER_BUS_STATISTICS_0_REQUEST structure is used with the IOCTL_USB_USER_REQUEST I/O control request to retrieve bus statistics.

USBUSER_CONTROLLER_UNICODE_NAME

The USBUSER_CONTROLLER_UNICODE_NAME structure is used in conjunction with the IOCTL_USB_USER_REQUEST I/O control request to retrieve the USB host controller driverkey name.

USBUSER_GET_DRIVER_VERSION

The USBUSER_GET_DRIVER_VERSION structure is used with the IOCTL_USB_USER_REQUEST I/O control request to read driver and interface version information.

USBUSER_PASS_THRU_REQUEST

The USBUSER_PASS_THRU_REQUEST structure is used in conjunction with the IOCTL_USB_USER_REQUEST I/O control request to send a vendor-specific command to the host controller miniport driver.

USBUSER_POWER_INFO_REQUEST

The USBUSER_POWER_INFO_REQUEST structure is used in conjunction with the IOCTL_USB_USER_REQUEST I/O control request to retrieve power policy information concerning the relationship of a specific system state to the power state of the host controller and the root hub.

USBUSER_REQUEST_HEADER

The USBUSER_REQUEST_HEADER structure is used with the IOCTL_USB_USER_REQUEST I/O control request to send a user-mode request to the USB host controller driver.

WINUSB_PIPE_INFORMATION

The WINUSB_PIPE_INFORMATION structure contains pipe information that the WinUsb_QueryPipe routine retrieves.

WINUSB_PIPE_INFORMATION_EX

The WINUSB_PIPE_INFORMATION_EX structure contains pipe information that the WinUsb_QueryPipeEx routine retrieves.

WINUSB_SETUP_PACKET

The WINUSB_SETUP_PACKET structure describes a USB setup packet.

UDECX_ENDPOINTS_CONFIGURE_PARAMS

Contains the configuration options specified by USB device emulation class extension (UdeCx) to the client driver when the class extension invokes EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGURE.

UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS

Initializes a UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS structure with pointers to callback functions that are implemented by a UDE client for a virtual USB device.

UDECX_USB_DEVICE_PLUG_IN_OPTIONS

Contains the port numbers to which a virtual USB device is connected. Initialize this structure by calling the UDECX_USB_DEVICE_PLUG_IN_OPTIONS_INIT method.

UDECX_USB_ENDPOINT_CALLBACKS

Contains function pointers to endpoint callback functions implemented by the UDE client driver. Initialize this structure by calling UDECX_USB_ENDPOINT_CALLBACKS_INIT.

UDECX_USB_ENDPOINT_INIT_AND_METADATA

Contains the descriptors supported by an endpoint of a virtual USB device.

UDECX_WDF_DEVICE_CONFIG

Contains pointers to event callback functions implemented by the UDE client driver for a USB host controller. Initialize this structure by calling UDECX_WDF_DEVICE_CONFIG_INIT.

URS_CONFIG

Contains pointers to event callback functions implemented by the URS client driver for a USB dual-role controller. Initialize this structure by calling URS_CONFIG_INIT.

ADDRESS0_OWNERSHIP_ACQUIRE

Contains parameters for configuring the device.

DEFAULT_ENDPOINT_UPDATE

Contains the handle to the default endpoint to update in a framework request that is passed by UCX when it invokes EVT_UCX_DEFAULT_ENDPOINT_UPDATE callback function.

ENDPOINTS_CONFIGURE

Describes endpoints to enable or disable endpoints. This structure is passed by UCX in the EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function.

ENDPOINTS_CONFIGURE_FAILURE_FLAGS

This structure provides failure flags to indicate errors, if any, that might have occurred during a request to an EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function.

ENDPOINT_RESET

Describes information required to reset an endpoint. This structure is passed by UCX in the EVT_UCX_ENDPOINT_RESET callback function.

UCM_CONNECTOR_TYPEC_CONFIG

Describes the configuration options for a Type-C connector.

UCM_CONNECTOR_PD_CONFIG

Describes the Power Delivery 2.0 capabilities of the connector.

UCM_CONNECTOR_CONFIG

Describes the configuration options for a Type-C connector object. An initialized UCM_MANAGER_CONFIG structure is an input parameter value to UcmInitializeDevice.

UCM_CONNECTOR_TYPEC_ATTACH_PARAMS

Describes the partner that is currently attached to the connector.

UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS

Describes the parameters for PD connection changed event.

UCM_MANAGER_CONFIG

Describes the configuration options for the UCM Manager. An initialized UCM_MANAGER_CONFIG structure is an input parameter value to UcmInitializeDevice.

UCM_PD_POWER_DATA_OBJECT

Describes a Power Data Object. For information about these members, see the Power Delivery specification.

UCM_PD_REQUEST_DATA_OBJECT

Describes a Request Data Object (RDO). For information about these members, see the Power Delivery specification.

UCX_CONTROLLER_ACPI_INFORMATION

This structure provides information about an advanced Configuration and power interface (ACPI) USB controller.

UCX_CONTROLLER_PCI_INFORMATION

This structure provides information about a PCI USB controller.

UCX_CONTROLLER_RESET_COMPLETE_INFO

Contains information about the operation to reset the controller. This is used by the client driver in its EVT_UCX_CONTROLLER_RESET callback function.

UCX_CONTROLLER_CONFIG

This structure configuration data for a USB controller.

UCX_DEFAULT_ENDPOINT_EVENT_CALLBACKS

This structure provides a list of UCX default endpoint event callback functions.

UCX_ENDPOINT_EVENT_CALLBACKS

This structure provides a list of pointers to UCX endpoint event callback functions.

UCX_ROOTHUB_CONFIG

Contains pointers to event callback functions for creating the root hub by calling UcxRootHubCreate. Initialize this structure by calling UCX_ROOTHUB_CONFIG_INIT initialization function (see Ucxclass.h).

UCX_USBDEVICE_EVENT_CALLBACKS

This structure provides a list of UCX USB device event callbacks.

UCXUSBDEVICE_INFO

Contains information about the USB device. This structure is passed by UCX in the EVT_UCX_CONTROLLER_USBDEVICE_ADD event callback function.

USBDEVICE_ABORTIO

Contains a handle for the USB hub or device for which to abort data transfers.

USBDEVICE_ADDRESS

Contains parameters for a request to transition the specified device to the Addressed state. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_ADDRESS callback function.

USBDEVICE_DISABLE

Contains parameters for a request to disable the specified device. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_DISABLE callback function.

USBDEVICE_ENABLE_FAILURE_FLAGS

The flags that are set by the client driver in the EVT_UCX_USBDEVICE_ENABLE callback function. Indicate errors, if any, that might have occurred while enabling the device.

USBDEVICE_ENABLE

Contains parameters for a request to enable the specified device. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_ENABLE callback function.

USBDEVICE_HUB_INFO

Contains parameters for a request to get information about the specified hub. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_HUB_INFO callback function.

USBDEVICE_MGMT_HEADER

This structure provides a handle for the USB hub or device physically connected to the bus.

USB_DEVICE_PORT_PATH

Contains the port path of a USB device.

USBDEVICE_PURGEIO

The USBDEVICE_PURGEIO structure contains the handle for the USB hub or device to purge I/O for.

USBDEVICE_RESET

Contains parameters for a request to reset the specified device. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_RESET callback function.

USBDEVICE_STARTIO

Contains a handle for the USB hub or device on which to start data transfer.

USBDEVICE_TREE_PURGEIO

This structure provides the handle for the USB device tree to purge I/O for.

USBDEVICE_UPDATE_20_HARDWARE_LPM_PARAMETERS

Contains parameters for a request to update USB 2.0 link power management (LPM). UCX passes this structure in the EVT_UCX_USBDEVICE_UPDATE callback function.

USBDEVICE_UPDATE

Passed by UCX to update the specified device. This structure is in the request parameters (Parameters.Others.Arg1) of a framework request object passed in the EVT_UCX_USBDEVICE_UPDATE callback function.

USBDEVICE_UPDATE_FAILURE_FLAGS

The flags that are set by the client driver in the EVT_UCX_USBDEVICE_UPDATE callback function. Indicate errors, if any, that might have occurred while updating the device.

USBDEVICE_UPDATE_FLAGS

Contains request flags set by UCX that is passed in the USBDEVICE_UPDATE structure when UCX invokes the client driver's EVT_UCX_USBDEVICE_UPDATE callback function.

HUB_INFO_FROM_PARENT

Describes information about a hub from its parent device.

ROOTHUB_INFO

Provides information about a USB root hub. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_INFO callback function.

ROOTHUB_20PORT_INFO

Provides information about a USB 2.0 root hub port. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_20PORT_INFO callback function.

ROOTHUB_20PORTS_INFO

This structure that has an array of 2.0 ports supported by the root hub. This structure is provided by UCX in a framework request in the EVT_UCX_ROOTHUB_GET_20PORT_INFO callback function.

ROOTHUB_30PORT_INFO

Provides information about a USB 3.0 root hub port. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_30PORT_INFO callback function.

ROOTHUB_30PORT_INFO_EX

Provides extended USB 3.0 port information about speed.

ROOTHUB_30PORTS_INFO

Provides information about USB 3.0 root hub ports. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_30PORT_INFO callback function.

STREAM_INFO

This structure stores information about a stream associated with a bulk endpoint.

CONTROLLER_USB_20_HARDWARE_LPM_FLAGS

Describes supported protocol capabilities for Link Power Management (LPM) in as defined the USB 2.0 specification.

PARENT_HUB_FLAGS

This structure is used by the HUB_INFO_FROM_PARENT structure to get hub information from the parent.

USBFN_BUS_CONFIGURATION_INFO

Configuration packet that stores information about an available USB configuration.

USBFN_CLASS_INFORMATION_PACKET_EX

Describes device interface class information associated with a USB interface. This structure can be used to describe single and multi-interface functions.

USBFN_CLASS_INFORMATION_PACKET

Describes device interface class information associated with a USB interface. This structure can only hold information about a single function interface.

USBFN_CLASS_INTERFACE_EX

Describes an interface and its endpoints.

USBFN_CLASS_INTERFACE

Describes an interface and its endpoints.

USBFN_INTERFACE_INFO

Describes an interface and its endpoints.

USBFN_NOTIFICATION

Describes information about a USB event notification that was received by using IOCTL_INTERNAL_USBFN_BUS_EVENT_NOTIFICATION.

USBFN_PIPE_INFORMATION

Describes attributes of a pipe associated with an endpoint on a specific interface.

USBFN_POWER_FILTER_STATE

Reserved. Do not use.

USBFN_USB_STRING

Describes a USB string descriptor and the associated string index.

 

Related topics

USB Reference

 

 

Send comments about this topic to Microsoft

Show: