Universal Serial Bus (USB)
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, and connectors. These interfaces 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 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 are deprecated.
Do not use.
- USBD_CalculateUsbBandwidth
- USBD_CreateConfigurationRequest
- USBD_Debug_LogEntry
- USBD_GetUSBDIVersion
- USBD_ParseConfigurationDescriptor
- USBD_QueryBusTime
- USBD_RegisterHcFilter
These I/O requests are 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
Kernel-Mode IOCTLs
USB client drivers can receive or send any of the following I/O requests in kernel mode:
- IOCTL_INTERNAL_USB_CYCLE_PORT
- IOCTL_INTERNAL_USB_GET_BUS_INFO
- IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
- IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO
- IOCTL_INTERNAL_USB_GET_HUB_NAME
- IOCTL_INTERNAL_USB_GET_PORT_STATUS
- IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS
- IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE
- IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION
- IOCTL_INTERNAL_USB_RESET_PORT
- IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION
- IOCTL_INTERNAL_USB_SUBMIT_URB
- IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE
User-Mode IOCTLs sent by applications and services
USB client drivers receive these user-mode I/O control requests at the kernel level:
- IOCTL_GET_HCD_DRIVERKEY_NAME
- IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION
- IOCTL_USB_GET_HUB_INFORMATION_EX
- IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES
- IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME
- IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
- IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
- IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2
- IOCTL_USB_GET_NODE_CONNECTION_NAME
- IOCTL_USB_GET_NODE_INFORMATION
- IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES
- IOCTL_USB_GET_ROOT_HUB_NAME
- IOCTL_USB_HUB_CYCLE_PORT
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. Dual-role 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 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.
Dual-role controller driver programming guide
For information about enabling a Windows system for USB dual-role support, see USB Dual Role Driver Stack Architecture.
Dual-role controller driver 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 a USB device.
- USB device emulation class extension (UdeCx) is an in-box driver included Windows 10.
- The client driver written by an IHV/OEM and referred to as the UDE client driver.
The driver pair loads as the functional device object (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.
Emulated host controller programming guide
Emulated host controller headers
Function class driver reference
A USB function class driver implements the functionality of a specific 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 Media Transfer Protocol (MTP) and IpOverUsb. Windows also provides a generic kernel-mode class driver, GenericUSBFn.sys. If a particular interface or functionality isn't provided by a system-supplied driver, you might need to write a function class driver. You can implement the class driver as a kernel-mode driver by using Windows Driver Frameworks (WDF). Or you can implement it as a user-mode service. In that case, your class driver must be paired with the system-supplied class driver, GenericUSBFn.sys. For example, the MTP class driver runs as a user-mode service that transferring files to and from the device.
Function class driver headers
USB function controller client driver reference
The USB function client driver is responsible for implementing 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.
USB function controller client driver programming guide
USB function controller client driver headers
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're 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.
Filter driver for supporting USB chargers programming guide
Filter driver for supporting USB chargers 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, USB host controller extension (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're developing an xHCI host controller that isn't 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.
Host controller driver programming guide
Developing Windows drivers for USB host controllers
Host controller driver 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:
Scenario | Headers | Programming Guide |
---|---|---|
If your USB Type-C hardware has the capability of handling the power delivery (PD) state machine. | ucmmanager.h | Write a USB Type-C connector driver |
If your driver wants to participate in the policy decisions for USB Type-C connectors. | Usbpmapi.h | Write a USB Type-C Policy Manager client driver |
If your hardware doesn't support PD. | ucmtcpcidevice.h ucmtcpciglobals.h ucmtcpciportcontroller.h ucmtcpciportcontrollerrequests.h ucmtypes.h |
Write a USB Type-C port controller driver. |
If your embedded controller is connected over non-ACPI transport | Ucmucsicx.h Ucmucsidevice.h Ucmucsifuncenum.h Ucmucsiglobals.h Ucmucsippm.h Ucmucsippmrequests.h Ucmucsispec.h |
Write a UCSI client driver |
IOCTLs
IOCTL_GET_HCD_DRIVERKEY_NAME The 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_PORT The 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_PORT The IOCTL_INTERNAL_USB_ENABLE_PORT IOCTL has been deprecated. Do not use. |
IOCTL_INTERNAL_USB_GET_BUS_INFO The IOCTL_INTERNAL_USB_GET_BUS_INFO I/O request queries the bus driver for certain bus information. |
IOCTL_INTERNAL_USB_GET_BUSGUID_INFO The IOCTL_INTERNAL_USB_GET_BUSGUID_INFO IOCTL has been deprecated. Do not use. |
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME The 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_INFO The 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_HANDLE The IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX The IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_GET_HUB_COUNT The IOCTL_INTERNAL_USB_GET_HUB_COUNT IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_GET_HUB_NAME The 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_INFO The IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_GET_PORT_STATUS The 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_PDO The IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS The 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_HANDLE The IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY The IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_RECORD_FAILURE The IOCTL_INTERNAL_USB_RECORD_FAILURE IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE The 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_RESUME The IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND The IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND IOCTL is used by the USB hub driver. Do not use. |
IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION The 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_PORT The 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_NOTIFICATION The 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_URB The 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_DEVICE The 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_BUS The 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_NOTIFICATION The 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_IN The 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_OUT The 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_BUS Do not use. |
IOCTL_INTERNAL_USBFN_DESCRIPTOR_UPDATE The 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_INFO The 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_SET The class driver sends this request to get the entire USB interface descriptor set for a function on the device. |
IOCTL_INTERNAL_USBFN_GET_PIPE_STATE The class driver sends this request to get the stall state of the specified pipe. |
IOCTL_INTERNAL_USBFN_REGISTER_USB_STRING The class driver sends this request to register a USB string descriptor. |
IOCTL_INTERNAL_USBFN_RESERVED Do not use this (IOCTL_INTERNAL_USBFN_RESERVED) article. |
IOCTL_INTERNAL_USBFN_SET_PIPE_STATE The class driver sends this request to set the stall state of the specified USB pipe. |
IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_EXIT_LPM Do not use this (IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_EXIT_LPM) article. |
IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_STATE Do not use this (IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_STATE) article. |
IOCTL_INTERNAL_USBFN_SIGNAL_REMOTE_WAKEUP The class driver sends this request to get remote wake-up notifications from endpoints. |
IOCTL_INTERNAL_USBFN_TRANSFER_IN The class driver sends this request to initiate a data transfer to the host on the specified pipe. |
IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKT The 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_OUT The class driver sends this request to initiate a data transfer from the host on the specified pipe. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED Notifies the client driver that an alternate mode is entered so that the driver can perform additional tasks. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_EXITED Notifies the client driver that an alternate mode is exited so that the driver can perform additional tasks. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED Notifies 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_CHANGED Notifies 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_CHANGED Notifies 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_CONTROL Gets the values of all control registers defined as per the Universal Serial Bus Type-C Port Controller Interface Specification. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS Gets 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_COMMAND Sets 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_OUTPUT Sets the CONFIG_STANDARD_OUTPUT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_CONTROL Sets 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_INFO Sets 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_DETECT Sets the RECEIVE_DETECT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT Sets the TRANSMIT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification. |
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER Sets the TRANSMIT_BUFER Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification. |
IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK Learn more about: IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK IOCTL |
IOCTL_UCMUCSI_PPM_SEND_UCSI_DATA_BLOCK Sends a UCSI data block to the client driver. |
IOCTL_USB_DIAG_IGNORE_HUBS_OFF The IOCTL_USB_DIAG_IGNORE_HUBS_OFF I/O control has been deprecated. Do not use. |
IOCTL_USB_DIAG_IGNORE_HUBS_ON The IOCTL_USB_DIAG_IGNORE_HUBS_ON I/O control has been deprecated. Do not use. |
IOCTL_USB_DIAGNOSTIC_MODE_OFF The IOCTL_USB_DIAGNOSTIC_MODE_OFF I/O control has been deprecated. Do not use. |
IOCTL_USB_DIAGNOSTIC_MODE_ON The IOCTL_USB_DIAGNOSTIC_MODE_ON I/O control has been deprecated. Do not use. |
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION The 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_CHARACTERISTICS The 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 The IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC IOCTL function gets the system query performance counter (QPC) value for a specific frame and microframe. |
IOCTL_USB_GET_HUB_CAPABILITIES The IOCTL_USB_GET_HUB_CAPABILITIES I/O control request retrieves the capabilities of a USB hub. |
IOCTL_USB_GET_HUB_CAPABILITIES_EX The 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_EX The 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_ATTRIBUTES The 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_NAME The 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_INFORMATION The 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_EX The 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_V2 The 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_NAME The 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_CONNECTION_SUPERSPEEDPLUS_INFORMATION |
IOCTL_USB_GET_NODE_INFORMATION The 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_PROPERTIES The 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_NAME The 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_CHARACTERISTICS The client driver sends this request to retrieve the transport characteristics. |
IOCTL_USB_HCD_DISABLE_PORT The IOCTL_USB_HCD_DISABLE_PORT IOCTL has been deprecated. Do not use. |
IOCTL_USB_HCD_ENABLE_PORT The IOCTL_USB_HCD_ENABLE_PORT IOCTL has been deprecated. Do not use. |
IOCTL_USB_HCD_GET_STATS_1 The IOCTL_USB_HCD_GET_STATS_1 IOCTL has been deprecated. Do not use. |
IOCTL_USB_HCD_GET_STATS_2 The IOCTL_USB_HCD_GET_STATS_2 IOCTL has been deprecated. Do not use. |
IOCTL_USB_HUB_CYCLE_PORT The 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_CHANGE This request notifies the caller of change in transport characteristics. |
IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE This request registers for notifications about the changes in transport characteristics. |
IOCTL_USB_RESET_HUB The IOCTL_USB_RESET_HUB IOCTL is used by the USB driver stack. Do not use. |
IOCTL_USB_START_TRACKING_FOR_TIME_SYNC This request registers the caller with USB driver stack for time sync services. |
IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC This request unregisters the caller with USB driver stack for time sync services. |
IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE This request unregisters the caller from getting notifications about transport characteristics changes. |
Enumerations
CONTROLLER_TYPE This enumeration specifies if the USB host controller is an eXtensible Host Controller Interface (xHCI) controller. |
ENDPOINT_RESET_FLAGS Defines parameters for a request to reset an endpoint. |
TRISTATE The TRISTATE enumeration indicates generic state values for true or false. |
UCM_CHARGING_STATE Defines the charging state of a Type-C connector. |
UCM_PD_CONN_STATE Defines power delivery (PD) negotiation states of a Type-C port. |
UCM_PD_POWER_DATA_OBJECT_TYPE Defines Power Data Object types. |
UCM_POWER_ROLE Defines power roles of USB Type-C connected devices. |
UCM_TYPEC_CURRENT Defines different Type-C current levels, as defined in the Type-C specification. |
UCM_TYPEC_OPERATING_MODE Defines operating modes of a USB Type-C connector. |
UCM_TYPEC_PARTNER Defines the state of the Type-C connector. |
UCMTCPCI_PORT_CONTROLLER_ALERT_TYPE Defines generic alert values that are used to indicate the type of hardware alert received on the port controller. |
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_DISPLAY_OUT_STATUS Defines values to determine whether a display out status for a DisplayPort device is enabled. |
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS Defines values to determine whether a DisplayPort device is plugged in. |
UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT Learn more about: _UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT enumeration |
UCMTCPCI_PORT_CONTROLLER_IOCTL Defines 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_IOCTL Defines I/O control codes handled by the client driver. |
UCMUCSIFUNCENUM Defines values for all export functions called by a client driver of a UcmUcsiCx class extension. |
UCSI_BATTERY_CHARGING_STATUS See Table 4-42, Offset 64. |
UCSI_COMMAND See Table 4-51, Command Code. |
UCSI_CONNECTOR_PARTNER_FLAGS Used in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 21. |
UCSI_CONNECTOR_PARTNER_TYPE Used in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 29. |
UCSI_GET_ALTERNATE_MODES_RECIPIENT Used in the GET_ALTERNATE_MODES command. See Table 4-24, Offset 16. |
UCSI_GET_PDOS_SOURCE_CAPABILITIES_TYPE Used in the GET_PDOS command. See Table 4-34, Offset 35. |
UCSI_GET_PDOS_TYPE Used in the GET_PDOS command. See Table 4-34, Offset 34. |
UCSI_POWER_DIRECTION Used in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 20. |
UCSI_POWER_DIRECTION_MODE Used in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 20. |
UCSI_POWER_DIRECTION_ROLE Used in the SET_PDR command. The SET_PDR command is used to set the power direction dictated by the OS Policy Manager (OPM), for the current connection. |
UCSI_POWER_OPERATION_MODE Used in the GET_CONNECTOR_STATUS command. See Table 4-42, Offset 16. |
UCSI_USB_OPERATION_MODE Used in the SET_UOR command. See Table 4-18, Offset 23. |
UCSI_USB_OPERATION_ROLE Used in the SET_UOR command. The SET_UOR command is used to set the USB operation role dictated by the OS Policy Manager (OPM), for the current connection. |
UCX_CONTROLLER_ENDPOINT_CHARACTERISTIC_PRIORITY Indicates the priority of endpoints. |
UCX_CONTROLLER_PARENT_BUS_TYPE The UCX_CONTROLLER_PARENT_BUS_TYPE enumeration defines the parent bus type. |
UCX_CONTROLLER_STATE This enumeration provides values to specify the UCX controller state after a reset. |
UCX_ENDPOINT_CHARACTERISTIC_TYPE Defines values that indicates the type of endpoint characteristic. |
UCX_USBDEVICE_CHARACTERISTIC_TYPE Defines values that indicates the type of device characteristic. |
UCX_USBDEVICE_RECOVERY_ACTION Defines values for FLDR and PLDR trigger resets. |
UDECX_ENDPOINT_TYPE Defines values for endpoint types supported by a virtual USB device. |
UDECX_ENDPOINTS_CONFIGURE_TYPE Defines values for endpoint configuration options. |
UDECX_USB_DEVICE_FUNCTION_POWER Defines values for function wake capability of a virtual USB 3.0 device. |
UDECX_USB_DEVICE_SPEED Defines values for USB device speeds. |
UDECX_USB_DEVICE_WAKE_SETTING Defines values for remote wake capability of a virtual USB device. |
UDECX_WDF_DEVICE_RESET_ACTION Defines values that indicate the types of reset operation supported by an emulated USB host controller. |
UDECX_WDF_DEVICE_RESET_TYPE Defines values that indicates the type of reset for a UDE device. |
UFX_CLASS_FUNCTIONS Learn more about: _UFX_CLASS_FUNCTIONS enumeration |
URS_HARDWARE_EVENT Defines values for the hardware events that a client driver for a USB dual-role controller can report. |
URS_HOST_INTERFACE_TYPE Defines values for the various types of USB host controllers. |
URS_ROLE Defines values for roles supported by a USB dual-role controller. |
USB_CONNECTION_STATUS The USB_CONNECTION_STATUS enumerator indicates the status of the connection to a device on a USB hub port. |
USB_CONTROLLER_FLAVOR The USB_CONTROLLER_FLAVOR enumeration specifies the type of USB host controller. |
USB_DEVICE_SPEED The USB_DEVICE_SPEED enumeration defines constants for USB device speeds. |
USB_HUB_NODE The USB_HUB_NODE enumerator indicates whether a device is a hub or a composite device. |
USB_HUB_TYPE The 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. |
USB_NOTIFICATION_TYPE Learn more about: _USB_NOTIFICATION_TYPE enumeration |
USBC_CHARGING_STATE Learn how USBC_CHARGING_STATE defines the charging state of a Type-C connector. |
USBC_CURRENT Learn how USBC_CURRENT defines different Type-C current levels, as defined in the Type-C specification. |
USBC_DATA_ROLE Defines data roles of USB Type-C connected devices. |
USBC_PARTNER Defines values for the type of connector partner detected on the USB Type-C connector. |
USBC_PD_AUGMENTED_POWER_DATA_OBJECT_TYPE Learn how USBC_PD_AUGMENTED_POWER_DATA_OBJECT_TYPE defines augmented power data object (APDO) types. |
USBC_PD_CONN_STATE Learn how USBC_PD_CONN_STATE defines power delivery (PD) negotiation states of a Type-C port. |
USBC_PD_POWER_DATA_OBJECT_TYPE Learn how USBC_PD_POWER_DATA_OBJECT_TYPE defines power data object (PDO) types. |
USBC_POWER_ROLE Learn how USBC_POWER_ROLE defines power roles of USB Type-C connected devices. |
USBC_TYPEC_OPERATING_MODE Learn how USBC_TYPEC_OPERATING_MODE defines operating modes of a USB Type-C connector. |
USBC_UCSI_SET_POWER_LEVEL_C_CURRENT Defines values for current power operation mode. |
USBD_ENDPOINT_OFFLOAD_MODE Defines values for endpoint offloading options in the USB device or host controller. |
USBD_PIPE_TYPE The USBD_PIPE_TYPE enumerator indicates the type of pipe. |
USBFN_ACTION Defines special actions UFX should take when the client driver calls the UfxDevicePortDetectCompleteEx function. |
USBFN_ATTACH_ACTION Defines the actions that the Universal Serial Bus (USB) function stack takes when a device is attached to a USB port. |
USBFN_BUS_SPEED The USBFN_BUS_SPEED enumeration defines possible bus speeds. |
USBFN_DEVICE_STATE Defines 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_DIRECTION Defines the USB data transfer direction types. |
USBFN_EVENT Defines notifications sent to class drivers. |
USBFN_PORT_TYPE Defines the possible port types that can be returned by the client driver during port detection. |
USBPM_ACCESS_TYPE Defines the access types for calling Policy Manager functions. |
USBPM_ASSIGN_POWER_LEVEL_PARAMS_FORMAT Defines format values used in USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS. |
USBPM_EVENT_TYPE Defines values for types of events. |
Functions
COMPOSITE_DEVICE_CAPABILITIES_INIT The COMPOSITE_DEVICE_CAPABILITIES_INIT macro initializes the COMPOSITE_DEVICE_CAPABILITIES structure. |
EVT_UCM_CONNECTOR_SET_DATA_ROLE The 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_ROLE The 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_FRAMENUMBER The 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_SYNC UCX invokes this callback to retrieves the system query performance counter (QPC) value synchronized with the frame and microframe. |
EVT_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICS UCX invokes this callback to retrieve the host controller characteristics. |
EVT_UCX_CONTROLLER_QUERY_USB_CAPABILITY The client driver's implementation to determine if the controller supports a specific capability. |
EVT_UCX_CONTROLLER_RESET The client driver's implementation that UCX calls to reset the controller. |
EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION UCX 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_SYNC UCX invokes this callback function to the start time tracking functionality in the controller. |
EVT_UCX_CONTROLLER_STOP_TRACKING_FOR_TIME_SYNC UCX invokes this callback function to the stop time tracking functionality in the controller. |
EVT_UCX_CONTROLLER_USBDEVICE_ADD The client driver's implementation that UCX calls when a new USB device is detected. |
EVT_UCX_DEFAULT_ENDPOINT_UPDATE The client driver's implementation that UCX calls with information about the default endpoint. |
EVT_UCX_ENDPOINT_ABORT The client driver's implementation that UCX calls to abort the queue associated with the endpoint. |
EVT_UCX_ENDPOINT_GET_ISOCH_TRANSFER_PATH_DELAYS UCX invokes this callback function to get information about transfer path delays for an isochronous endpoint. |
EVT_UCX_ENDPOINT_OK_TO_CANCEL_TRANSFERS The client driver's implementation that UCX calls to notify the controller driver that it can complete cancelled transfers on the endpoint. |
EVT_UCX_ENDPOINT_PURGE The client driver's implementation that completes all outstanding I/O requests on the endpoint. |
EVT_UCX_ENDPOINT_RESET The client driver's implementation that UCX calls to reset the controller's programming for an endpoint. |
EVT_UCX_ENDPOINT_SET_CHARACTERISTIC UCX invokes this callback function to set the priority on an endpoint. |
EVT_UCX_ENDPOINT_START The client driver's implementation that UCX calls to start the queue associated with the endpoint. |
EVT_UCX_ENDPOINT_STATIC_STREAMS_ADD The client driver's implementation that UCX calls to create static streams. |
EVT_UCX_ENDPOINT_STATIC_STREAMS_DISABLE The client driver's implementation that UCX calls to release controller resources for all streams for an endpoint. |
EVT_UCX_ENDPOINT_STATIC_STREAMS_ENABLE The client driver's implementation that UCX calls to enable the static streams. |
EVT_UCX_ROOTHUB_CONTROL_URB The 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_INFO The 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_INFO The 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_INFO The client driver's implementation that UCX calls when it receives a request for information about the root hub. |
EVT_UCX_ROOTHUB_INTERRUPT_TX The client driver's implementation that UCX calls when it receives a request for information about changed ports. |
EVT_UCX_USBDEVICE_ADDRESS The client driver's implementation that UCX calls to address the USB device. |
EVT_UCX_USBDEVICE_DEFAULT_ENDPOINT_ADD The client driver's implementation that UCX calls to add a new default endpoint for a USB device. |
EVT_UCX_USBDEVICE_DISABLE The client driver's implementation that UCX calls to release controller resources associated with the device and its default endpoint. |
EVT_UCX_USBDEVICE_ENABLE The 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_ADD The client driver's implementation that UCX calls to add a new endpoint for a USB device. |
EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE The client driver's implementation that UCX calls to configure endpoints in the controller. |
EVT_UCX_USBDEVICE_GET_CHARACTERISTIC UCX invokes this callback to retrieve the device characteristics. |
EVT_UCX_USBDEVICE_HUB_INFO The client driver's implementation that UCX calls to retrieve hub properties. |
EVT_UCX_USBDEVICE_RESET The client driver's implementation that UCX calls when the port to which the device is attached is reset. |
EVT_UCX_USBDEVICE_RESUME UCX invokes this callback function to resume a device from suspend state. |
EVT_UCX_USBDEVICE_SUSPEND UCX invokes this callback function to send a device suspend state. |
EVT_UCX_USBDEVICE_UPDATE The client driver's implementation that UCX calls to update device properties. |
EVT_UDECX_USB_DEVICE_D0_ENTRY The 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_EXIT The 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_ADD The 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_ADD The 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_CONFIGURE The 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_WAKE The 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_PURGE The 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_RESET The USB device emulation class extension (UdeCx) invokes this callback function to reset an endpoint of the virtual USB device. |
EVT_UDECX_USB_ENDPOINT_START The 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_CAPABILITY The UDE client driver's implementation to determine the capabilities that are supported by the emulated USB host controller. |
EVT_UDECX_WDF_DEVICE_RESET The UDE client driver's implementation to reset the emulated host controller or the devices attached to it. |
EVT_UFX_DEVICE_ADDRESSED The client driver's implementation to assign an address on the function controller. |
EVT_UFX_DEVICE_CONTROLLER_RESET The client driver's implementation to reset the function controller to its initial state. |
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD The client driver's implementation to create a default control endpoint. |
EVT_UFX_DEVICE_ENDPOINT_ADD The client driver's implementation to create a default endpoint object. |
EVT_UFX_DEVICE_HOST_CONNECT The client driver's implementation to initiate connection with the host. |
EVT_UFX_DEVICE_HOST_DISCONNECT The client driver's implementation to disable the function controller's communication with the host. |
EVT_UFX_DEVICE_PORT_CHANGE The client driver's implementation to update the type of the new port to which the USB device is connected. |
EVT_UFX_DEVICE_PORT_DETECT The client driver's implementation to initiate port detection. |
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_DETECT The client driver's implementation to initiate proprietary charger detection. |
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET The client driver's implementation to resets proprietary charger. |
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY The client driver's implementation to set charger information that it uses to enable charging over USB. |
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL The client driver's implementation to initiate remote wake-up on the function controller. |
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE The client driver's implementation to set or clear the specified power feature on the function controller. |
EVT_UFX_DEVICE_TEST_MODE_SET The client driver's implementation to set the test mode of the function controller. |
EVT_UFX_DEVICE_TESTHOOK This IOCTL code is not supported. |
EVT_UFX_DEVICE_USB_STATE_CHANGE The client driver's implementation to update the state of the USB device. |
EVT_URS_DEVICE_FILTER_RESOURCE_REQUIREMENTS The 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_ROLE The URS class extension invokes this event callback when it requires the client driver to change the role of the controller. |
EVT_USBPM_EVENT_CALLBACK Sends notifications about hub arrival/removal and connector state changes. |
GET_ISO_URB_SIZE The GET_ISO_URB_SIZE macro returns the number of bytes required to hold an isochronous transfer request. |
PUSB_BUSIFFN_ENUM_LOG_ENTRY This callback function is not supported. The EnumLogEntry routine makes a log entry. |
PUSB_BUSIFFN_GETUSBDI_VERSION The 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_SPEED The USB_BUSIFFN_IS_DEVICE_HIGH_SPEED routine returns TRUE if the device is operating at high speed. |
PUSB_BUSIFFN_QUERY_BUS_INFORMATION The QueryBusInformation routine gets information about the bus. |
PUSB_BUSIFFN_QUERY_BUS_TIME The QueryBusTime function gets the current 32-bit USB frame number. |
PUSB_BUSIFFN_QUERY_BUS_TIME_EX The QueryBusTimeEx routine gets the current 32-bit USB micro-frame number. |
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE The QueryControllerType routine gets information about the USB host controller to which the USB device is attached. |
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB This 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_INIT Initializes a UCM_CONNECTOR_CONFIG structure. |
UCM_CONNECTOR_PD_CONFIG_INIT Initializes a UCM_CONNECTOR_PD_CONFIG structure. |
UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS_INIT Initializes a UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS structure. |
UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT Initializes a UCM_CONNECTOR_TYPEC_ATTACH_PARAMS structure. |
UCM_CONNECTOR_TYPEC_CONFIG_INIT Initializes the UCM_CONNECTOR_TYPEC_CONFIG structure. |
UCM_MANAGER_CONFIG_INIT Initializes a UCM_MANAGER_CONFIG structure. |
UCM_PD_POWER_DATA_OBJECT_GET_TYPE Retrieves the type of Power Data Object from the UCM_PD_POWER_DATA_OBJECT structure. |
UCM_PD_POWER_DATA_OBJECT_INIT_BATTERY Initializes a UCM_PD_POWER_DATA_OBJECT structure as a Battery Supply type Power Data Object. |
UCM_PD_POWER_DATA_OBJECT_INIT_FIXED Initializes a to the UCM_PD_POWER_DATA_OBJECT for a Fixed Supply type Power Data Object. |
UCM_PD_POWER_DATA_OBJECT_INIT_ULONG Initializes 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_BATTERY Initializes a UCM_PD_POWER_DATA_OBJECT structure as a Variable Supply Non Battery type Power Data Object. |
UCM_PD_REQUEST_DATA_OBJECT_INIT_ULONG Initializes a UCM_PD_REQUEST_DATA_OBJECT structure by interpreting Request Data Object values and sets each field correctly. |
UcmConnectorChargingStateChanged Notifies the USB connector manager framework extension (UcmCx) with the updated charging state of the partner connector. |
UcmConnectorCreate Creates a connector object. |
UcmConnectorDataDirectionChanged Notifies the USB connector manager framework extension (UcmCx) with the new data role of a change in data role. |
UcmConnectorPdConnectionStateChanged Notifies the USB connector manager framework extension (UcmCx) with the connection capabilities of the currently negotiated PD contract (if any). |
UcmConnectorPdPartnerSourceCaps Notifies the USB connector manager framework extension (UcmCx) with the power source capabilities of the partner connector. |
UcmConnectorPdSourceCaps Notifies the USB connector manager framework extension (UcmCx) with the power source capabilities of the connector. |
UcmConnectorPowerDirectionChanged Notifies the USB connector manager framework extension (UcmCx) with the new power role of the partner connector. |
UcmConnectorTypeCAttach Notifies the USB connector manager framework extension (UcmCx) when a partner connector is attached. |
UcmConnectorTypeCCurrentAdChanged Notifies 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). |
UcmConnectorTypeCDetach Notifies the USB connector manager framework extension (UcmCx) when the partner connector detaches from the specified Type-C connector. |
UcmInitializeDevice Initializes the USB connector manager framework extension (UcmCx). |
UCMTCPCI_DEVICE_CONFIG_INIT Initializes the UCMTCPCI_DEVICE_CONFIG structure. |
UCMTCPCI_PORT_CONTROLLER_ALERT_DATA_INIT Initializes the UCMTCPCI_PORT_CONTROLLER_ALERT_DATA structure. |
UCMTCPCI_PORT_CONTROLLER_CAPABILITIES_INIT Initializes the UCMTCPCI_PORT_CONTROLLER_CAPABILITIES structure. |
UCMTCPCI_PORT_CONTROLLER_CONFIG_INIT Initializes the UCMTCPCI_PORT_CONTROLLER_CONFIG structure. |
UCMTCPCI_PORT_CONTROLLER_IDENTIFICATION_INIT Initializes the UCMTCPCI_PORT_CONTROLLER_IDENTIFICATION structure. |
UcmTcpciDeviceInitialize Initializes the USB Type-C Port Controller Interface framework extension (UcmTcpciCx). |
UcmTcpciDeviceInitInitialize Initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device. |
UcmTcpciPortControllerAlert Sends information about the hardware alerts that are received on the port controller to UcmTcpciCx. |
UcmTcpciPortControllerCreate Creates a port controller object to register with UcmTcpciCx. |
UcmTcpciPortControllerSetHardwareRequestQueue Assigns a framework queue object to which the UcmTcpciCx dispatches hardware requests for the port controller. |
UcmTcpciPortControllerStart Indicates to the UcmTcpciCx class extension that the client driver is now ready to service hardware requests for the port controller. |
UcmTcpciPortControllerStop Indicates to the UcmTcpciCx class extension to stop sending hardware requests to the port controller object. |
UCMUCSI_CONNECTOR_INFO_INIT Initializes a UCMUCSI_CONNECTOR_INFO structure. |
UCMUCSI_DEVICE_CONFIG_INIT Initializes a UCMUCSI_DEVICE_CONFIG structure. |
UCMUCSI_PPM_CONFIG_INIT Initializes a UCMUCSI_PPM_CONFIG structure. |
UcmUcsiConnectorCollectionAddConnector Adds a connector to the connector collection object. |
UcmUcsiConnectorCollectionCreate Creates a connector collection object with UcmUcsiCx. |
UcmUcsiDeviceInitialize Initializes the UCSI extension (UcmUcsiCx). |
UcmUcsiDeviceInitInitialize Initializes the WDFDEVICE_INIT provided by the framework. |
UcmUcsiPpmCreate Creates a Platform Policy Manager (PPM) object. |
UcmUcsiPpmNotification Informs the UcmUcsiCx class extension about a UCSI notification. |
UcmUcsiPpmSetUcsiCommandRequestQueue Provides a framework queue object that is used to dispatch UCSI commands to the client driver. |
UcmUcsiPpmStart Instructs the class extension to start sending requests to the client driver. |
UcmUcsiPpmStop Instructs the class extension to stop sending requests to the client driver. |
UCSI_CMD_SUCCEEDED On successful completion of a UCSI command the PPM firmware fills the CCI Data Structure provided by the client driver. |
UCX_CONTROLLER_CONFIG_SET_ACPI_INFO Initializes a UCX_CONTROLLER_CONFIG structure with the specified values for the controller with ACPI as the parent. |
UCX_CONTROLLER_CONFIG_SET_PCI_INFO Initializes a UCX_CONTROLLER_CONFIG structure with the specified values for the controller with PCI as the parent bus type. |
UCX_DEFAULT_ENDPOINT_EVENT_CALLBACKS_INIT Initializes 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_INIT Initializes 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_INIT Initializes a UCX_USBDEVICE_EVENT_CALLBACKS structure with the function pointers to client driver's callback functions. |
UcxControllerCreate Creates a host controller object. |
UcxControllerNeedsReset Initiates a non-Plug and Play (PnP) controller reset operation by queuing an event into the controller reset state machine. |
UcxControllerNotifyTransportCharacteristicsChange Notifies UCX about a new port change event from host controller. |
UcxControllerResetComplete Informs USB host controller extension (UCX) that the reset operation has competed. |
UcxControllerSetFailed Informs USB Host Controller Extension (UCX) that the controller has encountered a critical failure. |
UcxControllerSetIdStrings Updates the identifier strings of a controller after the controller has been initialized. |
UcxDefaultEndpointInitSetEventCallbacks Initializes a UCXENDPOINT_INIT structure with client driver's event callback functions related to the default endpoint. |
UcxEndpointAbortComplete Notifies UCX that a transfer abort operation has been completed on the specified endpoint object. |
UcxEndpointCreate Creates an endpoint on the specified USB device object. |
UcxEndpointGetStaticStreamsReferenced Returns a referenced static streams object for the specified endpoint. |
UcxEndpointInitSetEventCallbacks Initializes a UCXENDPOINT_INIT structure with client driver's event callback functions related to endpoints on the device. |
UcxEndpointNeedToCancelTransfers The client driver calls this method before it cancels transfers on the wire. |
UcxEndpointNoPingResponseError Notifies UCX about a "No Ping Response" error for a transfer on the specified endpoint object. |
UcxEndpointPurgeComplete Notifies UCX that a purge operation has been completed on the specified endpoint object. |
UcxEndpointSetWdfIoQueue Sets a framework queue on the specified endpoint object. |
UcxInitializeDeviceInit UcxInitializeDeviceInit initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device. |
UcxIoDeviceControl Allows USB host controller extension (UCX) to handle an I/O control code (IOCTL) request from user mode. |
UcxRootHubPortChanged Notifies UCX about a new port change event on the host controller. |
UcxStaticStreamsCreate Creates a static streams object. |
UcxStaticStreamsSetStreamInfo Sets stream information for each stream enabled by the client driver. |
UcxUsbDeviceCreate Creates a USB device object on the specified controller. |
UcxUsbDeviceInitSetEventCallbacks Initializes a UCXUSBDEVICE_INIT structure with client driver's event callback functions. |
UcxUsbDeviceRemoteWakeNotification Notifies UCX that a remote wake signal from the device is received. |
UDECX_USB_DEVICE_CALLBACKS_INIT Initializes a UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS structure before a UdecxUsbDeviceCreate call. |
UDECX_USB_DEVICE_PLUG_IN_OPTIONS_INIT Initializes a UDECX_USB_DEVICE_PLUG_IN_OPTIONS structure. |
UDECX_USB_ENDPOINT_CALLBACKS_INIT Initializes a UDECX_USB_ENDPOINT_CALLBACKS structure before a UdecxUsbEndpointCreate call. |
UDECX_WDF_DEVICE_CONFIG_INIT Initializes a UDECX_WDF_DEVICE_CONFIG structure. |
UdecxInitializeWdfDeviceInit UdecxInitializeWdfDeviceInit initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device. |
UdecxUrbComplete Completes the URB request with a USB-specific completion status code. |
UdecxUrbCompleteWithNtStatus Completes the URB request with an NTSTATUS code. |
UdecxUrbRetrieveBuffer Retrieves the transfer buffer of an URB from the specified framework request object sent to the endpoint queue. |
UdecxUrbRetrieveControlSetupPacket Retrieves a USB control setup packet from a specified framework request object. |
UdecxUrbSetBytesCompleted Sets the number of bytes transferred for the URB contained within a framework request object. |
UdecxUsbDeviceCreate Creates a USB Device Emulation (UDE) device object. |
UdecxUsbDeviceInitAddDescriptor Adds a USB descriptor to the initialization parameters used to create a virtual USB device. |
UdecxUsbDeviceInitAddDescriptorWithIndex Learn how the UdecxUsbDeviceInitAddDescriptorWithIndex function adds a USB descriptor to the initialization parameters used to create a virtual USB device. |
UdecxUsbDeviceInitAddStringDescriptor Adds a USB string descriptor to the initialization parameters used to create a virtual USB device. |
UdecxUsbDeviceInitAddStringDescriptorRaw Learn how this method adds a USB string descriptor to the initialization parameters used to create a virtual USB device. |
UdecxUsbDeviceInitAllocate Allocates memory for a UDECXUSBDEVICE_INIT structure that is used to initialize a virtual USB device. |
UdecxUsbDeviceInitFree Releases the resources that were allocated by the UdecxUsbDeviceInitAllocate call. |
UdecxUsbDeviceInitSetEndpointsType Indicates the type of endpoint (simple or dynamic) in the initialization parameters that the client driver uses to create the virtual USB device. |
UdecxUsbDeviceInitSetSpeed Sets the USB speed of the virtual USB device to create. |
UdecxUsbDeviceInitSetStateChangeCallbacks Initializes a WDF-allocated structure with pointers to callback functions. |
UdecxUsbDeviceLinkPowerEntryComplete Completes an asynchronous request for bringing the device out of a low power state. |
UdecxUsbDeviceLinkPowerExitComplete Completes an asynchronous request for sending the device to a low power state. |
UdecxUsbDevicePlugIn Notifies the USB device emulation class extension (UdeCx) that the USB device has been plugged in the specified port. |
UdecxUsbDevicePlugOutAndDelete Disconnects the virtual USB device. |
UdecxUsbDeviceSetFunctionSuspendAndWakeComplete Completes an asynchronous request for changing the power state of a particular function of a virtual USB 3.0 device. |
UdecxUsbDeviceSignalFunctionWake Initiates wake up of the specified function from a low power state. This applies to virtual USB 3.0 devices. |
UdecxUsbDeviceSignalWake Initiates wake up from a low link power state for a virtual USB 2.0 device. |
UdecxUsbEndpointCreate Creates a UDE endpoint object. |
UdecxUsbEndpointInitFree Release the resources that were allocated by the UdecxUsbSimpleEndpointInitAllocate call. |
UdecxUsbEndpointInitSetCallbacks Sets pointers to UDE client driver-implemented callback functions in the initialization parameters of the simple endpoint to create. |
UdecxUsbEndpointInitSetEndpointAddress Sets the address of the endpoint in the initialization parameters of the simple endpoint to create. |
UdecxUsbEndpointPurgeComplete Completes an asynchronous request for canceling all I/O requests queued to the specified endpoint. |
UdecxUsbEndpointSetWdfIoQueue Sets a framework queue object with a UDE endpoint. |
UdecxUsbSimpleEndpointInitAllocate Allocates memory for an initialization structure that is used to create a simple endpoint for the specified virtual USB device. |
UdecxWdfDeviceAddUsbDeviceEmulation Initializes a framework device object to support operations related to a host controller and a virtual USB device attached to the controller. |
UdecxWdfDeviceNeedsReset Informs the USB device emulation class extension (UdeCx) that the device needs a reset operation. |
UdecxWdfDeviceResetComplete Informs the USB device emulation class extension (UdeCx) that the reset operation on the specified controller has competed. |
UdecxWdfDeviceTryHandleUserIoctl Attempts to handle an IOCTL request sent by a user-mode software. |
UFX_DEVICE_CALLBACKS_INIT The UFX_DEVICE_CALLBACKS_INIT macro initializes the UFX_DEVICE_CALLBACKS structure. |
UFX_DEVICE_CAPABILITIES_INIT The UFX_DEVICE_CAPABILITIES_INIT macro the initializes the UFX_DEVICE_CAPABILITIES structure. |
UFX_ENDPOINT_CALLBACKS_INIT The UFX_ENDPOINT_CALLBACKS_INIT macro initializes the UFX_ENDPOINT_CALLBACKS structure. |
UFX_PROPRIETARY_CHARGER_ABORT_OPERATION The filter driver's implementation to abort a charger operation. |
UFX_PROPRIETARY_CHARGER_DETECT The filter driver's implementation to detect if a charger is attached and get details about the charger. |
UFX_PROPRIETARY_CHARGER_RESET_OPERATION The filter driver's implementation to reset a charger operation. |
UFX_PROPRIETARY_CHARGER_SET_PROPERTY The filter driver's implementation to set a configurable property on the charger. |
UfxDeviceCreate Creates a UFX device object, registers event callback routines, and specifies capabilities specific to the controller. |
UfxDeviceEventComplete Informs UFX that the client driver has completed processing a UFX callback function. |
UfxDeviceIoControl Passes non-internal IOCTLs from user-mode to UFX. |
UfxDeviceIoInternalControl Passes kernel mode IOCTLs to UFX. |
UfxDeviceNotifyAttach Notifies UFX that the device's USB cable has been attached. |
UfxDeviceNotifyDetach Notifies UFX that the device's USB cable has been detached. |
UfxDeviceNotifyFinalExit Notifies UFX that the device is detached. |
UfxDeviceNotifyHardwareFailure Notifies UFX about a non-recoverable hardware failure in the controller. |
UfxDeviceNotifyHardwareReady Notifies UFX that the hardware is ready. |
UfxDeviceNotifyReset Notifies UFX about a USB bus reset event. |
UfxDeviceNotifyResume Notifies UFX about a USB bus resume event. |
UfxDeviceNotifySuspend Notifies UFX about a USB bus suspend event. |
UfxDevicePortDetectComplete Notifies UFX about the port type that was detected. |
UfxDevicePortDetectCompleteEx Notifies UFX about the port type that was detected, and optionally requests an action. |
UfxDeviceProprietaryChargerDetectComplete Notifies UFX about a detected proprietary port/charger type. |
UfxEndpointCreate Creates an endpoint object. |
UfxEndpointGetCommandQueue Returns the command queue previously created by UfxEndpointCreate. |
UfxEndpointGetTransferQueue Returns the transfer queue previously created by UfxEndpointCreate. |
UfxEndpointInitSetEventCallbacks Initialize a UFXENDPOINT_INIT structure. |
UfxEndpointNotifySetup Notifies UFX when the client driver receives a setup packet from the host. |
UfxFdoInit Initializes the WDFDEVICE_INIT structure that the client driver subsequently provides when it calls WdfDeviceCreate. |
URS_CONFIG_INIT Initializes a URS_CONFIG structure. |
UrsDeviceInitialize Initializes 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. |
UrsDeviceInitInitialize Learn how this function initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device. |
UrsIoResourceListAppendDescriptor Appends the specified resource descriptor to the specified I/O resource list object that maintains resource descriptors for the host or function role. |
UrsReportHardwareEvent Notifies the USB dual-role class extension about a new hardware event. |
UrsSetHardwareEventSupport Indicates the client driver's support for reporting new hardware events. |
UrsSetPoHandle Registers and deletes the client driver's registration with the power management framework (PoFx). |
UsbBuildGetStatusRequest The UsbBuildGetStatusRequest macro formats an URB to obtain status from a device, interface, endpoint, or other device-defined target on a USB device. |
UsbBuildInterruptOrBulkTransferRequest The UsbBuildInterruptOrBulkTransferRequest macro formats an URB to send or receive data on a bulk pipe, or to receive data from an interrupt pipe. |
UsbBuildOpenStaticStreamsRequest The UsbBuildOpenStaticStreamsRequest inline function formats an URB structure for an open-streams request. The request opens streams associated with the specified bulk endpoint. |
USBC_PD_POWER_DATA_OBJECT_GET_TYPE Retrieves the type of Power Data Object (PDO). |
USBC_START_DEVICE_CALLBACK The USBC_START_DEVICE_CALLBACK routine allows a USB client driver to provide a custom definition of the interface collections on a device. |
USBD_AssignUrbToIoStackLocation The USBD_AssignUrbToIoStackLocation routine is called by a client driver to associate an URB with the IRP's next stack location. |
USBD_BuildRegisterCompositeDevice The 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_CalculateUsbBandwidth The USBD_CalculateUsbBandwidth routine has been deprecated in Windows XP and later operating systems. Do not use. |
USBD_CloseHandle The 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_CreateConfigurationRequest The USBD_CreateConfigurationRequest routine has been deprecated. Use USBD_CreateConfigurationRequestEx instead. |
USBD_CreateConfigurationRequestEx The USBD_CreateConfigurationRequestEx routine allocates and formats a URB to select a configuration for a USB device.USBD_CreateConfigurationRequestEx replaces USBD_CreateConfigurationRequest. |
USBD_CreateHandle The 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_GetInterfaceLength The USBD_GetInterfaceLength routine obtains the length of a given interface descriptor, including the length of all endpoint descriptors contained within the interface. |
USBD_GetPdoRegistryParameter The USBD_GetPdoRegistryParameter routine retrieves the value from the specified key in the USB device's hardware registry. |
USBD_GetUSBDIVersion The 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_IsInterfaceVersionSupported The 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_IsochUrbAllocate The USBD_IsochUrbAllocate routine allocates and formats a URB structure for an isochronous transfer request. |
USBD_ParseConfigurationDescriptor The USBD_ParseConfigurationDescriptor routine has been deprecated. Use USBD_ParseConfigurationDescriptorEx instead. |
USBD_ParseConfigurationDescriptorEx The USBD_ParseConfigurationDescriptorEx routine searches a given configuration descriptor and returns a pointer to an interface that matches the given search criteria. |
USBD_ParseDescriptors The USBD_ParseDescriptors routine searches a given configuration descriptor and returns a pointer to the first descriptor that matches the search criteria. |
USBD_QueryBusTime The USBD_QueryBusTime routine has been deprecated in Windows XP and later operating systems. Do not use. |
USBD_QueryUsbCapability The 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_RegisterHcFilter The USBD_RegisterHcFilter routine has been deprecated in Windows XP and later operating systems. |
USBD_SelectConfigUrbAllocateAndBuild The USBD_SelectConfigUrbAllocateAndBuild routine allocates and formats a URB structure that is required to select a configuration for a USB device. |
USBD_SelectInterfaceUrbAllocateAndBuild The 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_UrbAllocate The USBD_UrbAllocate routine allocates a USB Request Block (URB). |
USBD_UrbFree The USBD_UrbFree routine releases the URB that is allocated by USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild, or USBD_SelectInterfaceUrbAllocateAndBuild. |
USBD_ValidateConfigurationDescriptor The USBD_ValidateConfigurationDescriptor routine validates all descriptors returned by a device in its response to a configuration descriptor request. |
USBFN_GET_ATTACH_ACTION The filter driver's implementation that gets invoked when charger is attached to the port. |
USBFN_GET_ATTACH_ACTION_ABORT The filter driver's implementation to abort an attach-detect operation. |
USBFN_SET_DEVICE_STATE The filter driver's implementation to set the device state and operating bus speed. |
USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS_INIT Initializes a USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS structure. |
UsbPm_AssignConnectorPowerLevel Attempts a PD contract renegotiation with the specified voltage/current/power value. |
USBPM_CLIENT_CONFIG_EXTRA_INFO_INIT Initializes a USBPM_CLIENT_CONFIG_EXTRA_INFO structure. |
USBPM_CLIENT_CONFIG_INIT Initializes a USBPM_CLIENT_CONFIG structure. |
USBPM_CONNECTOR_PROPERTIES_INIT Initializes a USBPM_CONNECTOR_PROPERTIES structure. |
USBPM_CONNECTOR_STATE_INIT Initializes a USBPM_CONNECTOR_STATE_INIT structure. |
UsbPm_Deregister Unregisters the client driver with the Policy Manager. |
USBPM_HUB_CONNECTOR_HANDLES_INIT Initializes a USBPM_HUB_CONNECTOR_HANDLES structure. |
USBPM_HUB_PROPERTIES_INIT Initializes a [USBPM_HUB_PROPERTIES] structure. |
UsbPm_Register Registers the client driver with the Policy Manager to report hub arrival/removal and connector state changes. |
UsbPm_RetrieveConnectorProperties Retrieves the properties of a connector. The properties are static information that do not change during the lifecycle of a connector. |
UsbPm_RetrieveConnectorState Retrieves the current state of a connector. Unlike connector properties, state information is dynamic, which can change at runtime. |
UsbPm_RetrieveHubConnectorHandles Retrieves connector handles for all connectors of a hub. |
UsbPm_RetrieveHubProperties Retrieves the properties of a hub. Properties are static information that do not change during the lifecycle of a hub. |
Structures
_URB_BULK_OR_INTERRUPT_TRANSFER The _URB_BULK_OR_INTERRUPT_TRANSFER structure is used by USB client drivers to send or receive data on a bulk pipe or on an interrupt pipe. |
_URB_CONTROL_DESCRIPTOR_REQUEST The _URB_CONTROL_DESCRIPTOR_REQUEST structure is used by USB client drivers to get or set descriptors on a USB device. |
_URB_CONTROL_FEATURE_REQUEST The _URB_CONTROL_FEATURE_REQUEST structure is used by USB client drivers to set or clear features on a device, interface, or endpoint. |
_URB_CONTROL_GET_CONFIGURATION_REQUEST The _URB_CONTROL_GET_CONFIGURATION_REQUEST structure is used by USB client drivers to retrieve the current configuration for a device. |
_URB_CONTROL_GET_INTERFACE_REQUEST The _URB_CONTROL_GET_INTERFACE_REQUEST structure is used by USB client drivers to retrieve the current alternate interface setting for an interface in the current configuration. |
_URB_CONTROL_GET_STATUS_REQUEST The _URB_CONTROL_GET_STATUS_REQUEST structure is used by USB client drivers to retrieve status from a device, interface, endpoint, or other device-defined target. |
_URB_CONTROL_TRANSFER The _URB_CONTROL_TRANSFER structure is used by USB client drivers to transfer data to or from a control pipe. |
_URB_CONTROL_TRANSFER_EX The _URB_CONTROL_TRANSFER_EX structure is used by USB client drivers to transfer data to or from a control pipe, with a timeout that limits the acceptable transfer time. |
_URB_CONTROL_VENDOR_OR_CLASS_REQUEST The _URB_CONTROL_VENDOR_OR_CLASS_REQUEST structure is used by USB client drivers to issue a vendor or class-specific command to a device, interface, endpoint, or other device-defined target. |
_URB_GET_CURRENT_FRAME_NUMBER The _URB_GET_CURRENT_FRAME_NUMBER structure is used by USB client drivers to retrieve the current frame number. |
_URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS The _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_HEADER The _URB_HEADER structure is used by USB client drivers to provide basic information about the request being sent to the host controller driver. |
_URB_ISOCH_TRANSFER The _URB_ISOCH_TRANSFER structure is used by USB client drivers to send data to or retrieve data from an isochronous transfer pipe. |
_URB_OPEN_STATIC_STREAMS The _URB_OPEN_STATIC_STREAMS structure is used by a USB client driver to open streams in the specified bulk endpoint. |
_URB_OS_FEATURE_DESCRIPTOR_REQUEST The _URB_OS_FEATURE_DESCRIPTOR_REQUEST structure is used by the USB hub driver to retrieve Microsoft OS Feature Descriptors from a USB device or an interface on a USB device. |
_URB_PIPE_REQUEST The _URB_PIPE_REQUEST structure is used by USB client drivers to clear a stall condition on an endpoint. |
_URB_SELECT_CONFIGURATION The _URB_SELECT_CONFIGURATION structure is used by client drivers to select a configuration for a USB device. |
_URB_SELECT_INTERFACE The _URB_SELECT_INTERFACE structure is used by USB client drivers to select an alternate setting for an interface or to change the maximum packet size of a pipe in the current configuration on a USB device. |
ADDRESS0_OWNERSHIP_ACQUIRE Contains parameters for configuring the device. |
ALTERNATE_INTERFACE The ALTERNATE_INTERFACE structure provides information about alternate settings for a Universal Serial Bus (USB) interface. |
COMPOSITE_DEVICE_CAPABILITIES The COMPOSITE_DEVICE_CAPABILITIES structure specifies the capabilities of the driver of a USB multi-function device (composite driver). To initialize the structure, use the COMPOSITE_DEVICE_CAPABILITIES_INIT macro. |
CONTROLLER_USB_20_HARDWARE_LPM_FLAGS Describes supported protocol capabilities for Link Power Management (LPM) in as defined the USB 2.0 specification. |
DEFAULT_ENDPOINT_UPDATE Contains the handle to the default endpoint to update in a framework request that is passed by UCX when it invokes EVT_UCX_DEFAULT_ENDPOINT_UPDATE callback function. |
ENDPOINT_RESET Describes information required to reset an endpoint. This structure is passed by UCX in the EVT_UCX_ENDPOINT_RESET callback function. |
ENDPOINTS_CONFIGURE Describes endpoints to enable or disable endpoints. This structure is passed by UCX in the EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function. |
ENDPOINTS_CONFIGURE_FAILURE_FLAGS This structure provides failure flags to indicate errors, if any, that might have occurred during a request to an EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function. |
HUB_DEVICE_CONFIG_INFO The HUB_DEVICE_CONFIG_INFO structure is used in conjunction with the kernel-mode IOCTL, IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO to request to report information about a USB device and the hub to which the device is attached. |
HUB_INFO_FROM_PARENT Describes information about a hub from its parent device. |
PARENT_HUB_FLAGS This structure is used by the HUB_INFO_FROM_PARENT structure to get hub information from the parent. |
REGISTER_COMPOSITE_DEVICE The REGISTER_COMPOSITE_DEVICE structure is used with the IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE I/O control request to register a parent driver of a Universal Serial Bus (USB) multi-function device (composite driver) with the USB driver stack. |
REQUEST_REMOTE_WAKE_NOTIFICATION The purpose of the REQUEST_REMOTE_WAKE_NOTIFICATION structure is to specify input parameters for the IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION I/O control request. |
ROOTHUB_20PORT_INFO Provides information about a USB 2.0 root hub port. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_20PORT_INFO callback function. |
ROOTHUB_20PORTS_INFO This structure that has an array of 2.0 ports supported by the root hub. This structure is provided by UCX in a framework request in the EVT_UCX_ROOTHUB_GET_20PORT_INFO callback function. |
ROOTHUB_30PORT_INFO Provides information about a USB 3.0 root hub port. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_30PORT_INFO callback function. |
ROOTHUB_30PORT_INFO_EX Provides extended USB 3.0 port information about speed. |
ROOTHUB_30PORTS_INFO Provides information about USB 3.0 root hub ports. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_30PORT_INFO callback function. |
ROOTHUB_INFO Provides information about a USB root hub. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_INFO callback function. |
STREAM_INFO This structure stores information about a stream associated with a bulk endpoint. |
UCM_CONNECTOR_CONFIG Describes the configuration options for a Type-C connector object. An initialized UCM_MANAGER_CONFIG structure is an input parameter value to UcmInitializeDevice. |
UCM_CONNECTOR_PD_CONFIG Describes the Power Delivery 2.0 capabilities of the connector. |
UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS Describes the parameters for PD connection changed event. |
UCM_CONNECTOR_TYPEC_ATTACH_PARAMS Describes the partner that is currently attached to the connector. |
UCM_CONNECTOR_TYPEC_CONFIG Describes the configuration options for a Type-C connector. |
UCM_MANAGER_CONFIG Describes the configuration options for the UCM Manager. An initialized UCM_MANAGER_CONFIG structure is an input parameter value to UcmInitializeDevice. |
UCM_PD_POWER_DATA_OBJECT Describes a Power Data Object. For information about these members, see the Power Delivery specification. |
UCM_PD_REQUEST_DATA_OBJECT Describes a Request Data Object (RDO). For information about these members, see the Power Delivery specification. |
UCMTCPCI_DEVICE_CONFIG Used in the client driver's call to UcmTcpciDeviceInitialize. Call UCMTCPCI_DEVICE_CONFIG_INIT to initialize this structure. |
UCMTCPCI_DRIVER_GLOBALS The global structure for the USB Type-C Port Controller Interface framework extension (UcmTcpciCx). |
UCMTCPCI_PORT_CONTROLLER_ALERT_DATA Contains 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_PARAMS Stores 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_PARAMS Stores 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_CAPABILITIES Contains information about the capabilities of the port controller. |
UCMTCPCI_PORT_CONTROLLER_CONFIG Contains 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_PARAMS Stores 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_PARAMS Stores 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_PARAMS Stores 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_PARAMS This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL request. |
UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS Stores 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_PARAMS This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS request. |
UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS Stores 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_IDENTIFICATION Contains identification information and USB specification version information (in BCD format) about the port controller. |
UCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMS Stores 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_PARAMS Stores 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_PARAMS Stores 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_PARAMS Stores 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_PARAMS Stores 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_PARAMS Stores 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_PARAMS Stores the values of TRANSMIT Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT request. |
UCMUCSI_CONNECTOR_INFO Stores information about connectors that cannot be obtained by sending UCSI commands such as “Get Connector Capability”. |
UCMUCSI_DEVICE_CONFIG Configuration structure for UcmUcsiDeviceInitialize. |
UCMUCSI_DRIVER_GLOBALS Reserved for UCMUCSI_DRIVER_GLOBALS. |
UCMUCSI_PPM_CONFIG Stores configuration information required to create a Platform Policy Manager (PPM). |
UCMUCSI_PPM_GET_UCSI_DATA_BLOCK_IN_PARAMS Contains a USCI data block for input to IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK. |
UCMUCSI_PPM_GET_UCSI_DATA_BLOCK_OUT_PARAMS Contains a USCI data block for output to IOCTL_UCMUCSI_PPM_GET_UCSI_DATA_BLOCK. |
UCMUCSI_PPM_SEND_UCSI_DATA_BLOCK_IN_PARAMS Contains a USCI data block for input to IOCTL_UCMUCSI_PPM_SEND_UCSI_DATA_BLOCK. |
UCSI_ACK_CC_CI_COMMAND Used in the ACK_CC_CI command. See Table 4-7. |
UCSI_ALTERNATE_MODE Used in GET_ALTERNATE_MODES command. See Table 4-26. |
UCSI_BM_POWER_SOURCE Used in GET_CAPABILITY command. See Bit 15:8 in Table 4-14. |
UCSI_CCI Used in GET_CONNECTOR_CAPABILITY command. See Table 4-16. |
UCSI_CONNECTOR_RESET_COMMAND Used in the CONNECTOR_RESET command. See Table 4-5. |
UCSI_CONTROL Used in the SET_NOTIFICATION_ENABLE command. See Table 4-9. |
UCSI_DATA_BLOCK The data structures for memory locations. See Section 3. |
UCSI_GET_ALTERNATE_MODES_COMMAND Used in the GET_ALTERNATE_MODES command. See Table 4-24. |
UCSI_GET_ALTERNATE_MODES_IN Learn how UCSI_GET_ALTERNATE_MODES_IN is used in the GET_ALTERNATE_MODES command. See Table 4-24. |
UCSI_GET_CABLE_PROPERTY_COMMAND Used in the GET_CABLE_PROPERTY command. See Table 4-37. |
UCSI_GET_CABLE_PROPERTY_IN Used in the GET_CABLE_PROPERTY command. See Table 4-39. |
UCSI_GET_CAM_SUPPORTED_COMMAND Used in the GET_CAM_SUPPORTED command. See Table 4-27. |
UCSI_GET_CAM_SUPPORTED_IN Learn how UCSI_GET_CAM_SUPPORTED_IN is used in the GET_CAM_SUPPORTED command. See Table 4-27. |
UCSI_GET_CAPABILITY_IN Used in the GET_CAPABILITY command. See Table 4-13. |
UCSI_GET_CONNECTOR_CAPABILITY_COMMAND Used in the GET_CONNECTOR_CAPABILITY command. See Table 4-15. |
UCSI_GET_CONNECTOR_CAPABILITY_IN Used in the GET_CONNECTOR_CAPABILITY command. |
UCSI_GET_CONNECTOR_STATUS_COMMAND Used in the GET_CONNECTOR_STATUS command. See Table 4-40. |
UCSI_GET_CONNECTOR_STATUS_IN Used in the GET_CONNECTOR_STATUS command. See Table 4-42. |
UCSI_GET_CURRENT_CAM_COMMAND Used in the GET_CURRENT_CAM command. See Table 4-29. |
UCSI_GET_CURRENT_CAM_IN Used in the GET_CURRENT_CAM command. See Table 4-31. |
UCSI_GET_ERROR_STATUS_COMMAND Used in the GET_ERROR_STATUS command. See Table 4-45 |
UCSI_GET_ERROR_STATUS_IN Used in the GET_ERROR_STATUS command. See Table 4-47. |
UCSI_GET_PDOS_COMMAND Used in the GET_PDOS command. See Table 4-34. |
UCSI_GET_PDOS_IN Used in the GET_PDOS command. See Table 4-36. |
UCSI_MESSAGE_IN The MESSAGE IN data structure. See Section 3.4. |
UCSI_MESSAGE_OUT The MESSAGE OUT data structure. See Section 3.5. |
UCSI_SET_NEW_CAM_COMMAND Used in the SET_NEW_CAM command. See Table 4-32. |
UCSI_SET_NOTIFICATION_ENABLE_COMMAND Learn how UCSI_SET_NOTIFICATION_ENABLE_COMMAND is used in the SET_NOTIFICATION_ENABLE command. See Table 4-9. |
UCSI_SET_PDM_COMMAND _UCSI_SET_PDM_COMMAND is obsolete. |
UCSI_SET_PDR_COMMAND Used in the SET_PDR command. See Table 4-22. |
UCSI_SET_POWER_LEVEL_COMMAND Used in the SET_POWER_LEVEL command. See Table 4-48. |
UCSI_SET_UOM_COMMAND Used in the SET_UOM command. See Table 4-18. |
UCSI_SET_UOR_COMMAND Used in the SET_UOR command. See Table 4-20. |
UCSI_VERSION The VERSION data structure. See Section 3.1. |
UCX_CONTROLLER_ACPI_INFORMATION This structure provides information about an advanced Configuration and power interface (ACPI) USB controller. |
UCX_CONTROLLER_CONFIG This structure configuration data for a USB controller. |
UCX_CONTROLLER_PCI_INFORMATION This structure provides information about a PCI USB controller. |
UCX_CONTROLLER_RESET_COMPLETE_INFO Contains information about the operation to reset the controller. This is used by the client driver in its EVT_UCX_CONTROLLER_RESET callback function. |
UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS Stores 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_FLAGS Defines 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_CALLBACKS This structure provides a list of UCX default endpoint event callback functions. |
UCX_ENDPOINT_CHARACTERISTIC Stores the characteristics of an endpoint. |
UCX_ENDPOINT_EVENT_CALLBACKS This structure provides a list of pointers to UCX endpoint event callback functions. |
UCX_ENDPOINT_ISOCH_TRANSFER_PATH_DELAYS Stores the isochronous transfer path delay values. |
UCX_ROOTHUB_CONFIG Contains pointers to event callback functions for creating the root hub by calling UcxRootHubCreate. Initialize this structure by calling UCX_ROOTHUB_CONFIG_INIT initialization function (see Ucxclass.h). |
UCX_USBDEVICE_CHARACTERISTIC Stores the characteristics of a device. |
UCX_USBDEVICE_CHARACTERISTIC_PATH_DELAY Learn how UCX_USBDEVICE_CHARACTERISTIC_PATH_DELAY stores the isochronous transfer path delay values. |
UCX_USBDEVICE_EVENT_CALLBACKS This structure provides a list of UCX USB device event callback functions. |
UCXUSBDEVICE_INFO Contains information about the USB device. This structure is passed by UCX in the EVT_UCX_CONTROLLER_USBDEVICE_ADD event callback function. |
UDECX_ENDPOINTS_CONFIGURE_PARAMS Contains the configuration options specified by USB device emulation class extension (UdeCx) to the client driver when the class extension invokes EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGURE. |
UDECX_USB_DEVICE_PLUG_IN_OPTIONS Contains the port numbers to which a virtual USB device is connected. Initialize this structure by calling the UDECX_USB_DEVICE_PLUG_IN_OPTIONS_INIT method. |
UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS Initializes a UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS structure with pointers to callback functions that are implemented by a UDE client for a virtual USB device. |
UDECX_USB_ENDPOINT_CALLBACKS Contains function pointers to endpoint callback functions implemented by the UDE client driver. Initialize this structure by calling UDECX_USB_ENDPOINT_CALLBACKS_INIT. |
UDECX_USB_ENDPOINT_INIT_AND_METADATA Contains the descriptors supported by an endpoint of a virtual USB device. |
UDECX_WDF_DEVICE_CONFIG Contains pointers to event callback functions implemented by the UDE client driver for a USB host controller. Initialize this structure by calling UDECX_WDF_DEVICE_CONFIG_INIT. |
UFX_DEVICE_CALLBACKS The UFX_DEVICE_CALLBACKS structure is used to define then event callback functions supported by the client driver. |
UFX_DEVICE_CAPABILITIES The UFX_DEVICE_CAPABILITIES structure is used USB to define properties of the Universal Serial Bus (USB) device created by the controller. |
UFX_ENDPOINT_CALLBACKS The UFX_ENDPOINT_CALLBACKS structure is used to define then event callback functions supported by the client driver. |
UFX_HARDWARE_FAILURE_CONTEXT The UFX_HARDWARE_FAILURE_CONTEXT structure is used to define controller-specific hardware failure properties. |
UFX_INTERFACE_PROPRIETARY_CHARGER Stores pointers to driver-implemented callback functions for handling proprietary charger operations. |
UFX_PROPRIETARY_CHARGER Describes the proprietary charger's device power requirements. |
URB The URB structure is used by USB client drivers to describe USB request blocks (URBs) that send requests to the USB driver stack. The URB structure defines a format for all possible commands that can be sent to a USB device. |
URS_CONFIG Contains pointers to event callback functions implemented by the URS client driver for a USB dual-role controller. Initialize this structure by calling URS_CONFIG_INIT. |
USB_30_HUB_DESCRIPTOR The USB_30_HUB_DESCRIPTOR structure contains a SuperSpeed hub descriptor. For information about the structure members, see Universal Serial Bus Revision 3.0 Specification, 10.13.2.1 Hub Descriptor, Table 10-3. SuperSpeed Hub Descriptor. |
USB_BUS_INFORMATION_LEVEL_0 The USB_BUS_INFORMATION_LEVEL_0 structure is used in conjunction with the QueryBusInformation interface routine to report information about the bus. |
USB_BUS_INFORMATION_LEVEL_1 The USB_BUS_INFORMATION_LEVEL_1 structure is used in conjunction with the QueryBusInformation interface routine to report information about the bus. |
USB_BUS_INTERFACE_USBDI_V0 The USB_BUS_INTERFACE_USBDI_V0 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs. |
USB_BUS_INTERFACE_USBDI_V1 The USB_BUS_INTERFACE_USBDI_V1 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs. |
USB_BUS_INTERFACE_USBDI_V2 The USB_BUS_INTERFACE_USBDI_V2 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs. |
USB_BUS_INTERFACE_USBDI_V3 The USB_BUS_INTERFACE_USBDI_V3 structure is provided by the USB hub driver to allow USB clients to make direct calls to the hub driver without allocating IRPs. |
USB_BUS_NOTIFICATION Learn more about: _USB_BUS_NOTIFICATION structure |
USB_COMMON_DESCRIPTOR The USB_COMMON_DESCRIPTOR structure contains the head of the first descriptor that matches the search criteria in a call to USBD_ParseDescriptors. |
USB_CONFIGURATION_DESCRIPTOR The USB_CONFIGURATION_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined configuration descriptor. |
USB_CYCLE_PORT_PARAMS The USB_CYCLE_PORT_PARAMS structure is used with the IOCTL_USB_HUB_CYCLE_PORT I/O control request to power cycle the port that is associated with the PDO that receives the request. |
USB_DESCRIPTOR_REQUEST The USB_DESCRIPTOR_REQUEST structure is used with the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request to retrieve one or more descriptors for the device that is associated with the indicated connection index. |
USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR USB FW Update as defined in the USB 3.2 ENGINEERING CHANGE NOTICE. |
USB_DEVICE_CHARACTERISTICS Contains 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_DESCRIPTOR The USB_DEVICE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device descriptor. |
USB_DEVICE_PORT_PATH Contains the port path of a USB device. |
USB_DEVICE_QUALIFIER_DESCRIPTOR The USB_DEVICE_QUALIFIER_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device qualifier descriptor. |
USB_ENDPOINT_DESCRIPTOR The 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_INFORMATION Stores 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_NAME The USB_HCD_DRIVERKEY_NAME structure is used with the IOCTL_GET_HCD_DRIVERKEY_NAME I/O control request to retrieve the driver key in the registry for the USB host controller driver. |
USB_HUB_CAP_FLAGS The USB_HUB_CAP_FLAGS structure is used to report the capabilities of a hub. |
USB_HUB_CAPABILITIES The USB_HUB_CAPABILITIES structure has been deprecated. Use USB_HUB_CAPABILITIES_EX instead. |
USB_HUB_CAPABILITIES_EX The USB_HUB_CAPABILITIES_EX structure is used with the IOCTL_USB_GET_HUB_CAPABILITIES I/O control request to retrieve the capabilities of a particular USB hub. |
USB_HUB_DESCRIPTOR The USB_HUB_DESCRIPTOR structure contains a hub descriptor. |
USB_HUB_INFORMATION The USB_HUB_INFORMATION structure contains information about a hub. |
USB_HUB_INFORMATION_EX The USB_HUB_INFORMATION_EX structure is used with the IOCTL_USB_GET_HUB_INFORMATION_EX I/O control request to retrieve information about a Universal Serial Bus (USB) hub. |
USB_HUB_NAME The USB_HUB_NAME structure stores the hub's symbolic device name. |
USB_ID_STRING The USB_ID_STRING structure is used to store a string or multi-string. |
USB_INTERFACE_DESCRIPTOR The USB_INTERFACE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined interface descriptor. |
USB_MI_PARENT_INFORMATION The USB_MI_PARENT_INFORMATION structure contains information about a composite device. |
USB_NODE_CONNECTION_ATTRIBUTES The USB_NODE_CONNECTION_ATTRIBUTES structure is used with the IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES I/O control request to retrieve the attributes of a connection. |
USB_NODE_CONNECTION_DRIVERKEY_NAME The USB_NODE_CONNECTION_DRIVERKEY_NAME structure is used with the IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME I/O control request to retrieve the driver key name for the device that is connected to the indicated port. |
USB_NODE_CONNECTION_INFORMATION The USB_NODE_CONNECTION_INFORMATION structure is used with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION request to retrieve information about a USB port and connected device. |
USB_NODE_CONNECTION_INFORMATION_EX The USB_NODE_CONNECTION_INFORMATION_EX structure is used in conjunction with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX request to obtain information about the connection associated with the indicated USB port. |
USB_NODE_CONNECTION_INFORMATION_EX_V2 The USB_NODE_CONNECTION_INFORMATION_EX_V2 structure is used with the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O control request to retrieve speed information about a Universal Serial Bus (USB) device that is attached to a particular port. |
USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS The USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS union is used to indicate the speed at which a USB 3.0 device is currently operating and whether it can operate at higher speed, when attached to a particular port. |
USB_NODE_CONNECTION_NAME The USB_NODE_CONNECTION_NAME structure is used with the IOCTL_USB_GET_NODE_CONNECTION_NAME I/O control request to retrieve the symbolic link of the downstream hub that is attached to the port. |
USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION |
USB_NODE_INFORMATION The USB_NODE_INFORMATION structure is used with the IOCTL_USB_GET_NODE_INFORMATION I/O control request to retrieve information about a parent device. |
USB_PIPE_INFO The USB_PIPE_INFO structure is used in conjunction with the USB_NODE_CONNECTION_INFORMATION_EX structure and the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX request to obtain information about a connection and its associated pipes. |
USB_PORT_CONNECTOR_PROPERTIES The USB_PORT_CONNECTOR_PROPERTIES structure is used with the IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O control request to retrieve information about a port on a particular SuperSpeed hub. |
USB_PORT_PROPERTIES The USB_PORT_PROPERTIES union is used to report the capabilities of a 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_PROTOCOLS The USB_PROTOCOLS union is used to report the Universal Serial Bus (USB) signaling protocols that are supported by the port. |
USB_ROOT_HUB_NAME The USB_ROOT_HUB_NAME structure stores the root hub's symbolic device name. |
USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION The input and output buffer for the IOCTL_USB_START_TRACKING_FOR_TIME_SYNC request. |
USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION The input buffer for the IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC request. |
USB_STRING_DESCRIPTOR The USB_STRING_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined string descriptor. |
USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR The USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined SuperSpeed Endpoint Companion descriptor. For more information, see section 9.6.7 and Table 9-20 in the official USB 3.0 specification. |
USB_TOPOLOGY_ADDRESS The USB_TOPOLOGY_ADDRESS structure is used with the IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS I/O request to retrieve information about a USB device's location in the USB device tree. |
USB_TRANSPORT_CHARACTERISTICS Stores the transport characteristics at relevant points in time. This structure is used in the IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS request. |
USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION Contains registration information filled when the IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request completes. |
USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION Contains registration information for the IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request. |
USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION Contains unregistration information for the IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request. |
USBC_DEVICE_CONFIGURATION_INTERFACE_V1 The USBC_DEVICE_CONFIGURATION_INTERFACE_V1 structure is exposed by the vendor-supplied filter drivers to assist the USB generic parent driver in defining interface collections. |
USBC_FUNCTION_DESCRIPTOR The USBC_FUNCTION_DESCRIPTOR structure describes a USB function and its associated interface collection. |
USBC_PD_ALTERNATE_MODE Stores information about the alternate mode that was detected. |
USBC_PD_POWER_DATA_OBJECT Describes a power data object (PDO). |
USBC_PD_REQUEST_DATA_OBJECT Describes a request data object (RDO). |
USBD_ENDPOINT_OFFLOAD_INFORMATION Stores xHCI-specific V2 information that is used by client drivers to transfer data to and from the offloaded endpoints. |
USBD_ENDPOINT_OFFLOAD_INFORMATION_V1 Stores xHCI-specific V1 information that is used by client drivers to transfer data to and from the offloaded endpoints. |
USBD_INTERFACE_INFORMATION The USBD_INTERFACE_INFORMATION structure holds information about an interface for a configuration on a USB device. |
USBD_INTERFACE_LIST_ENTRY The USBD_INTERFACE_LIST_ENTRY structure is used by USB client drivers to create an array of interfaces to be inserted into a configuration request. |
USBD_ISO_PACKET_DESCRIPTOR The USBD_ISO_PACKET_DESCRIPTOR structure is used by USB client drivers to describe an isochronous transfer packet. |
USBD_PIPE_INFORMATION The USBD_PIPE_INFORMATION structure is used by USB client drivers to hold information about a pipe from a specific interface. |
USBD_STREAM_INFORMATION The USBD_STREAM_INFORMATION structure stores information about a stream associated with a bulk endpoint. |
USBD_VERSION_INFORMATION The USBD_VERSION_INFORMATION structure is used by the GetUSBDIVersion function to report its output data. |
USBDEVICE_ABORTIO Contains a handle for the Universal Serial Bus (USB) hub or device for which to abort data transfers. |
USBDEVICE_ADDRESS Contains parameters for a request to transition the specified device to the Addressed state. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_ADDRESS callback function. |
USBDEVICE_DISABLE Contains parameters for a request to disable the specified device. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_DISABLE callback function. |
USBDEVICE_ENABLE Contains parameters for a request to enable the specified device. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_ENABLE callback function. |
USBDEVICE_ENABLE_FAILURE_FLAGS The flags that are set by the client driver in the EVT_UCX_USBDEVICE_ENABLE callback function. Indicate errors, if any, that might have occurred while enabling the device. |
USBDEVICE_HUB_INFO Contains parameters for a request to get information about the specified hub. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_HUB_INFO callback function. |
USBDEVICE_MGMT_HEADER This structure provides a handle for the Universal Serial Bus (USB) hub or device physically connected to the bus. |
USBDEVICE_PURGEIO The USBDEVICE_PURGEIO structure contains the handle for the Universal Serial Bus (USB) hub or device to purge I/O for. |
USBDEVICE_RESET Contains parameters for a request to reset the specified device. This structure is passed by UCX in request parameters (Parameters.Others.Arg1) of a framework request object of the EVT_UCX_USBDEVICE_RESET callback function. |
USBDEVICE_STARTIO Contains a handle for the Universal Serial Bus (USB) hub or device on which to start data transfer. |
USBDEVICE_TREE_PURGEIO This structure provides the handle for the Universal Serial Bus (USB) device tree to purge I/O for. |
USBDEVICE_UPDATE Passed by UCX to update the specified device. This structure is in the request parameters (Parameters.Others.Arg1) of a framework request object passed in the EVT_UCX_USBDEVICE_UPDATE callback function. |
USBDEVICE_UPDATE_20_HARDWARE_LPM_PARAMETERS Contains parameters for a request to update USB 2.0 link power management (LPM). UCX passes this structure in the EVT_UCX_USBDEVICE_UPDATE callback function. |
USBDEVICE_UPDATE_FAILURE_FLAGS The flags that are set by the client driver in the EVT_UCX_USBDEVICE_UPDATE callback function. Indicate errors, if any, that might have occurred while updating the device. |
USBDEVICE_UPDATE_FLAGS Contains request flags set by UCX that is passed in the USBDEVICE_UPDATE structure when UCX invokes the client driver's EVT_UCX_USBDEVICE_UPDATE callback function. |
USBFN_BUS_CONFIGURATION_INFO Configuration packet that stores information about an available USB configuration. |
USBFN_CLASS_INFORMATION_PACKET Describes device interface class information associated with a USB interface. This structure can only hold information about a single function interface. |
USBFN_CLASS_INFORMATION_PACKET_EX Describes device interface class information associated with a USB interface. This structure can be used to describe single and multi-interface functions. |
USBFN_CLASS_INTERFACE Describes an interface and its endpoints. |
USBFN_CLASS_INTERFACE_EX Learn how USBFN_CLASS_INTERFACE_EX describes an interface and its endpoints. |
USBFN_INTERFACE_ATTACH Stores pointers to driver-implemented callback functions for handling attach and detach operations. |
USBFN_INTERFACE_INFO Learn how USBFN_INTERFACE_INFO describes an interface and its endpoints. |
USBFN_NOTIFICATION Describes information about a Universal Serial Bus (USB) event notification that was received by using IOCTL_INTERNAL_USBFN_BUS_EVENT_NOTIFICATION. |
USBFN_ON_ATTACH Describes the detected port type and attach action. |
USBFN_PIPE_INFORMATION Describes attributes of a pipe associated with an endpoint on a specific interface. |
USBFN_POWER_FILTER_STATE Reserved. Do not use. |
USBFN_USB_STRING Describes a USB string descriptor and the associated string index. |
USBPM_ASSIGN_CONNECTOR_POWER_LEVEL_PARAMS Describes the parameters for the UsbPm_AssignConnectorPowerLevel. |
USBPM_CLIENT_CONFIG The configuration structure used in the registering the client driver with the Policy Manager |
USBPM_CLIENT_CONFIG_EXTRA_INFO Contains optional information used to configure the client driver's registration. |
USBPM_CONNECTOR_PROPERTIES Describes the properties of a connector. |
USBPM_CONNECTOR_STATE Describes the state of a connector. |
USBPM_EVENT_CALLBACK_PARAMS Contains the details of the events related to changes in policy manager arrival/removal, hub arrival/removal or connector state change. |
USBPM_HUB_CONNECTOR_HANDLES Stores the connector handles for all connectors on a hub. |
USBPM_HUB_PROPERTIES Properties of a connector hub. |