Windows Universal Serial Bus Controller Driver

Parts & Accessories. Parts Lookup. Find Parts (Current Product) Parts Lookup. May 18, 2014  Universal Serial Bus (USB) Controller Driver I mave managed to get USB Storage Devices to work, but things like usb printers are not working. Download the latest drivers for your USB (Universal Serial Bus)-Controller to keep your Computer up-to-date.

-->

This reference section describes the driver programming interfaces that are included in the Windows Driver Kit (WDK). The programming interfaces are used for developing drivers that interact with USB devices, host controllers, connectors. These include export functions that the drivers can call, callback routines that the driver can implement, I/O requests that the driver can send to the Microsoft-provided USB driver stack, and various data structures that are used in those requests.

For the programming guide, see Universal Serial Bus (USB).

Common USB client driver reference

A Windows Driver Model (WDM)-based USB client driver can call functions to communicate with the Microsoft-provided USB driver stack. These functions are defined in Usbdlib.h and the client driver requires the Usbdex.lib library. The library gets loaded and statically linked to the client driver module when it is built. A client driver that calls these routines can run on Windows Vista and later versions of Windows.

Programming Guide

Developing Windows client drivers for USB devices.

Headers

Deprecated functions, IOCTL requests for all USB drivers

These functions have been deprecated.

Do not use.

  • USBD_CalculateUsbBandwidth
  • USBD_CreateConfigurationRequest
  • USBD_Debug_LogEntry
  • USBD_GetUSBDIVersion
  • USBD_ParseConfigurationDescriptor
  • USBD_QueryBusTime
  • USBD_RegisterHcFilter

These I/O requests have been deprecated or reserved for internal use.

USB client drivers must not use these I/O requests:

  • IOCTL_USB_DIAG_IGNORE_HUBS_OFF
  • IOCTL_USB_DIAG_IGNORE_HUBS_ON
  • IOCTL_USB_DIAGNOSTIC_MODE_OFF
  • IOCTL_USB_DIAGNOSTIC_MODE_ON
  • IOCTL_USB_GET_HUB_CAPABILITIES
  • IOCTL_USB_HCD_DISABLE_PORT
  • IOCTL_USB_HCD_ENABLE_PORT
  • IOCTL_USB_HCD_GET_STATS_1
  • IOCTL_USB_HCD_GET_STATS_2
  • IOCTL_USB_RESET_HUB

Dual-role controller driver reference

A USB driver for a dual-role controller can behave as a host controller or a function controller depending on the hardware to which it is connected. These controllers are common on mobile devices and allow for connections to PCs, as well as USB peripherals like keyboards and mice. A mobile device can behave as a peripheral when it is connected to a PC, allowing you to transfer files between your PC and the mobile device. In that scenario, the controller on the device operates in the function role. Conversely, the controller can operate in the host role when connected to USB peripherals like storage drives, keyboard, mice.

One of the main responsibilities of a driver for a dual-role controller is to switch between those two roles, tearing down the previous role's device node and loading the device node for the new role. When writing the driver, use the WDF class extension-client driver model. For more information about the WDF class extension-client driver model, see Ursdevice.h.

Programming Guide

For information about enabling a Windows system for USB dual-role support, see USB Dual Role Driver Stack Architecture.

Headers

Emulated host controller driver reference

Windows drivers can present non-USB devices as emulated USB devices. By using the WDF class extension-client driver model, you can write a driver that translates USB-level constructs (reset, data transfers) to the actual underlying bus by using the hardware’s interface. The class extension and the client driver represent an emulated host controller with a root hub that is capable of presenting an attached device to the system as an USB device.

  • USB device emulation class extension (UdeCx). This is an in-box driver included Windows 10.
  • The client driver is written by an IHV/OEM. This driver is referred to as the UDE client driver.

The driver pair loads as the FDO in the host controller device stack. The UDE client driver communicates with Udecx by using a set of methods and event callback functions to handle device requests and notify the class extension about various events.

Programming Guide

Developing Windows drivers for emulated USB devices (UDE).

Headers

Function class driver reference

A USB function class driver implements the functionality of a specific interface (or group of interfaces) on the USB device. The class driver handle requests issued by user mode services, or it can forwards requests to USB function class extension (UFX) and its function client driver. Certain class drivers are included in Windows, such as MTP and IpOverUsb. Windows also provides a generic kernel-mode class driver, Generic USBFN (GenericUSBFn.sys). If a particular interface or functionality is not provided by a system-supplied driver, you might need write a function class driver. The class driver may be implemented as a kernel-mode driver by using Windows Driver Frameworks (WDF). Alternatively, you may implement it as a user-mode service. In that case, your class driver must be paired with the system-supplied class driver, Generic USBFN. For example, the MTP class driver runs as a user-mode service that transferring files to and from the device.

Headers

USB function controller client driver reference

The USB function client driver is responsible for implementing a function controller-specific operations. The client driver communicates with the USB function class extension (UFX) module to handle endpoint data transfers, USB device state changes (reset, suspend, resume), attach/detach detection, port/charger detection. The client driver is also responsible for handling power management, and PnP events.

Programming Guide

Headers

Driver

Filter driver for supporting USB chargers

Write a filter driver that supports detection of chargers, if the function controller uses the in-box Synopsys and ChipIdea drivers. If you are writing a client driver for a proprietary function controller, charger/attach detection is integrated in the client driver by implementing EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY, EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET, and EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER.

Programming Guide

Headers

Host controller driver reference

The USB host controller extension is a system-supplied extension to the Kernel-Mode Driver Framework (KMDF). Within the Microsoft USB Driver Stack Architecture, UCX provides functionality to assist a host controller client driver in managing a USB host controller device. The client driver handles hardware operations and events, power management, and PnP events. UCX serves as an abstracted interface to the rest of the Microsoft USB 3.0 stack, queues requests to the client driver, and performs other tasks.

If you are developing an xHCI host controller that is not compliant with the specification or developing a custom non-xHCI hardware (such as a virtual host controller), you can write a host controller driver that communicates with the UCX class extension.

Programming Guide

Headers

Type-C driver reference

Windows 10 introduces support for the new USB connector: USB Type-C. You can write a driver for these scenarios:

ScenarioHeadersProgramming Guide
If your USB Type-C hardware has the capability of handling the power delivery (PD) state machine.Write a USB Type-C connector driver
If your driver wants to participate in the policy decisions for USB Type-C connectors.Usbpmapi.hWrite a USB Type-C Policy Manager client driver
If your hardware does not support PD.Write a USB Type-C port controller driver.
Write a UCSI client driver

IOCTLs

Universal Serial Bus Controller Driver Windows 7 64 Bit Asus

TitleDescription
IOCTL_GET_HCD_DRIVERKEY_NAMEThe IOCTL_GET_HCD_DRIVERKEY_NAME I/O control request retrieves the driver key name in the registry for a USB host controller driver.
IOCTL_INTERNAL_USB_CYCLE_PORTThe IOCTL_INTERNAL_USB_CYCLE_PORT I/O request simulates a device unplug and replug on the port associated with the PDO.
IOCTL_INTERNAL_USB_ENABLE_PORTThe IOCTL_INTERNAL_USB_ENABLE_PORT IOCTL has been deprecated. Do not use.
IOCTL_INTERNAL_USB_GET_BUS_INFOThe IOCTL_INTERNAL_USB_GET_BUS_INFO I/O request queries the bus driver for certain bus information.
IOCTL_INTERNAL_USB_GET_BUSGUID_INFOThe IOCTL_INTERNAL_USB_GET_BUSGUID_INFO IOCTL has been deprecated. Do not use.
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAMEThe IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME I/O request queries the bus driver for the device name of the USB host controller.
IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFOThe IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO I/O request returns information about a USB device and the hub it is attached to.
IOCTL_INTERNAL_USB_GET_DEVICE_HANDLEThe IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EXThe IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_HUB_COUNTThe IOCTL_INTERNAL_USB_GET_HUB_COUNT IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_HUB_NAMEThe IOCTL_INTERNAL_USB_GET_HUB_NAME I/O request is used by drivers to retrieve the UNICODE symbolic name for the target PDO if the PDO is for a hub.
IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFOThe IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_PORT_STATUSThe IOCTL_INTERNAL_USB_GET_PORT_STATUS I/O request queries the status of the PDO. IOCTL_INTERNAL_USB_GET_PORT_STATUS is a kernel-mode I/O control request. This request targets the USB hub PDO. This IOCTL must be sent at IRQL = PASSIVE_LEVEL.
IOCTL_INTERNAL_USB_GET_ROOTHUB_PDOThe IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESSThe IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS I/O request returns information about the host controller the USB device is attached to, and the device's location in the USB device tree.
IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLEThe IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_NOTIFY_IDLE_READYThe IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_RECORD_FAILUREThe IOCTL_INTERNAL_USB_RECORD_FAILURE IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICEThe IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE I/O request registers the driver of a USB multi-function device (composite driver) with the underlying USB driver stack.
IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUMEThe IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPENDThe IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATIONThe IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION I/O request is sent by the driver of a Universal Serial Bus (USB) multi-function device (composite driver) to request remote wake-up notifications from a specific function in the device.
IOCTL_INTERNAL_USB_RESET_PORTThe IOCTL_INTERNAL_USB_RESET_PORT I/O control request is used by a driver to reset the upstream port of the device it manages.
IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATIONThe IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION I/O request is used by drivers to inform the USB bus driver that a device is idle and can be suspended.
IOCTL_INTERNAL_USB_SUBMIT_URBThe IOCTL_INTERNAL_USB_SUBMIT_URB I/O control request is used by drivers to submit an URB to the bus driver. IOCTL_INTERNAL_USB_SUBMIT_URB is a kernel-mode I/O control request. This request targets the USB hub PDO.
IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICEThe IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE I/O request unregisters the driver of a USB multi-function device (composite driver) and releases all resources that are associated with registration.
IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUSThe USB class driver sends this request to activate the bus so that the driver can prepare to process bus events and handle traffic.
IOCTL_INTERNAL_USBFN_BUS_EVENT_NOTIFICATIONThe USB class driver sends this request to prepare for notifications received from the USB function class extension (UFX) in response to an event on the bus, such as a change in the port type or a receipt of a non-standard setup packet.
IOCTL_INTERNAL_USBFN_CONTROL_STATUS_HANDSHAKE_INThe class driver sends this request to send a zero-length control status handshake on endpoint 0 in the IN direction.
IOCTL_INTERNAL_USBFN_CONTROL_STATUS_HANDSHAKE_OUTThe class driver sends this request to send a zero-length control status handshake on endpoint 0 in the OUT direction.
IOCTL_INTERNAL_USBFN_DEACTIVATE_USB_BUSDo not use.
IOCTL_INTERNAL_USBFN_DESCRIPTOR_UPDATEThe USB function class extension sends this request to the client driver to update to the endpoint descriptor for the specified endpoint.
IOCTL_INTERNAL_USBFN_GET_CLASS_INFOThe class driver sends this request IO control code to retrieve information about the available pipes for a device, as configured in the registry.
IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SETThe class driver sends this request to get the entire USB interface descriptor set for a function on the device.
IOCTL_INTERNAL_USBFN_GET_PIPE_STATEThe class driver sends this request to get the stall state of the specified pipe.
IOCTL_INTERNAL_USBFN_REGISTER_USB_STRINGThe class driver sends this request to register a USB string descriptor.
IOCTL_INTERNAL_USBFN_RESERVEDDo not use.
IOCTL_INTERNAL_USBFN_SET_PIPE_STATEThe class driver sends this request to set the stall state of the specified USB pipe.
IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_EXIT_LPMDo not use.
IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_STATEDo not use.
IOCTL_INTERNAL_USBFN_SIGNAL_REMOTE_WAKEUPThe class driver sends this request to get remote wake-up notifications from endpoints.
IOCTL_INTERNAL_USBFN_TRANSFER_INThe class driver sends this request to initiate a data transfer to the host on the specified pipe.
IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKTThe class driver sends this request to initiate an IN transfer to the specified pipe and appends a zero-length packet to indicate the end of the transfer.
IOCTL_INTERNAL_USBFN_TRANSFER_OUTThe class driver sends this request to initiate a data transfer from the host on the specified pipe.
IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTEREDNotifies the client driver that an alternate mode is entered so that the driver can perform additional tasks.
IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITEDNotifies the client driver that an alternate mode is exited so that the driver can perform additional tasks.
IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGUREDNotifies the client driver that the DisplayPort alternate mode on the partner device has been configured with pin assignment so that the driver can perform additional tasks.
IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGEDNotifies the client driver that the display out status of the DisplayPort connection has changed so that the driver can perform additional tasks.
IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGEDNotifies the client driver that the hot-plug detect status of the DisplayPort connection has changed so that the driver can perform additional tasks.
IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROLGets the values of all control registers defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUSGets values of all status registers as per the Universal Serial Bus Type-C Port Controller Interface Specification. The client driver must retrieve the values of the CC_STATUS, POWER_STATUS, and FAULT_STATUS registers.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_COMMANDSets the value of a command register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUTSets the CONFIG_STANDARD_OUTPUT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROLSets the value of a control register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFOSets the value of the MESSAGE_HEADER_INFO Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECTSets the RECEIVE_DETECT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMITSets the TRANSMIT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFERSets the TRANSMIT_BUFER Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK
IOCTL_UCMUCSI_PPM_SEND_UCSI_DATA_BLOCKSends a UCSI data block to the client driver.
IOCTL_USB_DIAG_IGNORE_HUBS_OFFThe IOCTL_USB_DIAG_IGNORE_HUBS_OFF I/O control has been deprecated. Do not use.
IOCTL_USB_DIAG_IGNORE_HUBS_ONThe IOCTL_USB_DIAG_IGNORE_HUBS_ON I/O control has been deprecated. Do not use.
IOCTL_USB_DIAGNOSTIC_MODE_OFFThe IOCTL_USB_DIAGNOSTIC_MODE_OFF I/O control has been deprecated. Do not use.
IOCTL_USB_DIAGNOSTIC_MODE_ONThe IOCTL_USB_DIAGNOSTIC_MODE_ON I/O control has been deprecated. Do not use.
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTIONThe IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request retrieves one or more descriptors for the device that is associated with the indicated port index.IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION is a user-mode I/O control request.
IOCTL_USB_GET_DEVICE_CHARACTERISTICSThe client driver sends this request to determine general characteristics about a USB device, such as maximum send and receive delays for any request.
IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC'.'
IOCTL_USB_GET_HUB_CAPABILITIESThe IOCTL_USB_GET_HUB_CAPABILITIES I/O control request retrieves the capabilities of a USB hub.
IOCTL_USB_GET_HUB_CAPABILITIES_EXThe IOCTL_USB_GET_HUB_CAPABILITIES_EX I/O control request retrieves the capabilities of a USB hub.IOCTL_USB_GET_HUB_CAPABILITIES_EX is a user-mode I/O control request. This request targets the USB hub device (GUID_DEVINTERFACE_USB_HUB).
IOCTL_USB_GET_HUB_INFORMATION_EXThe IOCTL_USB_GET_HUB_INFORMATION_EX I/O control request is sent by an application to retrieve information about a USB hub in a USB_HUB_INFORMATION_EX structure.The request retrieves the highest port number on the hub.
IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTESThe IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES I/O control request retrieves the Microsoft-extended port attributes for a specific port.
IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAMEThe IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME I/O control request retrieves the driver registry key name that is associated with the device that is connected to the indicated port.
IOCTL_USB_GET_NODE_CONNECTION_INFORMATIONThe IOCTL_USB_GET_NODE_CONNECTION_INFORMATION request retrieves information about the indicated USB port and the device that is attached to the port, if there is one.Client drivers must send this IOCTL at an IRQL of PASSIVE_LEVEL.IOCTL_USB_GET_NODE_CONNECTION_INFORMATION is a user-mode I/O control request. This request targets the USB hub device (GUID_DEVINTERFACE_USB_HUB). Do not send this request to the root hub.
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EXThe IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX request retrieves information about a USB port and the device that is attached to the port, if there is one.Client drivers must send this IOCTL at an IRQL of PASSIVE_LEVEL.IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX is a user-mode I/O control request. This request targets the USB hub device (GUID_DEVINTERFACE_USB_HUB). Do not send this request to the root hub.
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2The IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O control is sent by an application to retrieve information about the protocols that are supported by a particular USB port on a hub. The request also retrieves the speed capability of the port.
IOCTL_USB_GET_NODE_CONNECTION_NAMEThe IOCTL_USB_GET_NODE_CONNECTION_NAME I/O control request is used with the USB_NODE_CONNECTION_NAME structure to retrieve the symbolic link name of the hub that is attached to the downstream port.IOCTL_USB_GET_NODE_CONNECTION_NAME is a user-mode I/O control request. This request targets the USB hub device (GUID_DEVINTERFACE_USB_HUB).
IOCTL_USB_GET_NODE_INFORMATIONThe IOCTL_USB_GET_NODE_INFORMATION I/O control request is used with the USB_NODE_INFORMATION structure to retrieve information about a parent device.IOCTL_USB_GET_NODE_INFORMATION is a user-mode I/O control request.
IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIESThe IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O control request is sent by an application to retrieve information about a specific port on a USB hub.
IOCTL_USB_GET_ROOT_HUB_NAMEThe IOCTL_USB_GET_ROOT_HUB_NAME I/O control request is used with the USB_ROOT_HUB_NAME structure to retrieve the symbolic link name of the root hub.IOCTL_USB_GET_ROOT_HUB_NAME is a user-mode I/O control request.
IOCTL_USB_GET_TRANSPORT_CHARACTERISTICSThe client driver sends this request to retrieve the transport characteristics.
IOCTL_USB_HCD_DISABLE_PORTThe IOCTL_USB_HCD_DISABLE_PORT IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_ENABLE_PORTThe IOCTL_USB_HCD_ENABLE_PORT IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_GET_STATS_1The IOCTL_USB_HCD_GET_STATS_1 IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_GET_STATS_2The IOCTL_USB_HCD_GET_STATS_2 IOCTL has been deprecated. Do not use.
IOCTL_USB_HUB_CYCLE_PORTThe IOCTL_USB_HUB_CYCLE_PORT I/O control request power-cycles the port that is associated with the PDO that receives the request.
IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGEThis request notifies the caller of change in transport characteristics.
IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGEThis request registers for notifications about the changes in transport characteristics.
IOCTL_USB_RESET_HUBThe IOCTL_USB_RESET_HUB IOCTL is used by the USB driver stack. Do not use.
IOCTL_USB_START_TRACKING_FOR_TIME_SYNCThis request registers the caller with USB driver stack for time sync services.
IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNCThis request unegisters the caller with USB driver stack for time sync services.
IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGEThis request unregisters the caller from getting notifications about transport characteristics changes.

Enumerations

TitleDescription
CONTROLLER_TYPEThis enumeration specifies if the USB host controller is an eXtensible Host Controller Interface (xHCI) controller.
ENDPOINT_RESET_FLAGSDefines parameters for a request to reset an endpoint.
TRISTATEThe TRISTATE enumeration indicates generic state values for true or false.
UCM_CHARGING_STATEDefines the charging state of a Type-C connector.
UCM_PD_CONN_STATEDefines power delivery (PD) negotiation states of a Type-C port.
UCM_PD_POWER_DATA_OBJECT_TYPEDefines Power Data Object types.
UCM_POWER_ROLEDefines power roles of USB Type-C connected devices.
UCM_TYPEC_CURRENTDefines different Type-C current levels, as defined in the Type-C specification.
UCM_TYPEC_OPERATING_MODEDefines operating modes of a USB Type-C connector.
UCM_TYPEC_PARTNERDefines the state of the Type-C connector.
UCMTCPCI_PORT_CONTROLLER_ALERT_TYPEDefines generic alert values that are used to indicate the type of hardware alert received on the port controller.
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUSDefines values to determine whether a display out status for a DisplayPort device is enabled.
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUSDefines values to determine whether a DisplayPort device is plugged in.
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT
UCMTCPCI_PORT_CONTROLLER_IOCTLDefines the various device I/O control requests that are sent to the client driver for the port controller. This indicates the type of IOCTL in WPP.
UCMUCSI_PPM_IOCTLDefines I/O control codes handled by the client driver.
UCMUCSIFUNCENUMDefines values for all export functions called by a client driver of a UcmUcsiCx class extension.
UCSI_BATTERY_CHARGING_STATUSSee Table 4-42, Offset 64.
UCSI_COMMANDSee Table 4-51, Command Code.
UCSI_CONNECTOR_PARTNER_FLAGSUsed in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 21.
UCSI_CONNECTOR_PARTNER_TYPEUsed in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 29.
UCSI_GET_ALTERNATE_MODES_RECIPIENTUsed in the GET_ALTERNATE_MODES command. See Table 4-24, Offset 16.
UCSI_GET_PDOS_SOURCE_CAPABILITIES_TYPEUsed in the GET_PDOS command. See Table 4-34, Offset 35.
UCSI_GET_PDOS_TYPEUsed in the GET_PDOS command. See Table 4-34, Offset 34.
UCSI_POWER_DIRECTIONUsed in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 20.
UCSI_POWER_DIRECTION_MODEUsed in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 20.
UCSI_POWER_DIRECTION_ROLEUsed in the SET_PDR command. See Table 4-22, Offset 23.
UCSI_POWER_OPERATION_MODEUsed in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 16.
UCSI_USB_OPERATION_MODEUsed in the SET_UOR command. See Table 4-18, Offset 23.
UCSI_USB_OPERATION_ROLEUsed in the SET_UOR command. See Table 4-20, Offset 23
UCX_CONTROLLER_ENDPOINT_CHARACTERISTIC_PRIORITYIndicates the priority of endpoints.
UCX_CONTROLLER_PARENT_BUS_TYPEThe UCX_CONTROLLER_PARENT_BUS_TYPE enumeration defines the parent bus type.
UCX_CONTROLLER_STATEThis enumeration provides values to specify the UCX controller state after a reset.
UCX_ENDPOINT_CHARACTERISTIC_TYPEDefines values that indicates the type of endpoint characteristic.
UCX_USBDEVICE_CHARACTERISTIC_TYPEDefines values that indicates the type of device characteristic.
UDECX_ENDPOINT_TYPEDefines values for endpoint types supported by a virtual USB device.
UDECX_ENDPOINTS_CONFIGURE_TYPEDefines values for endpoint configuration options.
UDECX_USB_DEVICE_FUNCTION_POWERDefines values for function wake capability of a virtual USB 3.0 device.
UDECX_USB_DEVICE_SPEEDDefines values for USB device speeds.
UDECX_USB_DEVICE_WAKE_SETTINGDefines values for remote wake capability of a virtual USB device.
UDECX_WDF_DEVICE_RESET_ACTIONDefines values that indicate the types of reset operation supported by an emulated USB host controller.
URS_HARDWARE_EVENTDefines values for the hardware events that a client driver for a USB dual-role controller can report.
URS_HOST_INTERFACE_TYPEDefines values for the various types of USB host controllers.
URS_ROLEDefines values for roles supported by a USB dual-role controller.
USB_CONNECTION_STATUSThe USB_CONNECTION_STATUS enumerator indicates the status of the connection to a device on a USB hub port.
USB_CONTROLLER_FLAVORThe USB_CONTROLLER_FLAVOR enumeration specifies the type of USB host controller.
USB_DEVICE_SPEEDThe USB_DEVICE_SPEED enumeration defines constants for USB device speeds.
USB_HUB_NODEThe USB_HUB_NODE enumerator indicates whether a device is a hub or a composite device.
USB_HUB_TYPEThe USB_HUB_TYPE enumeration defines constants that indicate the type of USB hub. The hub type is retrieved by the IOCTL_USB_GET_HUB_INFORMATION_EX I/O control request.
USBD_ENDPOINT_OFFLOAD_MODEDefines values for endpoint offloading options in the USB device or host controller.
USBD_PIPE_TYPEThe USBD_PIPE_TYPE enumerator indicates the type of pipe.
USBFN_ACTIONDefines special actions UFX should take when the client driver calls the UfxDevicePortDetectCompleteEx function.
USBFN_ATTACH_ACTIONDefines the actions that the Universal Serial Bus (USB) function stack takes when a device is attached to a USB port.
USBFN_BUS_SPEEDThe USBFN_BUS_SPEED enumeration defines possible bus speeds.
USBFN_DEVICE_STATEDefines the Universal Serial Bus (USB) device states for the device/controller. These states correspond to the USB device states as defined in section 9.1 of the USB 2.0 Specification.
USBFN_DIRECTIONDefines the USB data transfer direction types.
USBFN_EVENTDefines notifications sent to class drivers.
USBFN_PORT_TYPEDefines the possible port types that can be returned by the client driver during port detection.
USBPM_ACCESS_TYPEDefines the access types for calling Policy Manager functions.
USBPM_ASSIGN_POWER_LEVEL_PARAMS_FORMATDefines format values used in USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS.
USBPM_EVENT_TYPEDefines values for types of events.

Functions

TitleDescription
COMPOSITE_DEVICE_CAPABILITIES_INITThe COMPOSITE_DEVICE_CAPABILITIES_INIT macro initializes the COMPOSITE_DEVICE_CAPABILITIES structure.
EVT_UCM_CONNECTOR_SET_DATA_ROLEThe client driver's implementation of the EVT_UCM_CONNECTOR_SET_DATA_ROLE event callback function that swaps the data role of the connector to the specified role when attached to a partner connector.
EVT_UCM_CONNECTOR_SET_POWER_ROLEThe client driver's implementation of the EVT_UCM_CONNECTOR_SET_POWER_ROLE event callback function that sets the power role of the connector to the specified role when attached to a partner connector.
EVT_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBERThe client driver's implementation that UCX calls to retrieve the current 32-bit frame number.
EVT_UCX_CONTROLLER_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNCUCX invokes this callback to retrieves the system query performance counter (QPC) value synchronized with the frame and microframe.
EVT_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICSUCX invokes this callback to retrieve the host controller characteristics.
EVT_UCX_CONTROLLER_QUERY_USB_CAPABILITYThe client driver's implementation to determine if the controller supports a specific capability.
EVT_UCX_CONTROLLER_RESETThe client driver's implementation that UCX calls to reset the controller.
EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATIONUCX invokes this callback function to specify its preference in transport characteristics for which the client driver must send notifications when changes occur.
EVT_UCX_CONTROLLER_START_TRACKING_FOR_TIME_SYNCUCX invokes this callback function to the start time tracking functionality in the controller.
EVT_UCX_CONTROLLER_STOP_TRACKING_FOR_TIME_SYNCUCX invokes this callback function to the stop time tracking functionality in the controller.
EVT_UCX_CONTROLLER_USBDEVICE_ADDThe client driver's implementation that UCX calls when a new USB device is detected.
EVT_UCX_DEFAULT_ENDPOINT_UPDATEThe client driver's implementation that UCX calls with information about the default endpoint.
EVT_UCX_ENDPOINT_ABORTThe client driver's implementation that UCX calls to abort the queue associated with the endpoint.
EVT_UCX_ENDPOINT_GET_ISOCH_TRANSFER_PATH_DELAYSUCX invokes this callback function to get information about transfer path delays for an isochronous endpoint.
EVT_UCX_ENDPOINT_OK_TO_CANCEL_TRANSFERSThe client driver's implementation that UCX calls to notify the controller driver that it can complete cancelled transfers on the endpoint.
EVT_UCX_ENDPOINT_PURGEThe client driver's implementation that completes all outstanding I/O requests on the endpoint.
EVT_UCX_ENDPOINT_RESETThe client driver's implementation that UCX calls to reset the controller’s programming for an endpoint.
EVT_UCX_ENDPOINT_SET_CHARACTERISTICUCX invokes this callback function to set the priority on an endpoint.
EVT_UCX_ENDPOINT_STARTThe client driver's implementation that UCX calls to start the queue associated with the endpoint.
EVT_UCX_ENDPOINT_STATIC_STREAMS_ADDThe client driver's implementation that UCX calls to create static streams.
EVT_UCX_ENDPOINT_STATIC_STREAMS_DISABLEThe client driver's implementation that UCX calls to release controller resources for all streams for an endpoint.
EVT_UCX_ENDPOINT_STATIC_STREAMS_ENABLEThe client driver's implementation that UCX calls to enable the static streams.
EVT_UCX_ROOTHUB_CONTROL_URBThe client driver uses this callback type to implement handlers that UCX calls when it receives feature control requests on the USB hub.
EVT_UCX_ROOTHUB_GET_20PORT_INFOThe client driver's implementation that UCX calls when it receives a request for information about USB 2.0 ports on the root hub.
EVT_UCX_ROOTHUB_GET_30PORT_INFOThe client driver's implementation that UCX calls when it receives a request for information about USB 3.0 ports on the root hub.
EVT_UCX_ROOTHUB_GET_INFOThe client driver's implementation that UCX calls when it receives a request for information about the root hub.
EVT_UCX_ROOTHUB_INTERRUPT_TXThe client driver's implementation that UCX calls when it receives a request for information about changed ports.
EVT_UCX_USBDEVICE_ADDRESSThe client driver's implementation that UCX calls to address the USB device.
EVT_UCX_USBDEVICE_DEFAULT_ENDPOINT_ADDThe client driver's implementation that UCX calls to add a new default endpoint for a USB device.
EVT_UCX_USBDEVICE_DISABLEThe client driver's implementation that UCX calls to release controller resources associated with the device and its default endpoint.
EVT_UCX_USBDEVICE_ENABLEThe client driver's implementation that UCX calls to program information about the device and its default control endpoint into the controller.
EVT_UCX_USBDEVICE_ENDPOINT_ADDThe client driver's implementation that UCX calls to add a new endpoint for a USB device.
EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGUREThe client driver's implementation that UCX calls to configure endpoints in the controller.
EVT_UCX_USBDEVICE_GET_CHARACTERISTICUCX invokes this callback to retrieve the device characteristics.
EVT_UCX_USBDEVICE_HUB_INFOThe client driver's implementation that UCX calls to retrieve hub properties.
EVT_UCX_USBDEVICE_RESETThe client driver's implementation that UCX calls when the port to which the device is attached is reset.
EVT_UCX_USBDEVICE_RESUMEUCX invokes this callback function to resume a device from suspend state.
EVT_UCX_USBDEVICE_SUSPENDUCX invokes this callback function to send a device suspend state.
EVT_UCX_USBDEVICE_UPDATEThe client driver's implementation that UCX calls to update device properties.
EVT_UDECX_USB_DEVICE_D0_ENTRYThe USB device emulation class extension (UdeCx) invokes this callback function when it gets a request to bring the virtual USB device out of a low power state to working state.
EVT_UDECX_USB_DEVICE_D0_EXITThe USB device emulation class extension (UdeCx) invokes this callback function when it gets a request to send the virtual USB device to a low power state.
EVT_UDECX_USB_DEVICE_DEFAULT_ENDPOINT_ADDThe USB device emulation class extension (UdeCx) invokes this callback function to request the client driver to create the default control endpoint on the virtual USB device.
EVT_UDECX_USB_DEVICE_ENDPOINT_ADDThe USB device emulation class extension (UdeCx) invokes this callback function to request the client driver to create a dynamic endpoint on the virtual USB device.
EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGUREThe USB device emulation class extension (UdeCx) invokes this callback function to change the configuration by selecting an alternate setting, disabling current endpoints, or adding dynamic endpoints.
EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKEThe USB device emulation class extension (UdeCx) invokes this callback function when it gets a request to change the function state of the specified interface of the virtual USB 3.0 device.
EVT_UDECX_USB_ENDPOINT_PURGEThe USB device emulation class extension (UdeCx) invokes this callback function to stop queuing I/O requests to the endpoint's queue and cancel unprocessed requests.
EVT_UDECX_USB_ENDPOINT_RESETThe USB device emulation class extension (UdeCx) invokes this callback function to reset an endpoint of the virtual USB device.
EVT_UDECX_USB_ENDPOINT_STARTThe USB device emulation class extension (UdeCx) invokes this callback function to start processing I/O requests on the specified endpoint of the virtual USB device.
EVT_UDECX_WDF_DEVICE_QUERY_USB_CAPABILITYThe UDE client driver's implementation to determine the capabilities that are supported by the emulated USB host controller.
EVT_UDECX_WDF_DEVICE_RESETThe UDE client driver's implementation to reset the emulated host controller or the devices attached to it.
EVT_UFX_DEVICE_ADDRESSEDThe client driver's implementation to assign an address on the function controller.
EVT_UFX_DEVICE_CONTROLLER_RESETThe client driver's implementation to reset the function controller to its initial state.
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADDThe client driver's implementation to create a default control endpoint.
EVT_UFX_DEVICE_ENDPOINT_ADDThe client driver's implementation to create a default endpoint object.
EVT_UFX_DEVICE_HOST_CONNECTThe client driver's implementation to initiate connection with the host.
EVT_UFX_DEVICE_HOST_DISCONNECTThe client driver's implementation to disable the function controller's communication with the host.
EVT_UFX_DEVICE_PORT_CHANGEThe client driver's implementation to update the type of the new port to which the USB device is connected.
EVT_UFX_DEVICE_PORT_DETECTThe client driver's implementation to initiate port detection.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_DETECTThe client driver's implementation to initiate proprietary charger detection.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESETThe client driver's implementation to resets proprietary charger.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTYThe client driver's implementation to set charger information that it uses to enable charging over USB.
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNALThe client driver's implementation to initiate remote wake-up on the function controller.
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATUREThe client driver's implementation to set or clear the specified power feature on the function controller.
EVT_UFX_DEVICE_TEST_MODE_SETThe client driver's implementation to set the test mode of the function controller.
EVT_UFX_DEVICE_TESTHOOKThis IOCTL code is not supported.
EVT_UFX_DEVICE_USB_STATE_CHANGEThe client driver's implementation to update the state of the USB device.
EVT_URS_DEVICE_FILTER_RESOURCE_REQUIREMENTSThe USB dual-role class extension invokes this callback to allow the client driver to insert the resources from the resource-requirements-list object to resource lists that will be used during the life time of each role.
EVT_URS_SET_ROLEThe URS class extension invokes this event callback when it requires the client driver to change the role of the controller.
EVT_USBPM_EVENT_CALLBACKSends notifications about hub arrival/removal and connector state changes.
GET_ISO_URB_SIZEThe GET_ISO_URB_SIZE macro returns the number of bytes required to hold an isochronous transfer request.
PUSB_BUSIFFN_ENUM_LOG_ENTRYThis callback function is not supported.The EnumLogEntry routine makes a log entry.
PUSB_BUSIFFN_GETUSBDI_VERSIONThe GetUSBDIVersion routine returns the USB interface version number and the version number of the USB specification that defines the interface, along with information about host controller capabilities.
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEEDThe USB_BUSIFFN_IS_DEVICE_HIGH_SPEED routine returns TRUE if the device is operating at high speed.
PUSB_BUSIFFN_QUERY_BUS_INFORMATIONThe QueryBusInformation routine gets information about the bus.
PUSB_BUSIFFN_QUERY_BUS_TIMEThe QueryBusTime function gets the current 32-bit USB frame number.
PUSB_BUSIFFN_QUERY_BUS_TIME_EXThe QueryBusTimeEx routine gets the current 32-bit USB micro-frame number.
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPEThe QueryControllerType routine gets information about the USB host controller to which the USB device is attached.
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URBThis callback function is not supported.The SubmitIsoOutUrb function submits a USB request block (URB) directly to the bus driver without requiring the allocation of an IRP.
UCM_CONNECTOR_CONFIG_INITInitializes a UCM_CONNECTOR_CONFIG structure.
UCM_CONNECTOR_PD_CONFIG_INITInitializes a UCM_CONNECTOR_PD_CONFIG structure.
UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS_INITInitializes a UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS structure.
UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INITInitializes a UCM_CONNECTOR_TYPEC_ATTACH_PARAMS structure.
UCM_CONNECTOR_TYPEC_CONFIG_INITInitializes the UCM_CONNECTOR_TYPEC_CONFIG structure.
UCM_MANAGER_CONFIG_INITInitializes a UCM_MANAGER_CONFIG structure.
UCM_PD_POWER_DATA_OBJECT_GET_TYPERetrieves the type of Power Data Object from the UCM_PD_POWER_DATA_OBJECT structure.
UCM_PD_POWER_DATA_OBJECT_INIT_BATTERYInitializes a UCM_PD_POWER_DATA_OBJECT structure as a Battery Supply type Power Data Object.
UCM_PD_POWER_DATA_OBJECT_INIT_FIXEDInitializes a to the UCM_PD_POWER_DATA_OBJECT for a Fixed Supply type Power Data Object.
UCM_PD_POWER_DATA_OBJECT_INIT_ULONGInitializes a UCM_PD_POWER_DATA_OBJECT structure by interpreting Power Data Object values and sets each field correctly.
UCM_PD_POWER_DATA_OBJECT_INIT_VARIABLE_NON_BATTERYInitializes a UCM_PD_POWER_DATA_OBJECT structure as a Variable Supply Non Battery type Power Data Object.
UCM_PD_REQUEST_DATA_OBJECT_INIT_ULONGInitializes a UCM_PD_REQUEST_DATA_OBJECT structure by interpreting Request Data Object values and sets each field correctly.
UcmConnectorChargingStateChangedNotifies the USB connector manager framework extension (UcmCx) with the updated charging state of the partner connector.
UcmConnectorCreateCreates a connector object.
UcmConnectorDataDirectionChangedNotifies the USB connector manager framework extension (UcmCx) with the new data role of a change in data role.
UcmConnectorPdConnectionStateChangedNotifies the USB connector manager framework extension (UcmCx) with the connection capabilities of the currently negotiated PD contract (if any).
UcmConnectorPdPartnerSourceCapsNotifies the USB connector manager framework extension (UcmCx) with the power source capabilities of the partner connector.
UcmConnectorPdSourceCapsNotifies the USB connector manager framework extension (UcmCx) with the power source capabilities of the connector.
UcmConnectorPowerDirectionChangedNotifies the USB connector manager framework extension (UcmCx) with the new power role of the partner connector.
UcmConnectorTypeCAttachNotifies the USB connector manager framework extension (UcmCx) when a partner connector is attached.
UcmConnectorTypeCCurrentAdChangedNotifies the USB connector manager framework extension (UcmCx) when the specified connector changes the current advertisement. Either the connector changes it (when it is DFP/Source), or the partner changed it (when it is UFP/Sink).
UcmConnectorTypeCDetachNotifies the USB connector manager framework extension (UcmCx) when the partner connector detaches from the specified Type-C connector.
UcmInitializeDeviceInitializes the USB connector manager framework extension (UcmCx).
UCMTCPCI_DEVICE_CONFIG_INITInitializes the UCMTCPCI_DEVICE_CONFIG structure.
UCMTCPCI_PORT_CONTROLLER_ALERT_DATA_INITInitializes the UCMTCPCI_PORT_CONTROLLER_ALERT_DATA structure.
UCMTCPCI_PORT_CONTROLLER_CAPABILITIES_INITInitializes the UCMTCPCI_PORT_CONTROLLER_CAPABILITIES structure.
UCMTCPCI_PORT_CONTROLLER_CONFIG_INITInitializes the UCMTCPCI_PORT_CONTROLLER_CONFIG structure.
UCMTCPCI_PORT_CONTROLLER_IDENTIFICATION_INITInitializes the UCMTCPCI_PORT_CONTROLLER_IDENTIFICATION structure.
UcmTcpciDeviceInitializeInitializes the USB Type-C Port Controller Interface framework extension (UcmTcpciCx).
UcmTcpciDeviceInitInitializeInitializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UcmTcpciPortControllerAlertSends information about the hardware alerts that are received on the port controller to UcmTcpciCx.
UcmTcpciPortControllerCreateCreates a port controller object to register with UcmTcpciCx.
UcmTcpciPortControllerSetHardwareRequestQueueAssigns a framework queue object to which the UcmTcpciCx dispatches hardware requests for the port controller.
UcmTcpciPortControllerStartIndicates to the UcmTcpciCx class extension that the client driver is now ready to service hardware requests for the port controller.
UcmTcpciPortControllerStopIndicates to the UcmTcpciCx class extension to stop sending hardware requests to the port controller object.
UCMUCSI_CONNECTOR_INFO_INITInitializes a UCMUCSI_CONNECTOR_INFO structure.
UCMUCSI_DEVICE_CONFIG_INITInitializes a UCMUCSI_DEVICE_CONFIG structure.
UCMUCSI_PPM_CONFIG_INITInitializes a UCMUCSI_PPM_CONFIG structure.
UcmUcsiConnectorCollectionAddConnectorAdds a connector to the connector collection object.
UcmUcsiConnectorCollectionCreateCreates a connector collection object with UcmUcsiCx.
UcmUcsiDeviceInitializeInitializes the UCSI extension (UcmUcsiCx).
UcmUcsiDeviceInitInitializeIntializes the WDFDEVICE_INIT provided by the framework.
UcmUcsiPpmNotificationInforms the UcmUcsiCx class extension about a UCSI notification.
UcmUcsiPpmSetUcsiCommandRequestQueueProvides a framework queue object that is used to dispatch UCSI commands to the client driver.
UcmUcsiPpmStartInstructs the class extension to start sending requests to the client driver.
UcmUcsiPpmStopInstructs the class extension to stop sending requests to the client driver.
UCSI_CMD_SUCCEEDEDOn successful completion of a UCSI command the PPM firmware fills the CCI Data Structure provided by the client driver.
UCX_CONTROLLER_CONFIG_SET_ACPI_INFOInitializes a UCX_CONTROLLER_CONFIG structure with the specified values for the controller with ACPI as the parent.
UCX_CONTROLLER_CONFIG_SET_PCI_INFOInitializes a UCX_CONTROLLER_CONFIG structure with the specified values for the controller with PCI as the parent bus type.
UCX_DEFAULT_ENDPOINT_EVENT_CALLBACKS_INITInitializes a UCX_DEFAULT_ENDPOINT_EVENT_CALLBACKS structure with client driver's callback functions. The client driver calls this function before calling UcxEndpointCreate method to create an endpoint and register its callback functions with UCX.
UCX_ENDPOINT_EVENT_CALLBACKS_INITInitializes a UCX_ENDPOINT_EVENT_CALLBACKS structure with client driver's callback functions. The client driver calls this function before calling UcxEndpointCreate method to create an endpoint and register its callback functions with UCX.
UCX_USBDEVICE_EVENT_CALLBACKS_INITInitializes a UCX_USBDEVICE_EVENT_CALLBACKS structure with the function pointers to client driver's callback functions.
UcxControllerCreateCreates a host controller object.
UcxControllerNeedsResetInitiates a non-Plug and Play (PnP) controller reset operation by queuing an event into the controller reset state machine.
UcxControllerNotifyTransportCharacteristicsChangeNotifies UCX about a new port change event from host controller.
UcxControllerResetCompleteInforms USB Host Controller Extension (UCX) that the reset operation has competed.
UcxControllerSetFailedInforms USB Host Controller Extension (UCX) that the controller has encountered a critical failure.
UcxControllerSetIdStringsUpdates the identifier strings of a controller after the controller has been initialized.
UcxDefaultEndpointInitSetEventCallbacksInitializes a UCXENDPOINT_INIT structure with client driver's event callback functions related to the default endpoint.
UcxEndpointAbortCompleteNotifies UCX that a transfer abort operation has been completed on the specified endpoint object.
UcxEndpointCreateCreates an endpoint on the specified USB device object.
UcxEndpointGetStaticStreamsReferencedReturns a referenced static streams object for the specified endpoint.
UcxEndpointInitSetEventCallbacksInitializes a UCXENDPOINT_INIT structure with client driver's event callback functions related to endpoints on the device.
UcxEndpointNeedToCancelTransfersThe client driver calls this method before it cancels transfers on the wire.
UcxEndpointNoPingResponseErrorNotifies UCX about a 'No Ping Response' error for a transfer on the specified endpoint object.
UcxEndpointPurgeCompleteNotifies UCX that a purge operation has been completed on the specified endpoint object.
UcxEndpointSetWdfIoQueueSets a framework queue on the specified endpoint object.
UcxInitializeDeviceInitInitializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UcxIoDeviceControlAllows USB host controller extension (UCX) to handle an I/O control code (IOCTL) request from user mode.
UcxRootHubPortChangedNotifies UCX about a new port change event on the host controller.
UcxStaticStreamsCreateCreates a static streams object.
UcxStaticStreamsSetStreamInfoSets stream information for each stream enabled by the client driver.
UcxUsbDeviceCreateCreates a USB device object on the specified controller.
UcxUsbDeviceInitSetEventCallbacksInitializes a UCXUSBDEVICE_INIT structure with client driver's event callback functions.
UcxUsbDeviceRemoteWakeNotificationNotifies UCX that a remote wake signal from the device is received.
UDECX_USB_DEVICE_CALLBACKS_INITInitializes a UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS structure before a UdecxUsbDeviceCreate call.
UDECX_USB_DEVICE_PLUG_IN_OPTIONS_INITInitializes a UDECX_USB_DEVICE_PLUG_IN_OPTIONS structure.
UDECX_USB_ENDPOINT_CALLBACKS_INITInitializes a UDECX_USB_ENDPOINT_CALLBACKS structure before a UdecxUsbEndpointCreate call.
UDECX_WDF_DEVICE_CONFIG_INITInitializes a UDECX_WDF_DEVICE_CONFIG structure.
UdecxInitializeWdfDeviceInitInitializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UdecxUrbCompleteCompletes the URB request with a USB-specific completion status code.
UdecxUrbCompleteWithNtStatusCompletes the URB request with an NTSTATUS code.
UdecxUrbRetrieveBufferRetrieves the transfer buffer of an URB from the specified framework request object sent to the endpoint queue.
UdecxUrbRetrieveControlSetupPacketRetrieves a USB control setup packet from a specified framework request object.
UdecxUrbSetBytesCompletedSets the number of bytes transferred for the URB contained within a framework request object.
UdecxUsbDeviceCreateCreates a USB Device Emulation (UDE) device object.
UdecxUsbDeviceInitAddDescriptorAdds a USB descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAddDescriptorWithIndexAdds a USB descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAddStringDescriptorAdds a USB string descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAddStringDescriptorRawAdds a USB string descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAllocateAllocates memory for a UDECXUSBDEVICE_INIT structure that is used to initialize a virtual USB device.
UdecxUsbDeviceInitFreeReleases the resources that were allocated by the UdecxUsbDeviceInitAllocate call.
UdecxUsbDeviceInitSetEndpointsTypeIndicates the type of endpoint (simple or dynamic) in the initialization parameters that the client driver uses to create the virtual USB device.
UdecxUsbDeviceInitSetSpeedSets the USB speed of the virtual USB device to create.
UdecxUsbDeviceInitSetStateChangeCallbacksInitializes a WDF-allocated structure with pointers to callback functions.
UdecxUsbDeviceLinkPowerEntryCompleteCompletes an asynchronous request for bringing the device out of a low power state.
UdecxUsbDeviceLinkPowerExitCompleteCompletes an asynchronous request for sending the device to a low power state.
UdecxUsbDevicePlugInNotifies the USB device emulation class extension (UdeCx) that the USB device has been plugged in the specified port.
UdecxUsbDevicePlugOutAndDeleteDisconnects the virtual USB device.
UdecxUsbDeviceSetFunctionSuspendAndWakeCompleteCompletes an asynchronous request for changing the power state of a particular function of a virtual USB 3.0 device.
UdecxUsbDeviceSignalFunctionWakeInitiates wake up of the specified function from a low power state. This applies to virtual USB 3.0 devices.
UdecxUsbDeviceSignalWakeInitiates wake up from a low link power state for a virtual USB 2.0 device.
UdecxUsbEndpointCreateCreates a UDE endpoint object.
UdecxUsbEndpointInitFreeRelease the resources that were allocated by the UdecxUsbSimpleEndpointInitAllocate call.
UdecxUsbEndpointInitSetCallbacksSets pointers to UDE client driver-implemented callback functions in the initialization parameters of the simple endpoint to create.
UdecxUsbEndpointInitSetEndpointAddressSets the address of the endpoint in the initialization parameters of the simple endpoint to create.
UdecxUsbEndpointPurgeCompleteCompletes an asynchronous request for canceling all I/O requests queued to the specified endpoint.
UdecxUsbEndpointSetWdfIoQueueSets a framework queue object with a UDE endpoint.
UdecxUsbSimpleEndpointInitAllocateAllocates memory for an initialization structure that is used to create a simple endpoint for the specified virtual USB device.
UdecxWdfDeviceAddUsbDeviceEmulationInitializes a framework device object to support operations related to a host controller and a virtual USB device attached to the controller.
UdecxWdfDeviceResetCompleteInforms the USB device emulation class extension (UdeCx) that the reset operation on the specified controller has competed.
UdecxWdfDeviceTryHandleUserIoctlAttempts to handle an IOCTL request sent by a user-mode software.
UFX_DEVICE_CALLBACKS_INITThe UFX_DEVICE_CALLBACKS_INIT macro initializes the UFX_DEVICE_CALLBACKS structure.
UFX_DEVICE_CAPABILITIES_INITThe UFX_DEVICE_CAPABILITIES_INIT macro the initializes the UFX_DEVICE_CAPABILITIES structure.
UFX_ENDPOINT_CALLBACKS_INITThe UFX_ENDPOINT_CALLBACKS_INIT macro initializes the UFX_ENDPOINT_CALLBACKS structure.
UFX_PROPRIETARY_CHARGER_ABORT_OPERATIONThe filter driver's implementation to abort a charger operation.
UFX_PROPRIETARY_CHARGER_DETECTThe filter driver's implementation to detect if a charger is attached and get details about the charger.
UFX_PROPRIETARY_CHARGER_RESET_OPERATIONThe filter driver's implementation to reset a charger operation.
UFX_PROPRIETARY_CHARGER_SET_PROPERTYThe filter driver's implementation to set a configurable property on the charger.
UfxDeviceCreateCreates a UFX device object, registers event callback routines, and specifies capabilities specific to the controller.
UfxDeviceEventCompleteInforms UFX that the client driver has completed processing a UFX callback function.
UfxDeviceIoControlPasses non-internal IOCTLs from user-mode to UFX.
UfxDeviceIoInternalControlPasses kernel mode IOCTLs to UFX.
UfxDeviceNotifyAttachNotifies UFX that the device's USB cable has been attached.
UfxDeviceNotifyDetachNotifies UFX that the device's USB cable has been detached.
UfxDeviceNotifyHardwareFailureNotifies UFX about a non-recoverable hardware failure in the controller.
UfxDeviceNotifyHardwareReadyNotifies UFX that the hardware is ready.
UfxDeviceNotifyResetNotifies UFX about a USB bus reset event.
UfxDeviceNotifyResumeNotifies UFX about a USB bus resume event.
UfxDeviceNotifySuspendNotifies UFX about a USB bus suspend event.
UfxDevicePortDetectCompleteNotifies UFX about the port type that was detected.
UfxDevicePortDetectCompleteExNotifies UFX about the port type that was detected, and optionally requests an action.
UfxDeviceProprietaryChargerDetectCompleteNotifies UFX about a detected proprietary port/charger type.
UfxEndpointCreateCreates an endpoint object.
UfxEndpointGetCommandQueueReturns the command queue previously created by UfxEndpointCreate.
UfxEndpointGetTransferQueueReturns the transfer queue previously created by UfxEndpointCreate.
UfxEndpointInitSetEventCallbacksInitialize a UFXENDPOINT_INIT structure.
UfxEndpointNotifySetupNotifies UFX when the client driver receives a setup packet from the host.
UfxFdoInitInitializes the WDFDEVICE_INIT structure that the client driver subsequently provides when it calls WdfDeviceCreate.
URS_CONFIG_INITInitializes a URS_CONFIG structure.
UrsDeviceInitializeInitializes a framework device object to support operations related to a USB dual-role controller and registers the relevant event callback functions with the USB dual-role controller class extension.
UrsDeviceInitInitializeInitializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UrsIoResourceListAppendDescriptorAppends the specified resource descriptor to the specified I/O resource list object that maintains resource descriptors for the host or function role.
UrsReportHardwareEventNotifies the USB dual-role class extension about a new hardware event.
UrsSetHardwareEventSupportIndicates the client driver's support for reporting new hardware events.
UrsSetPoHandleRegisters and deletes the client driver's registration with the power management framework (PoFx).
UsbBuildGetStatusRequestThe UsbBuildGetStatusRequest macro formats an URB to obtain status from a device, interface, endpoint, or other device-defined target on a USB device.
UsbBuildInterruptOrBulkTransferRequestThe UsbBuildInterruptOrBulkTransferRequest macro formats an URB to send or receive data on a bulk pipe, or to receive data from an interrupt pipe.
UsbBuildOpenStaticStreamsRequestThe UsbBuildOpenStaticStreamsRequest inline function formats an URB structure for an open-streams request. The request opens streams associated with the specified bulk endpoint.
USBC_START_DEVICE_CALLBACKThe USBC_START_DEVICE_CALLBACK routine allows a USB client driver to provide a custom definition of the interface collections on a device.
USBD_AssignUrbToIoStackLocationThe USBD_AssignUrbToIoStackLocation routine is called by a client driver to associate an URB with the IRP's next stack location.
USBD_BuildRegisterCompositeDeviceThe USBD_BuildRegisterCompositeDevice routine is called by the driver of a USB multi-function device (composite driver) to initialize a REGISTER_COMPOSITE_DEVICE structure with the information required for registering the driver with the USB driver stack.
USBD_CalculateUsbBandwidthThe USBD_CalculateUsbBandwidth routine has been deprecated in Windows XP and later operating systems. Do not use.
USBD_CloseHandleThe USBD_CloseHandle routine is called by a USB client driver to close a USBD handle and release all resources associated with the driver's registration.
USBD_CreateConfigurationRequestThe USBD_CreateConfigurationRequest routine has been deprecated. Use USBD_CreateConfigurationRequestEx instead.
USBD_CreateConfigurationRequestExThe USBD_CreateConfigurationRequestEx routine allocates and formats a URB to select a configuration for a USB device.USBD_CreateConfigurationRequestEx replaces USBD_CreateConfigurationRequest.
USBD_CreateHandleThe USBD_CreateHandle routine is called by a WDM USB client driver to obtain a USBD handle. The routine registers the client driver with the underlying USB driver stack.
USBD_GetInterfaceLengthThe USBD_GetInterfaceLength routine obtains the length of a given interface descriptor, including the length of all endpoint descriptors contained within the interface.
USBD_GetPdoRegistryParameterThe USBD_GetPdoRegistryParameter routine retrieves the value from the specified key in the USB device's hardware registry.
USBD_GetUSBDIVersionThe USBD_GetUSBDIVersion routine returns version information about the host controller driver (HCD) that controls the client's USB device.Note USBD_IsInterfaceVersionSupported replaces the USBD_GetUSBDIVersion routine
USBD_IsInterfaceVersionSupportedThe USBD_IsInterfaceVersionSupported routine is called by a USB client driver to check whether the underlying USB driver stack supports a particular USBD interface version.
USBD_IsochUrbAllocateThe USBD_IsochUrbAllocate routine allocates and formats a URB structure for an isochronous transfer request.
USBD_ParseConfigurationDescriptorThe USBD_ParseConfigurationDescriptor routine has been deprecated. Use USBD_ParseConfigurationDescriptorEx instead.
USBD_ParseConfigurationDescriptorExThe USBD_ParseConfigurationDescriptorEx routine searches a given configuration descriptor and returns a pointer to an interface that matches the given search criteria.
USBD_ParseDescriptorsThe USBD_ParseDescriptors routine searches a given configuration descriptor and returns a pointer to the first descriptor that matches the search criteria.
USBD_QueryBusTimeThe USBD_QueryBusTime routine has been deprecated in Windows XP and later operating systems. Do not use.
USBD_QueryUsbCapabilityThe USBD_QueryUsbCapability routine is called by a WDM client driver to determine whether the underlying USB driver stack and the host controller hardware support a specific capability.
USBD_RegisterHcFilterThe USBD_RegisterHcFilter routine has been deprecated in Windows XP and later operating systems.
USBD_SelectConfigUrbAllocateAndBuildThe USBD_SelectConfigUrbAllocateAndBuild routine allocates and formats a URB structure that is required to select a configuration for a USB device.
USBD_SelectInterfaceUrbAllocateAndBuildThe USBD_SelectInterfaceUrbAllocateAndBuild routine allocates and formats a URB structure that is required for a request to select an interface or change its alternate setting.
USBD_UrbAllocateThe USBD_UrbAllocate routine allocates a USB Request Block (URB).
USBD_UrbFreeThe USBD_UrbFree routine releases the URB that is allocated by USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild, or USBD_SelectInterfaceUrbAllocateAndBuild.
USBD_ValidateConfigurationDescriptorThe USBD_ValidateConfigurationDescriptor routine validates all descriptors returned by a device in its response to a configuration descriptor request.
USBFN_GET_ATTACH_ACTIONThe filter driver's implementation that gets invoked when charger is attached to the port.
USBFN_GET_ATTACH_ACTION_ABORTThe filter driver's implementation to abort an attach-detect operation.
USBFN_SET_DEVICE_STATEThe filter driver's implementation to set the device state and operating bus speed.
USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INITInitializes a USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS structure.
UsbPm_AssignConnectorPowerLevelAttempts a PD contract renegotiation with the specified voltage/current/power value.
USBPM_CLIENT_CONFIG_EXTRA_INFO_INITInitializes a USBPM_CLIENT_CONFIG_EXTRA_INFO structure.
USBPM_CLIENT_CONFIG_INITInitializes a USBPM_CLIENT_CONFIG structure.
USBPM_CONNECTOR_PROPERTIES_INITInitializes a USBPM_CONNECTOR_PROPERTIES structure.
USBPM_CONNECTOR_STATE_INITInitializes a USBPM_CONNECTOR_STATE_INIT structure.
UsbPm_DeregisterUnregisters the client driver with the Policy Manager.
USBPM_HUB_CONNECTOR_HANDLES_INITInitializes a USBPM_HUB_CONNECTOR_HANDLES structure.
USBPM_HUB_PROPERTIES_INITInitializes a [USBPM_HUB_PROPERTIES] structure.
UsbPm_RegisterRegisters the client driver with the Policy Manager to report hub arrival/removal and connector state changes.
UsbPm_RetrieveConnectorPropertiesRetrieves the properties of a connector. The properties are static information that do not change during the lifecycle of a connector.
UsbPm_RetrieveConnectorStateRetrieves the current state of a connector. Unlike connector properties, state information is dynamic, which can change at runtime.
UsbPm_RetrieveHubConnectorHandlesRetrieves connector handles for all connectors of a hub.
UsbPm_RetrieveHubPropertiesRetrieves the properties of a hub. Properties are static information that do not change during the lifecycle of a hub.

Structures

TitleDescription
_URB_BULK_OR_INTERRUPT_TRANSFERThe _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_REQUESTThe _URB_CONTROL_DESCRIPTOR_REQUEST structure is used by USB client drivers to get or set descriptors on a USB device.
_URB_CONTROL_FEATURE_REQUESTThe _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_REQUESTThe _URB_CONTROL_GET_CONFIGURATION_REQUEST structure is used by USB client drivers to retrieve the current configuration for a device.
_URB_CONTROL_GET_INTERFACE_REQUESTThe _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_REQUESTThe _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_TRANSFERThe _URB_CONTROL_TRANSFER structure is used by USB client drivers to transfer data to or from a control pipe.
_URB_CONTROL_TRANSFER_EXThe _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_REQUESTThe _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_NUMBERThe _URB_GET_CURRENT_FRAME_NUMBER structure is used by USB client drivers to retrieve the current frame number.
_URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYSThe _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS structure is used by USB client drivers to retrieve delays associated with isochronous transfer programming in the host controller and transfer completion so that the client driver can ensure that the device gets the isochronous packets in time.
_URB_HEADERThe _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_TRANSFERThe _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_STREAMSThe _URB_OPEN_STATIC_STREAMS structure is used by a USB client driver to open streams in the specified bulk endpoint.
_URB_OS_FEATURE_DESCRIPTOR_REQUESTThe _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_REQUESTThe _URB_PIPE_REQUEST structure is used by USB client drivers to clear a stall condition on an endpoint.
_URB_SELECT_CONFIGURATIONThe _URB_SELECT_CONFIGURATION structure is used by client drivers to select a configuration for a USB device.
_URB_SELECT_INTERFACEThe _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.
ADDRESS0_OWNERSHIP_ACQUIREContains parameters for configuring the device.
ALTERNATE_INTERFACEThe ALTERNATE_INTERFACE structure provides information about alternate settings for a Universal Serial Bus (USB) interface.
COMPOSITE_DEVICE_CAPABILITIESThe 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.
CONTROLLER_USB_20_HARDWARE_LPM_FLAGSDescribes supported protocol capabilities for Link Power Management (LPM) in as defined the USB 2.0 specification.
DEFAULT_ENDPOINT_UPDATEContains 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.
ENDPOINT_RESETDescribes information required to reset an endpoint. This structure is passed by UCX in the EVT_UCX_ENDPOINT_RESET callback function.
ENDPOINTS_CONFIGUREDescribes endpoints to enable or disable endpoints. This structure is passed by UCX in the EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function.
ENDPOINTS_CONFIGURE_FAILURE_FLAGSThis 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.
HUB_DEVICE_CONFIG_INFOThe 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.
HUB_INFO_FROM_PARENTDescribes information about a hub from its parent device.
PARENT_HUB_FLAGSThis structure is used by the HUB_INFO_FROM_PARENT structure to get hub information from the parent.
REGISTER_COMPOSITE_DEVICEThe 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_NOTIFICATIONThe 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.
ROOTHUB_20PORT_INFOProvides 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_INFOThis 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_INFOProvides 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_EXProvides extended USB 3.0 port information about speed.
ROOTHUB_30PORTS_INFOProvides information about USB 3.0 root hub ports. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_30PORT_INFO callback function.
ROOTHUB_INFOProvides information about a USB root hub. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_INFO callback function.
STREAM_INFOThis structure stores information about a stream associated with a bulk endpoint.
UCM_CONNECTOR_CONFIGDescribes the configuration options for a Type-C connector object. An initialized UCM_MANAGER_CONFIG structure is an input parameter value to UcmInitializeDevice.
UCM_CONNECTOR_PD_CONFIGDescribes the Power Delivery 2.0 capabilities of the connector.
UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMSDescribes the parameters for PD connection changed event.
UCM_CONNECTOR_TYPEC_ATTACH_PARAMSDescribes the partner that is currently attached to the connector.
UCM_CONNECTOR_TYPEC_CONFIGDescribes the configuration options for a Type-C connector.
UCM_MANAGER_CONFIGDescribes the configuration options for the UCM Manager. An initialized UCM_MANAGER_CONFIG structure is an input parameter value to UcmInitializeDevice.
UCM_PD_POWER_DATA_OBJECTDescribes a Power Data Object. For information about these members, see the Power Delivery specification.
UCM_PD_REQUEST_DATA_OBJECTDescribes a Request Data Object (RDO). For information about these members, see the Power Delivery specification.
UCMTCPCI_DEVICE_CONFIGUsed in the client driver's call to UcmTcpciDeviceInitialize. Call UCMTCPCI_DEVICE_CONFIG_INIT to initialize this structure.
UCMTCPCI_DRIVER_GLOBALSThe global structure for the USB Type-C Port Controller Interface framework extension (UcmTcpciCx).
UCMTCPCI_PORT_CONTROLLER_ALERT_DATAContains information about hardware alerts received on the port controller object. This structure is used in the UcmTcpciPortControllerAlert call. Call UCMTCPCI_PORT_CONTROLLER_ALERT_DATA_INIT to initialize this structure.
UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED_IN_PARAMSStores information about the alternate mode that was detected. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED request.
UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED_IN_PARAMSStores information about the alternate mode that was exited. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED request.
UCMTCPCI_PORT_CONTROLLER_CAPABILITIESContains information about the capabilities of the port controller.
UCMTCPCI_PORT_CONTROLLER_CONFIGContains configuration options for the port controller object, passed by the client driver in the call to UcmTcpciPortControllerCreate. Call UCMTCPCI_PORT_CONTROLLER_CONFIG_INIT to initialize this structure.
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED_IN_PARAMSStores information about the pin assignment of the DisplayPort alternate mode that was configured. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED request.
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED_IN_PARAMSStores information about display out status of the DisplayPort connection. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS_CHANGED request.
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED_IN_PARAMSStores information about hot plug detect status of the DisplayPort connection. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS_CHANGED request.
UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMSThis structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL request.
UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMSStores the values of all control registers of the port controller retrieved by the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL request.
UCMTCPCI_PORT_CONTROLLER_GET_STATUS_IN_PARAMSThis structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS request.
UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMSStores the values of all status registers of the port controller. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS request.
UCMTCPCI_PORT_CONTROLLER_IDENTIFICATIONContains identification information and USB specification version information (in BCD format) about the port controller.
UCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMSStores the specified command registers. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_COMMAND request.
UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT_IN_PARAMSStores the value of the CONFIG_STANDARD_OUTPUT Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONFIG_STANDARD_OUTPUT request.
UCMTCPCI_PORT_CONTROLLER_SET_CONTROL_IN_PARAMSStores the values of all control registers. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROL request.
UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO_IN_PARAMSStores the value of the VBUS_VOLTAGE_ALARM_LO_CFG Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_MESSAGE_HEADER_INFO request.
UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT_IN_PARAMSStores the value of the RECEIVE_DETECT Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_RECEIVE_DETECT request.
UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER_IN_PARAMSStores the value of the TRANSMIT_BUFFER Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER request.
UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_IN_PARAMSStores the values of TRANSMIT Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT request.
UCMUCSI_CONNECTOR_INFOStores information about connectors that cannot be obtained by sending UCSI commands such as “Get Connector Capability”.
UCMUCSI_DEVICE_CONFIGConfiguration structure for UcmUcsiDeviceInitialize.
UCMUCSI_DRIVER_GLOBALSReserved.
UCMUCSI_PPM_CONFIGStores configuration information required to create a Platform Policy Manager (PPM).
UCMUCSI_PPM_GET_UCSI_DATA_BLOCK_IN_PARAMSContains a USCI data block for input to IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK.
UCMUCSI_PPM_GET_UCSI_DATA_BLOCK_OUT_PARAMSContains a USCI data block for output to IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK.
UCMUCSI_PPM_SEND_UCSI_DATA_BLOCK_IN_PARAMSContains a USCI data block for input to IOCTL_UCMUCSI_PPM_SEND_UCSI_DATA_BLOCK.
UCSI_ACK_CC_CI_COMMANDUsed in the ACK_CC_CI command. See Table 4-7.
UCSI_ALTERNATE_MODEUsed in GET_ALTERNATE_MODES command. See Table 4-26.
UCSI_BM_POWER_SOURCEUsed in GET_CAPABILITY command. See Bit 15:8 in Table 4-14.
UCSI_CCIUsed in GET_CONNECTOR_CAPABILITY command. See Table 4-16.
UCSI_CONNECTOR_RESET_COMMANDUsed in the CONNECTOR_RESET command. See Table 4-5.
UCSI_CONTROLUsed in the SET_NOTIFICATION_ENABLE command. See Table 4-9.
UCSI_DATA_BLOCKThe data structures for memory locations. See Section 3.
UCSI_GET_ALTERNATE_MODES_COMMANDUsed in the GET_ALTERNATE_MODES command. See Table 4-24.
UCSI_GET_ALTERNATE_MODES_INUsed in the GET_ALTERNATE_MODES command. See Table 4-24.
UCSI_GET_CABLE_PROPERTY_COMMANDUsed in the GET_CABLE_PROPERTY command. See Table 4-37.
UCSI_GET_CABLE_PROPERTY_INUsed in the GET_CABLE_PROPERTY command. See Table 4-39.
UCSI_GET_CAM_SUPPORTED_COMMANDUsed in the GET_CAM_SUPPORTED command. See Table 4-27.
UCSI_GET_CAM_SUPPORTED_INUsed in the GET_CAM_SUPPORTED command. See Table 4-27.
UCSI_GET_CAPABILITY_INUsed in the GET_CAPABILITY command. See Table 4-13.
UCSI_GET_CONNECTOR_CAPABILITY_COMMANDUsed in the GET_CONNECTOR_CAPABILITY command. See Table 4-15.
UCSI_GET_CONNECTOR_CAPABILITY_INUsed in the GET_CONNECTOR_CAPABILITY command. See Table 4-17.
UCSI_GET_CONNECTOR_STATUS_COMMANDUsed in the GET_CONNECTOR_STATUS command. See Table 4-40.
UCSI_GET_CONNECTOR_STATUS_INUsed in the GET_CONNECTOR_STATUS command. See Table 4-42.
UCSI_GET_CURRENT_CAM_COMMANDUsed in the GET_CURRENT_CAM command. See Table 4-29.
UCSI_GET_CURRENT_CAM_INUsed in the GET_CURRENT_CAM command. See Table 4-31.
UCSI_GET_ERROR_STATUS_COMMANDUsed in the GET_ERROR_STATUS command. See Table 4-45
UCSI_GET_ERROR_STATUS_INUsed in the GET_ERROR_STATUS command. See Table 4-47.
UCSI_GET_PDOS_COMMANDUsed in the GET_PDOS command. See Table 4-34.
UCSI_GET_PDOS_INUsed in the GET_PDOS command. See Table 4-36.
UCSI_MESSAGE_INThe MESSAGE IN data structure. See Section 3.4.
UCSI_MESSAGE_OUTThe MESSAGE OUT data structure. See Section 3.5.
UCSI_SET_NEW_CAM_COMMANDUsed in the SET_NEW_CAM command. See Table 4-32.
UCSI_SET_NOTIFICATION_ENABLE_COMMANDUsed in the SET_NOTIFICATION_ENABLE command. See Table 4-9.
UCSI_SET_PDM_COMMANDObsolete.
UCSI_SET_PDR_COMMANDUsed in the SET_PDR command. See Table 4-22.
UCSI_SET_POWER_LEVEL_COMMANDUsed in the SET_POWER_LEVEL command. See Table 4-48.
UCSI_SET_UOM_COMMANDUsed in the SET_UOM command. See Table 4-18.
UCSI_SET_UOR_COMMANDUsed in the SET_UOR command. See Table 4-20.
UCSI_VERSIONThe VERSION data structure. See Section 3.1.
UCX_CONTROLLER_ACPI_INFORMATIONThis structure provides information about an advanced Configuration and power interface (ACPI) USB controller.
UCX_CONTROLLER_CONFIGThis structure configuration data for a USB controller.
UCX_CONTROLLER_PCI_INFORMATIONThis structure provides information about a PCI USB controller.
UCX_CONTROLLER_RESET_COMPLETE_INFOContains 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_TRANSPORT_CHARACTERISTICSStores the transport characteristics at relevant points in time. This structure is used in the EVT_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICS callback function.
UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGSDefines flags for the transport characteristics changes. This structure is used in the EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION callback function.
UCX_DEFAULT_ENDPOINT_EVENT_CALLBACKSThis structure provides a list of UCX default endpoint event callback functions.
UCX_ENDPOINT_CHARACTERISTICStores the characteristics of an endpoint.
UCX_ENDPOINT_EVENT_CALLBACKSThis structure provides a list of pointers to UCX endpoint event callback functions.
UCX_ENDPOINT_ISOCH_TRANSFER_PATH_DELAYSStores the isochronous transfer path delay values.
UCX_ROOTHUB_CONFIGContains 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_CHARACTERISTICStores the characteristics of an device.
UCX_USBDEVICE_CHARACTERISTIC_PATH_DELAYStores the isochronous transfer path delay values.
UCX_USBDEVICE_EVENT_CALLBACKSThis structure provides a list of UCX USB device event callback functions.
UCXUSBDEVICE_INFOContains information about the USB device. This structure is passed by UCX in the EVT_UCX_CONTROLLER_USBDEVICE_ADD event callback function.
UDECX_ENDPOINTS_CONFIGURE_PARAMSContains 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_PLUG_IN_OPTIONSContains 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_DEVICE_STATE_CHANGE_CALLBACKSInitializes 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_ENDPOINT_CALLBACKSContains 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_METADATAContains the descriptors supported by an endpoint of a virtual USB device.
UDECX_WDF_DEVICE_CONFIGContains 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.
UFX_DEVICE_CALLBACKSThe UFX_DEVICE_CALLBACKS structure is used to define then event callback functions supported by the client driver.
UFX_DEVICE_CAPABILITIESThe UFX_DEVICE_CAPABILITIES structure is used USB to define properties of the Universal Serial Bus (USB) device created by the controller.
UFX_ENDPOINT_CALLBACKSThe UFX_ENDPOINT_CALLBACKS structure is used to define then event callback functions supported by the client driver.
UFX_HARDWARE_FAILURE_CONTEXTThe UFX_HARDWARE_FAILURE_CONTEXT structure is used to define controller-specific hardware failure properties.
UFX_INTERFACE_PROPRIETARY_CHARGERStores pointers to driver-implemented callback functions for handling proprietary charger operations.
UFX_PROPRIETARY_CHARGERDescribes the proprietary charger's device power requirements.
URBThe 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.
URS_CONFIGContains 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.
USB_30_HUB_DESCRIPTORThe 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_BUS_INFORMATION_LEVEL_0The 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_1The 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_V0The 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_V1The 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_V2The 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_V3The 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_COMMON_DESCRIPTORThe USB_COMMON_DESCRIPTOR structure contains the head of the first descriptor that matches the search criteria in a call to USBD_ParseDescriptors.
USB_CONFIGURATION_DESCRIPTORThe USB_CONFIGURATION_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined configuration descriptor.
USB_CYCLE_PORT_PARAMSThe 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_REQUESTThe 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_CHARACTERISTICSContains information about the USB device’s characteristics, such as the maximum send and receive delays for any request. This structure is used in the IOCTL_USB_GET_DEVICE_CHARACTERISTICS request.
USB_DEVICE_DESCRIPTORThe USB_DEVICE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device descriptor.
USB_DEVICE_PORT_PATHContains the port path of a USB device.
USB_DEVICE_QUALIFIER_DESCRIPTORThe USB_DEVICE_QUALIFIER_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device qualifier descriptor.
USB_ENDPOINT_DESCRIPTORThe USB_ENDPOINT_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined endpoint descriptor.
USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATIONStores the frame and microframe numbers and the calculated system QPC values. This structure is used in the IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC request.
USB_HCD_DRIVERKEY_NAMEThe 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_FLAGSThe USB_HUB_CAP_FLAGS structure is used to report the capabilities of a hub.
USB_HUB_CAPABILITIESThe USB_HUB_CAPABILITIES structure has been deprecated. Use USB_HUB_CAPABILITIES_EX instead.
USB_HUB_CAPABILITIES_EXThe 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_DESCRIPTORThe USB_HUB_DESCRIPTOR structure contains a hub descriptor.
USB_HUB_INFORMATIONThe USB_HUB_INFORMATION structure contains information about a hub.
USB_HUB_INFORMATION_EXThe USB_HUB_INFORMATION_EX structure is used with the IOCTL_USB_GET_HUB_INFORMATION_EX I/O control request to retrieve information about a Universal Serial Bus (USB) hub.
USB_HUB_NAMEThe USB_HUB_NAME structure stores the hub's symbolic device name.
USB_ID_STRINGThe USB_ID_STRING structure is used to store a string or multi-string.
USB_INTERFACE_DESCRIPTORThe USB_INTERFACE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined interface descriptor.
USB_MI_PARENT_INFORMATIONThe USB_MI_PARENT_INFORMATION structure contains information about a composite device.
USB_NODE_CONNECTION_ATTRIBUTESThe 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_NAMEThe 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_INFORMATIONThe 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_EXThe 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_V2The 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 Universal Serial Bus (USB) device that is attached to a particular port.
USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGSThe 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.
USB_NODE_CONNECTION_NAMEThe 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_INFORMATIONThe 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_PIPE_INFOThe 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_PROPERTIESThe 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_PROPERTIESThe USB_PORT_PROPERTIES union is used to report the capabilities of a Universal Serial Bus (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_PROTOCOLSThe USB_PROTOCOLS union is used to report the Universal Serial Bus (USB) signaling protocols that are supported by the port.
USB_ROOT_HUB_NAMEThe USB_ROOT_HUB_NAME structure stores the root hub's symbolic device name.
USB_START_TRACKING_FOR_TIME_SYNC_INFORMATIONThe input and output buffer for the IOCTL_USB_START_TRACKING_FOR_TIME_SYNC request.
USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATIONThe input buffer for the IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC request.
USB_STRING_DESCRIPTORThe USB_STRING_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined string descriptor.
USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTORThe 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_ADDRESSThe 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_TRANSPORT_CHARACTERISTICSStores the transport characteristics at relevant points in time. This structure is used in the IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS request.
USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATIONContains registration information filled when the IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request completes.
USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATIONContains registration information for the IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request.
USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATIONContains unregistration information for the IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request.
USBC_DEVICE_CONFIGURATION_INTERFACE_V1The 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_DESCRIPTORThe USBC_FUNCTION_DESCRIPTOR structure describes a USB function and its associated interface collection.
USBD_ENDPOINT_OFFLOAD_INFORMATIONStores xHCI-specific information that is used by client drivers to transfer data to and from the offloaded endpoints.
USBD_INTERFACE_INFORMATIONThe USBD_INTERFACE_INFORMATION structure holds information about an interface for a configuration on a USB device.
USBD_INTERFACE_LIST_ENTRYThe 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_DESCRIPTORThe USBD_ISO_PACKET_DESCRIPTOR structure is used by USB client drivers to describe an isochronous transfer packet.
USBD_PIPE_INFORMATIONThe USBD_PIPE_INFORMATION structure is used by USB client drivers to hold information about a pipe from a specific interface.
USBD_STREAM_INFORMATIONThe USBD_STREAM_INFORMATION structure stores information about a stream associated with a bulk endpoint.
USBD_VERSION_INFORMATIONThe USBD_VERSION_INFORMATION structure is used by the GetUSBDIVersion function to report its output data.
USBDEVICE_ABORTIOContains a handle for the Universal Serial Bus (USB) hub or device for which to abort data transfers.
USBDEVICE_ADDRESSContains 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_DISABLEContains 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_ENABLEContains 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_ENABLE_FAILURE_FLAGSThe 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_HUB_INFOContains 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_HEADERThis structure provides a handle for the Universal Serial Bus (USB) hub or device physically connected to the bus.
USBDEVICE_PURGEIOThe USBDEVICE_PURGEIO structure contains the handle for the Universal Serial Bus (USB) hub or device to purge I/O for.
USBDEVICE_RESETContains 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_STARTIOContains a handle for the Universal Serial Bus (USB) hub or device on which to start data transfer.
USBDEVICE_TREE_PURGEIOThis structure provides the handle for the Universal Serial Bus (USB) device tree to purge I/O for.
USBDEVICE_UPDATEPassed 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_20_HARDWARE_LPM_PARAMETERSContains 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_FAILURE_FLAGSThe 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_FLAGSContains 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.
USBFN_BUS_CONFIGURATION_INFOConfiguration packet that stores information about an available USB configuration.
USBFN_CLASS_INFORMATION_PACKETDescribes device interface class information associated with a USB interface. This structure can only hold information about a single function interface.
USBFN_CLASS_INFORMATION_PACKET_EXDescribes device interface class information associated with a USB interface. This structure can be used to describe single and multi-interface functions.
USBFN_CLASS_INTERFACEDescribes an interface and its endpoints.
USBFN_CLASS_INTERFACE_EXDescribes an interface and its endpoints.
USBFN_INTERFACE_ATTACHStores pointers to driver-implemented callback functions for handling attach and detach operations.
USBFN_INTERFACE_INFODescribes an interface and its endpoints.
USBFN_NOTIFICATIONDescribes information about a Universal Serial Bus (USB) event notification that was received by using IOCTL_INTERNAL_USBFN_BUS_EVENT_NOTIFICATION.
USBFN_ON_ATTACHDescribes the detected port type and attach action.
USBFN_PIPE_INFORMATIONDescribes attributes of a pipe associated with an endpoint on a specific interface.
USBFN_POWER_FILTER_STATEReserved. Do not use.
USBFN_USB_STRINGDescribes a USB string descriptor and the associated string index.
USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMSDescribes the parameters for the UsbPm_AssignConnectorPowerLevel.
USBPM_CLIENT_CONFIGThe configuration structure used in the registering the client driver with the Policy Manager
USBPM_CLIENT_CONFIG_EXTRA_INFOContains optional information used to configure the client driver's registration.
USBPM_CONNECTOR_PROPERTIESDescribes the properties of a connector.
USBPM_CONNECTOR_STATEDescribes the state of a connector.
USBPM_EVENT_CALLBACK_PARAMSContains the details of the events related to changes in policy manager arrival/removal, hub arrival/removal or connector state change.
USBPM_HUB_CONNECTOR_HANDLESStores the connector handles for all connectors on a hub.
USBPM_HUB_PROPERTIESProperties of a connector hub.

Hello,

Welcome to Microsoft Community Forum.

I understand the inconvenience that you have to go through due to USB [Universal Serial bus] host controller issue. This issue can be caused due to driver corruption. Let’s try to identify the actual cause and troubleshoot accordingly.

However, before we proceed I would require some more information to assist you better.

What is the make and model of the laptop?

As all the hardware devices have drivers associated similarly USB devices also have it. Sometimes proper drivers do not get detected after the initial installation so reinstallation of the drivers helps resolve the issues.

You may disconnect all USB devices and then perform the following methods:

Method 1:
Run Hardware Troubleshooter and then check for the issue.

To do so, follow the steps given below:

Universal Serial Bus Controller Driver Windows 7 64 Bit Lenovo

a) Open the Hardware and Devices troubleshooter by clicking the Start button and then clicking Control Panel.

b) In the search box, type troubleshooter and then click Troubleshooting. Under Hardware and Sound, click Configure a device.‌

c) If you're prompted for an administrator password or confirmation, type the password or provide confirmation.

Access the link below to know more about Hardware Troubleshooter:

Method 2:

If the above step does not help us to diagnose the issue, uninstall the drivers for USB [Universal Serial bus] host controller and restart the computer. Let Windows install the generic drivers and then see if it helps you to fix the issue.

Follow the steps to uninstall & reinstall the USB [Universal Serial bus] host controller from device manager.

1. Click on Start and in Start search box type in 'Device Manager' (with quotes) and press enter.

2. Device Manager Window will be open.

3. If you are prompted for an administrator password or confirmation, type the password or provide confirmation.

4. In the list of hardware categories, find and expand Universal Serial Bus controllers.

Windows 7 Universal Serial Bus Controller Driver Not Found

5. Right-click on every device under the Universal Serial Bus controllers node and then click Uninstall to remove them one at a time.

6. Restart the computer and let the USB controllers get reinstalled.

7. Plug in the removable USB device and then test to make sure that the issue is resolved.

Windows 10 Universal Serial Bus Controller Driver

Hope this information is helpful for you. Please reply us back with results along with the required information.

Universal Serial Bus Controller Driver Windows 8.1 64 Bit

Thank you