Universal Serial Bus (USB)

Overview of the Universal Serial Bus (USB) technology.

To develop Universal Serial Bus (USB), you need these headers:

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

Functions

Title Description
COMPOSITE_DEVICE_CAPABILITIES_INIT function The COMPOSITE_DEVICE_CAPABILITIES_INIT macro initializes the COMPOSITE_DEVICE_CAPABILITIES structure.
UCMTCPCI_DEVICE_CONFIG_INIT function Initializes the UCMTCPCI_DEVICE_CONFIG structure.
UCMTCPCI_PORT_CONTROLLER_ALERT_DATA_INIT function Initializes the UCMTCPCI_PORT_CONTROLLER_ALERT_DATA structure.
UCMTCPCI_PORT_CONTROLLER_CAPABILITIES_INIT function Initializes the UCMTCPCI_PORT_CONTROLLER_CAPABILITIES structure.
UCMTCPCI_PORT_CONTROLLER_CONFIG_INIT function Initializes the UCMTCPCI_PORT_CONTROLLER_CONFIG structure.
UCMTCPCI_PORT_CONTROLLER_IDENTIFICATION_INIT function Initializes the UCMTCPCI_PORT_CONTROLLER_IDENTIFICATION structure.
UCM_CONNECTOR_CONFIG_INIT function Initializes a UCM_CONNECTOR_CONFIG structure.
UCM_CONNECTOR_PD_CONFIG_INIT function Initializes a UCM_CONNECTOR_PD_CONFIG structure.
UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS_INIT function Initializes a UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS structure.
UCM_CONNECTOR_TYPEC_ATTACH_PARAMS_INIT function Initializes a UCM_CONNECTOR_TYPEC_ATTACH_PARAMS structure.
UCM_CONNECTOR_TYPEC_CONFIG_INIT function Initializes the UCM_CONNECTOR_TYPEC_CONFIG structure.
UCM_MANAGER_CONFIG_INIT function Initializes a UCM_MANAGER_CONFIG structure.
UCM_PD_POWER_DATA_OBJECT_GET_TYPE function Retrieves the type of Power Data Object from the UCM_PD_POWER_DATA_OBJECT structure.
UCM_PD_POWER_DATA_OBJECT_INIT_BATTERY function Initializes a UCM_PD_POWER_DATA_OBJECT structure as a Battery Supply type Power Data Object.
UCM_PD_POWER_DATA_OBJECT_INIT_FIXED function Initializes a to the UCM_PD_POWER_DATA_OBJECT for a Fixed Supply type Power Data Object.
UCM_PD_POWER_DATA_OBJECT_INIT_ULONG function 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 function 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 function Initializes a UCM_PD_REQUEST_DATA_OBJECT structure by interpreting Request Data Object values and sets each field correctly.
UCX_CONTROLLER_CONFIG_SET_ACPI_INFO function Initializes a UCX_CONTROLLER_CONFIG structure with the specified values for the controller with ACPI as the parent.
UCX_CONTROLLER_CONFIG_SET_PCI_INFO function 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 function 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 function 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 function Initializes a UCX_USBDEVICE_EVENT_CALLBACKS structure with the function pointers to client driver's callback functions.
UDECX_USB_DEVICE_CALLBACKS_INIT function Initializes a UDECX_USB_DEVICE_STATE_CHANGE_CALLBACKS structure before a UdecxUsbDeviceCreate call.
UDECX_USB_DEVICE_PLUG_IN_OPTIONS_INIT function Initializes a UDECX_USB_DEVICE_PLUG_IN_OPTIONS structure.
UDECX_USB_ENDPOINT_CALLBACKS_INIT function Initializes a UDECX_USB_ENDPOINT_CALLBACKS structure before a UdecxUsbEndpointCreate call.
UDECX_WDF_DEVICE_CONFIG_INIT function Initializes a UDECX_WDF_DEVICE_CONFIG structure.
UFX_DEVICE_CALLBACKS_INIT function The UFX_DEVICE_CALLBACKS_INIT macro initializes the UFX_DEVICE_CALLBACKS structure.
UFX_DEVICE_CAPABILITIES_INIT function The UFX_DEVICE_CAPABILITIES_INIT macro the initializes the UFX_DEVICE_CAPABILITIES structure.
UFX_ENDPOINT_CALLBACKS_INIT function The UFX_ENDPOINT_CALLBACKS_INIT macro initializes the UFX_ENDPOINT_CALLBACKS structure.
URS_CONFIG_INIT function Initializes a URS_CONFIG structure.
USBD_AssignUrbToIoStackLocation function The USBD_AssignUrbToIoStackLocation routine is called by a client driver to associate an URB with the IRP's next stack location.
USBD_BuildRegisterCompositeDevice function 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 function The USBD_CalculateUsbBandwidth routine has been deprecated in Windows XP and later operating systems. Do not use.
USBD_CloseHandle function 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 function The USBD_CreateConfigurationRequest routine has been deprecated. Use USBD_CreateConfigurationRequestEx instead.
USBD_CreateConfigurationRequestEx function The USBD_CreateConfigurationRequestEx routine allocates and formats a URB to select a configuration for a USB device.USBD_CreateConfigurationRequestEx replaces USBD_CreateConfigurationRequest.
USBD_CreateHandle function 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 function 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 function The USBD_GetPdoRegistryParameter routine retrieves the value from the specified key in the USB device's hardware registry.
USBD_GetUSBDIVersion function 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 function 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 function The USBD_IsochUrbAllocate routine allocates and formats a URB structure for an isochronous transfer request.
USBD_ParseConfigurationDescriptor function The USBD_ParseConfigurationDescriptor routine has been deprecated. Use USBD_ParseConfigurationDescriptorEx instead.
USBD_ParseConfigurationDescriptorEx function The USBD_ParseConfigurationDescriptorEx routine searches a given configuration descriptor and returns a pointer to an interface that matches the given search criteria.
USBD_ParseDescriptors function The USBD_ParseDescriptors routine searches a given configuration descriptor and returns a pointer to the first descriptor that matches the search criteria.
USBD_QueryBusTime function The USBD_QueryBusTime routine has been deprecated in Windows XP and later operating systems. Do not use.
USBD_QueryUsbCapability function 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 function The USBD_RegisterHcFilter routine has been deprecated in Windows XP and later operating systems.
USBD_SelectConfigUrbAllocateAndBuild function The USBD_SelectConfigUrbAllocateAndBuild routine allocates and formats a URB structure that is required to select a configuration for a USB device.
USBD_SelectInterfaceUrbAllocateAndBuild function 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 function The USBD_UrbAllocate routine allocates a USB Request Block (URB).
USBD_UrbFree function The USBD_UrbFree routine releases the URB that is allocated by USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild, or USBD_SelectInterfaceUrbAllocateAndBuild.
USBD_ValidateConfigurationDescriptor function The USBD_ValidateConfigurationDescriptor routine validates all descriptors returned by a device in its response to a configuration descriptor request.
UcmConnectorChargingStateChanged function Notifies the USB connector manager framework extension (UcmCx) with the updated charging state of the partner connector.
UcmConnectorCreate function Creates a connector object.
UcmConnectorDataDirectionChanged function Notifies the USB connector manager framework extension (UcmCx) with the new data role of a change in data role.
UcmConnectorPdConnectionStateChanged function Notifies the USB connector manager framework extension (UcmCx) with the connection capabilities of the currently negotiated PD contract (if any).
UcmConnectorPdPartnerSourceCaps function Notifies the USB connector manager framework extension (UcmCx) with the power source capabilities of the partner connector.
UcmConnectorPdSourceCaps function Notifies the USB connector manager framework extension (UcmCx) with the power source capabilities of the connector.
UcmConnectorPowerDirectionChanged function Notifies the USB connector manager framework extension (UcmCx) with the new power role of the partner connector.
UcmConnectorTypeCAttach function Notifies the USB connector manager framework extension (UcmCx) when a partner connector is attached.
UcmConnectorTypeCCurrentAdChanged function 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 function Notifies the USB connector manager framework extension (UcmCx) when the partner connector detaches from the specified Type-C connector.
UcmInitializeDevice function Initializes the USB connector manager framework extension (UcmCx).
UcmTcpciDeviceInitInitialize function Initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UcmTcpciDeviceInitialize function Initializes the USB Type-C Port Controller Interface framework extension (UcmTcpciCx).
UcmTcpciPortControllerAlert function Sends information about the hardware alerts that are received on the port controller to UcmTcpciCx.
UcmTcpciPortControllerCreate function Creates a port controller object to register with UcmTcpciCx.
UcmTcpciPortControllerSetHardwareRequestQueue function Assigns a framework queue object to which the UcmTcpciCx dispatches hardware requests for the port controller.
UcmTcpciPortControllerStart function Indicates to the UcmTcpciCx class extension that the client driver is now ready to service hardware requests for the port controller.
UcmTcpciPortControllerStop function Indicates to the UcmTcpciCx class extension to stop sending hardware requests to the port controller object.
UcxControllerNeedsReset function Initiates a non-Plug and Play (PnP) controller reset operation by queuing an event into the controller reset state machine.
UcxControllerNotifyTransportCharacteristicsChange function Notifies UCX about a new port change event from host controller.
UcxControllerResetComplete function Informs USB Host Controller Extension (UCX) that the reset operation has competed.
UcxControllerSetFailed function Informs USB Host Controller Extension (UCX) that the controller has encountered a critical failure.
UcxControllerSetIdStrings function Updates the identifier strings of a controller after the controller has been initialized.
UcxDefaultEndpointInitSetEventCallbacks function Initializes a UCXENDPOINT_INIT structure with client driver's event callback functions related to the default endpoint.
UcxEndpointAbortComplete function Notifies UCX that a transfer abort operation has been completed on the specified endpoint object.
UcxEndpointCreate function Creates an endpoint on the specified USB device object.
UcxEndpointGetStaticStreamsReferenced function Returns a referenced static streams object for the specified endpoint.
UcxEndpointInitSetEventCallbacks function Initializes a UCXENDPOINT_INIT structure with client driver's event callback functions related to endpoints on the device.
UcxEndpointNeedToCancelTransfers function The client driver calls this method before it cancels transfers on the wire.
UcxEndpointNoPingResponseError function Notifies UCX about a "No Ping Response" error for a transfer on the specified endpoint object.
UcxEndpointPurgeComplete function Notifies UCX that a purge operation has been completed on the specified endpoint object.
UcxEndpointSetWdfIoQueue function Sets a framework queue on the specified endpoint object.
UcxInitializeDeviceInit function Initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UcxIoDeviceControl function Allows USB host controller extension (UCX) to handle an I/O control code (IOCTL) request from user mode.
UcxRootHubPortChanged function Notifies UCX about a new port change event on the host controller.
UcxStaticStreamsCreate function Creates a static streams object.
UcxStaticStreamsSetStreamInfo function Sets stream information for each stream enabled by the client driver.
UcxUsbDeviceCreate function Creates a USB device object on the specified controller.
UcxUsbDeviceInitSetEventCallbacks function Initializes a UCXUSBDEVICE_INIT structure with client driver's event callback functions.
UcxUsbDeviceRemoteWakeNotification function Notifies UCX that a remote wake signal from the device is received.
UdecxInitializeWdfDeviceInit function Initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UdecxUrbComplete function Completes the URB request with a USB-specific completion status code.
UdecxUrbCompleteWithNtStatus function Completes the URB request with an NTSTATUS code.
UdecxUrbRetrieveBuffer function Retrieves the transfer buffer of an URB from the specified framework request object sent to the endpoint queue.
UdecxUrbRetrieveControlSetupPacket function Retrieves a USB control setup packet from a specified framework request object.
UdecxUrbSetBytesCompleted function Sets the number of bytes transferred for the URB contained within a framework request object.
UdecxUsbDeviceCreate function Creates a USB Device Emulation (UDE) device object.
UdecxUsbDeviceInitAddDescriptor function Adds a USB descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAddDescriptorWithIndex function Adds a USB descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAddStringDescriptor function Adds a USB string descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAddStringDescriptorRaw function Adds a USB string descriptor to the initialization parameters used to create a virtual USB device.
UdecxUsbDeviceInitAllocate function Allocates memory for a UDECXUSBDEVICE_INIT structure that is used to initialize a virtual USB device.
UdecxUsbDeviceInitFree function Releases the resources that were allocated by the UdecxUsbDeviceInitAllocate call.
UdecxUsbDeviceInitSetEndpointsType function Indicates the type of endpoint (simple or dynamic) in the initialization parameters that the client driver uses to create the virtual USB device.
UdecxUsbDeviceInitSetSpeed function Sets the USB speed of the virtual USB device to create.
UdecxUsbDeviceInitSetStateChangeCallbacks function Initializes a WDF-allocated structure with pointers to callback functions.
UdecxUsbDeviceLinkPowerEntryComplete function Completes an asynchronous request for bringing the device out of a low power state.
UdecxUsbDeviceLinkPowerExitComplete function Completes an asynchronous request for sending the device to a low power state.
UdecxUsbDevicePlugIn function Notifies the USB device emulation class extension (UdeCx) that the USB device has been plugged in the specified port.
UdecxUsbDevicePlugOutAndDelete function Disconnects the virtual USB device.
UdecxUsbDeviceSetFunctionSuspendAndWakeComplete function Completes an asynchronous request for changing the power state of a particular function of a virtual USB 3.0 device.
UdecxUsbDeviceSignalFunctionWake function Initiates wake up of the specified function from a low power state. This applies to virtual USB 3.0 devices.
UdecxUsbDeviceSignalWake function Initiates wake up from a low link power state for a virtual USB 2.0 device.
UdecxUsbEndpointCreate function Creates a UDE endpoint object.
UdecxUsbEndpointInitFree function Release the resources that were allocated by the UdecxUsbSimpleEndpointInitAllocate call.
UdecxUsbEndpointInitSetCallbacks function Sets pointers to UDE client driver-implemented callback functions in the initialization parameters of the simple endpoint to create.
UdecxUsbEndpointInitSetEndpointAddress function Sets the address of the endpoint in the initialization parameters of the simple endpoint to create.
UdecxUsbEndpointPurgeComplete function Completes an asynchronous request for canceling all I/O requests queued to the specified endpoint.
UdecxUsbEndpointSetWdfIoQueue function Sets a framework queue object with a UDE endpoint.
UdecxUsbSimpleEndpointInitAllocate function Allocates memory for an initialization structure that is used to create a simple endpoint for the specified virtual USB device.
UdecxWdfDeviceAddUsbDeviceEmulation function Initializes a framework device object to support operations related to a host controller and a virtual USB device attached to the controller.
UdecxWdfDeviceResetComplete function Informs the USB device emulation class extension (UdeCx) that the reset operation on the specified controller has competed.
UdecxWdfDeviceTryHandleUserIoctl function Attempts to handle an IOCTL request sent by a user-mode software.
UfxDeviceCreate function Creates a UFX device object, registers event callback routines, and specifies capabilities specific to the controller.
UfxDeviceEventComplete function Informs UFX that the client driver has completed processing a UFX callback function.
UfxDeviceIoControl function Passes non-internal IOCTLs from user-mode to UFX.
UfxDeviceIoInternalControl function Passes kernel mode IOCTLs to UFX.
UfxDeviceNotifyAttach function Notifies UFX that the device's USB cable has been attached.
UfxDeviceNotifyDetach function Notifies UFX that the device's USB cable has been detached.
UfxDeviceNotifyHardwareFailure function Notifies UFX about a non-recoverable hardware failure in the controller.
UfxDeviceNotifyHardwareReady function Notifies UFX that the hardware is ready.
UfxDeviceNotifyReset function Notifies UFX about a USB bus reset event.
UfxDeviceNotifyResume function Notifies UFX about a USB bus resume event.
UfxDeviceNotifySuspend function Notifies UFX about a USB bus suspend event.
UfxDevicePortDetectComplete function Notifies UFX about the port type that was detected.
UfxDevicePortDetectCompleteEx function Notifies UFX about the port type that was detected, and optionally requests an action.
UfxDeviceProprietaryChargerDetectComplete function Notifies UFX about a detected proprietary port/charger type.
UfxEndpointCreate function Creates an endpoint object.
UfxEndpointGetCommandQueue function Returns the command queue previously created by UfxEndpointCreate.
UfxEndpointGetTransferQueue function Returns the transfer queue previously created by UfxEndpointCreate.
UfxEndpointInitSetEventCallbacks function Initialize a UFXENDPOINT_INIT structure.
UfxEndpointNotifySetup function Notifies UFX when the client driver receives a setup packet from the host.
UfxFdoInit function Initializes the WDFDEVICE_INIT structure that the client driver subsequently provides when it calls WdfDeviceCreate.
UrsDeviceInitInitialize function Initializes device initialization operations when the Plug and Play (PnP) manager reports the existence of a device.
UrsDeviceInitialize function 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.
UrsIoResourceListAppendDescriptor function Appends the specified resource descriptor to the specified I/O resource list object that maintains resource descriptors for the host or function role.
UrsReportHardwareEvent function Notifies the USB dual-role class extension about a new hardware event.
UrsSetHardwareEventSupport function Indicates the client driver's support for reporting new hardware events.
UrsSetPoHandle function Registers and deletes the client driver's registration with the power management framework (PoFx).
UsbBuildOpenStaticStreamsRequest function The UsbBuildOpenStaticStreamsRequest inline function formats an URB structure for an open-streams request. The request opens streams associated with the specified bulk endpoint.

Callback functions

Title Description
EVT_UCM_CONNECTOR_SET_DATA_ROLE callback 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 callback 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 callback 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 callback 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 callback UCX invokes this callback to retrieve the host controller characteristics.
EVT_UCX_CONTROLLER_QUERY_USB_CAPABILITY callback The client driver's implementation to determine if the controller supports a specific capability.
EVT_UCX_CONTROLLER_RESET callback The client driver's implementation that UCX calls to reset the controller.
EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION callback 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 callback UCX invokes this callback function to the start time tracking functionality in the controller.
EVT_UCX_CONTROLLER_STOP_TRACKING_FOR_TIME_SYNC callback UCX invokes this callback function to the stop time tracking functionality in the controller.
EVT_UCX_CONTROLLER_USBDEVICE_ADD callback The client driver's implementation that UCX calls when a new USB device is detected.
EVT_UCX_DEFAULT_ENDPOINT_UPDATE callback The client driver's implementation that UCX calls with information about the default endpoint.
EVT_UCX_ENDPOINT_ABORT callback The client driver's implementation that UCX calls to abort the queue associated with the endpoint.
EVT_UCX_ENDPOINT_GET_ISOCH_TRANSFER_PATH_DELAYS callback UCX invokes this callback function to get information about transfer path delays for an isochronous endpoint.
EVT_UCX_ENDPOINT_OK_TO_CANCEL_TRANSFERS callback 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 callback The client driver's implementation that completes all outstanding I/O requests on the endpoint.
EVT_UCX_ENDPOINT_RESET callback The client driver's implementation that UCX calls to reset the controller’s programming for an endpoint.
EVT_UCX_ENDPOINT_SET_CHARACTERISTIC callback UCX invokes this callback function to set the priority on an endpoint.
EVT_UCX_ENDPOINT_START callback The client driver's implementation that UCX calls to start the queue associated with the endpoint.
EVT_UCX_ENDPOINT_STATIC_STREAMS_ADD callback The client driver's implementation that UCX calls to create static streams.
EVT_UCX_ENDPOINT_STATIC_STREAMS_DISABLE callback The client driver's implementation that UCX calls to release controller resources for all streams for an endpoint.
EVT_UCX_ENDPOINT_STATIC_STREAMS_ENABLE callback The client driver's implementation that UCX calls to enable the static streams.
EVT_UCX_ROOTHUB_CONTROL_URB callback 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 callback 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 callback 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 callback The client driver's implementation that UCX calls when it receives a request for information about the root hub.
EVT_UCX_ROOTHUB_INTERRUPT_TX callback The client driver's implementation that UCX calls when it receives a request for information about changed ports.
EVT_UCX_USBDEVICE_ADDRESS callback The client driver's implementation that UCX calls to address the USB device.
EVT_UCX_USBDEVICE_DEFAULT_ENDPOINT_ADD callback The client driver's implementation that UCX calls to add a new default endpoint for a USB device.
EVT_UCX_USBDEVICE_DISABLE callback The client driver's implementation that UCX calls to release controller resources associated with the device and its default endpoint.
EVT_UCX_USBDEVICE_ENABLE callback 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_ENDPOINTS_CONFIGURE callback The client driver's implementation that UCX calls to configure endpoints in the controller.
EVT_UCX_USBDEVICE_ENDPOINT_ADD callback The client driver's implementation that UCX calls to add a new endpoint for a USB device.
EVT_UCX_USBDEVICE_GET_CHARACTERISTIC callback UCX invokes this callback to retrieve the device characteristics.
EVT_UCX_USBDEVICE_HUB_INFO callback The client driver's implementation that UCX calls to retrieve hub properties.
EVT_UCX_USBDEVICE_RESET callback The client driver's implementation that UCX calls when the port to which the device is attached is reset.
EVT_UCX_USBDEVICE_RESUME callback UCX invokes this callback function to resume a device from suspend state.
EVT_UCX_USBDEVICE_SUSPEND callback UCX invokes this callback function to send a device suspend state.
EVT_UCX_USBDEVICE_UPDATE callback The client driver's implementation that UCX calls to update device properties.
EVT_UDECX_USB_DEVICE_D0_ENTRY callback 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 callback 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 callback 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_ENDPOINTS_CONFIGURE callback 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_ENDPOINT_ADD callback 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_SET_FUNCTION_SUSPEND_AND_WAKE callback 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 callback 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 callback 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 callback 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 callback The UDE client driver's implementation to determine the capabilities that are supported by the emulated USB host controller.
EVT_UDECX_WDF_DEVICE_RESET callback The UDE client driver's implementation to reset the emulated host controller or the devices attached to it.
EVT_UFX_DEVICE_ADDRESSED callback The client driver's implementation to assign an address on the function controller.
EVT_UFX_DEVICE_CONTROLLER_RESET callback The client driver's implementation to reset the function controller to its initial state.
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD callback The client driver's implementation to create a default control endpoint.
EVT_UFX_DEVICE_ENDPOINT_ADD callback The client driver's implementation to create a default endpoint object.
EVT_UFX_DEVICE_HOST_CONNECT callback The client driver's implementation to initiate connection with the host.
EVT_UFX_DEVICE_HOST_DISCONNECT callback The client driver's implementation to disable the function controller's communication with the host.
EVT_UFX_DEVICE_PORT_CHANGE callback 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 callback The client driver's implementation to initiate port detection.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_DETECT callback The client driver's implementation to initiate proprietary charger detection.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET callback The client driver's implementation to resets proprietary charger.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY callback The client driver's implementation to set charger information that it uses to enable charging over USB.
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL callback The client driver's implementation to initiate remote wake-up on the function controller.
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE callback The client driver's implementation to set or clear the specified power feature on the function controller.
EVT_UFX_DEVICE_TESTHOOK callback This IOCTL code is not supported.
EVT_UFX_DEVICE_TEST_MODE_SET callback The client driver's implementation to set the test mode of the function controller.
EVT_UFX_DEVICE_USB_STATE_CHANGE callback The client driver's implementation to update the state of the USB device.
EVT_URS_DEVICE_FILTER_RESOURCE_REQUIREMENTS callback 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 callback The URS class extension invokes this event callback when it requires the client driver to change the role of the controller.
PUSB_BUSIFFN_ENUM_LOG_ENTRY callback This callback function is not supported.The EnumLogEntry routine makes a log entry.
PUSB_BUSIFFN_GETUSBDI_VERSION callback 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 callback The USB_BUSIFFN_IS_DEVICE_HIGH_SPEED routine returns TRUE if the device is operating at high speed.
PUSB_BUSIFFN_QUERY_BUS_INFORMATION callback The QueryBusInformation routine gets information about the bus.
PUSB_BUSIFFN_QUERY_BUS_TIME callback The QueryBusTime function gets the current 32-bit USB frame number.
PUSB_BUSIFFN_QUERY_BUS_TIME_EX callback The QueryBusTimeEx routine gets the current 32-bit USB micro-frame number.
PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE callback The QueryControllerType routine gets information about the USB host controller to which the USB device is attached.
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB callback 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.
UFX_PROPRIETARY_CHARGER_ABORT_OPERATION callback The filter driver's implementation to abort a charger operation.
UFX_PROPRIETARY_CHARGER_DETECT callback The filter driver's implementation to detect if a charger is attached and get details about the charger.
UFX_PROPRIETARY_CHARGER_RESET_OPERATION callback The filter driver's implementation to reset a charger operation.
UFX_PROPRIETARY_CHARGER_SET_PROPERTY callback The filter driver's implementation to set a configurable property on the charger.
USBC_START_DEVICE_CALLBACK callback The USBC_START_DEVICE_CALLBACK routine allows a USB client driver to provide a custom definition of the interface collections on a device.
USBFN_GET_ATTACH_ACTION callback The filter driver's implementation that gets invoked when charger is attached to the port.
USBFN_GET_ATTACH_ACTION_ABORT callback The filter driver's implementation to abort an attach-detect operation.
USBFN_SET_DEVICE_STATE callback The filter driver's implementation to abort an attach-detect operation.

Structures

Title Description
_ADDRESS0_OWNERSHIP_ACQUIRE structure Contains parameters for configuring the device.
_ALTERNATE_INTERFACE structure The ALTERNATE_INTERFACE structure provides information about alternate settings for a Universal Serial Bus (USB) interface.
_COMPOSITE_DEVICE_CAPABILITIES structure 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 structure Describes supported protocol capabilities for Link Power Management (LPM) in as defined the USB 2.0 specification.
_DEFAULT_ENDPOINT_UPDATE structure Contains the handle to the default endpoint to update in a framework request that is passed by UCX when it invokes EVT_UCX_DEFAULT_ENDPOINT_UPDATE callback function.
_ENDPOINTS_CONFIGURE structure 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 structure This structure provides failure flags to indicate errors, if any, that might have occurred during a request to an EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function.
_ENDPOINT_RESET structure Describes information required to reset an endpoint. This structure is passed by UCX in the EVT_UCX_ENDPOINT_RESET callback function.
_HUB_DEVICE_CONFIG_INFO_V1 structure 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 structure Describes information about a hub from its parent device.
_PARENT_HUB_FLAGS structure This structure is used by the HUB_INFO_FROM_PARENT structure to get hub information from the parent.
_REGISTER_COMPOSITE_DEVICE structure 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 structure 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_20PORTS_INFO structure 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_20PORT_INFO structure 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_30PORTS_INFO structure 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_30PORT_INFO structure 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 structure Provides extended USB 3.0 port information about speed.
_ROOTHUB_INFO structure Provides information about a USB root hub. This structure is passed by UCX in the EVT_UCX_ROOTHUB_GET_INFO callback function.
_STREAM_INFO structure This structure stores information about a stream associated with a bulk endpoint.
_UCMTCPCI_DEVICE_CONFIG structure Used in the client driver's call to UcmTcpciDeviceInitialize. Call UCMTCPCI_DEVICE_CONFIG_INIT to initialize this structure.
_UCMTCPCI_DRIVER_GLOBALS structure The global structure for the USB Type-C Port Controller Interface framework extension (UcmTcpciCx).
_UCMTCPCI_PORT_CONTROLLER_ALERT_DATA structure 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 structure 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 structure 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 structure Contains information about the capabilities of the port controller.
_UCMTCPCI_PORT_CONTROLLER_CONFIG structure 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 structure 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 structure 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 structure 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 structure This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL request.
_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS structure 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 structure This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS request.
_UCMTCPCI_PORT_CONTROLLER_GET_STATUS_OUT_PARAMS structure 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 structure Contains identification information and USB specification version information (in BCD format) about the port controller.
_UCMTCPCI_PORT_CONTROLLER_SET_COMMAND_IN_PARAMS structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure Stores the values of TRANSMIT Register. This structure is used in the IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT request.
_UCM_CONNECTOR_CONFIG structure 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 structure Describes the Power Delivery 2.0 capabilities of the connector.
_UCM_CONNECTOR_PD_CONN_STATE_CHANGED_PARAMS structure Describes the parameters for PD connection changed event.
_UCM_CONNECTOR_TYPEC_ATTACH_PARAMS structure Describes the partner that is currently attached to the connector.
_UCM_CONNECTOR_TYPEC_CONFIG structure Describes the configuration options for a Type-C connector.
_UCM_MANAGER_CONFIG structure 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 structure Describes a Power Data Object. For information about these members, see the Power Delivery specification.
_UCM_PD_REQUEST_DATA_OBJECT structure Describes a Request Data Object (RDO). For information about these members, see the Power Delivery specification.
_UCXUSBDEVICE_INFO structure Contains information about the USB device. This structure is passed by UCX in the EVT_UCX_CONTROLLER_USBDEVICE_ADD event callback function.
_UCX_CONTROLLER_ACPI_INFORMATION structure This structure provides information about an advanced Configuration and power interface (ACPI) USB controller.
_UCX_CONTROLLER_CONFIG structure This structure configuration data for a USB controller.
_UCX_CONTROLLER_PCI_INFORMATION structure This structure provides information about a PCI USB controller.
_UCX_CONTROLLER_RESET_COMPLETE_INFO structure 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 structure 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 structure 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 structure This structure provides a list of UCX default endpoint event callback functions.
_UCX_ENDPOINT_CHARACTERISTIC structure Stores the characteristics of an endpoint.
_UCX_ENDPOINT_EVENT_CALLBACKS structure This structure provides a list of pointers to UCX endpoint event callback functions.
_UCX_ENDPOINT_ISOCH_TRANSFER_PATH_DELAYS structure Stores the isochronous transfer path delay values.
_UCX_ROOTHUB_CONFIG structure 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 structure Stores the characteristics of an device.
_UCX_USBDEVICE_CHARACTERISTIC_PATH_DELAY structure Stores the isochronous transfer path delay values.
_UCX_USBDEVICE_EVENT_CALLBACKS structure This structure provides a list of UCX USB device event callback functions.
_UDECX_ENDPOINTS_CONFIGURE_PARAMS structure 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 structure 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 structure 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 structure 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 structure Contains the descriptors supported by an endpoint of a virtual USB device.
_UDECX_WDF_DEVICE_CONFIG structure 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 structure The UFX_DEVICE_CALLBACKS structure is used to define then event callback functions supported by the client driver.
_UFX_DEVICE_CAPABILITIES structure 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 structure The UFX_ENDPOINT_CALLBACKS structure is used to define then event callback functions supported by the client driver.
_UFX_HARDWARE_FAILURE_CONTEXT structure The UFX_HARDWARE_FAILURE_CONTEXT structure is used to define controller-specific hardware failure properties.
_UFX_INTERFACE_PROPRIETARY_CHARGER structure Stores pointers to driver-implemented callback functions for handling proprietary charger operations.
_UFX_PROPRIETARY_CHARGER structure Describes the proprietary charger's device power requirements.
_URB structure 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.
_URB_BULK_OR_INTERRUPT_TRANSFER structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure The _URB_CONTROL_TRANSFER structure is used by USB client drivers to transfer data to or from a control pipe.
_URB_CONTROL_TRANSFER_EX structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure The _URB_PIPE_REQUEST structure is used by USB client drivers to clear a stall condition on an endpoint.
_URB_SELECT_CONFIGURATION structure The _URB_SELECT_CONFIGURATION structure is used by client drivers to select a configuration for a USB device.
_URB_SELECT_INTERFACE structure 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.
_URS_CONFIG structure 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.
_USBC_DEVICE_CONFIGURATION_INTERFACE_V1 structure 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 structure The USBC_FUNCTION_DESCRIPTOR structure describes a USB function and its associated interface collection.
_USBDEVICE_ABORTIO structure Contains a handle for the Universal Serial Bus (USB) hub or device for which to abort data transfers.
_USBDEVICE_ADDRESS structure 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 structure 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 structure 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 structure 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 structure 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 structure This structure provides a handle for the Universal Serial Bus (USB) hub or device physically connected to the bus.
_USBDEVICE_PURGEIO structure The USBDEVICE_PURGEIO structure contains the handle for the Universal Serial Bus (USB) hub or device to purge I/O for.
_USBDEVICE_RESET structure 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 structure Contains a handle for the Universal Serial Bus (USB) hub or device on which to start data transfer.
_USBDEVICE_TREE_PURGEIO structure This structure provides the handle for the Universal Serial Bus (USB) device tree to purge I/O for.
_USBDEVICE_UPDATE structure 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 structure 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 structure 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 structure 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.
_USBD_ENDPOINT_OFFLOAD_INFORMATION structure Stores xHCI-specific information that is used by client drivers to transfer data to and from the offloaded endpoints.
_USBD_INTERFACE_INFORMATION structure The USBD_INTERFACE_INFORMATION structure holds information about an interface for a configuration on a USB device.
_USBD_INTERFACE_LIST_ENTRY structure 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 structure The USBD_ISO_PACKET_DESCRIPTOR structure is used by USB client drivers to describe an isochronous transfer packet.
_USBD_PIPE_INFORMATION structure The USBD_PIPE_INFORMATION structure is used by USB client drivers to hold information about a pipe from a specific interface.
_USBD_STREAM_INFORMATION structure The USBD_STREAM_INFORMATION structure stores information about a stream associated with a bulk endpoint.
_USBD_VERSION_INFORMATION structure The USBD_VERSION_INFORMATION structure is used by the GetUSBDIVersion function to report its output data.
_USBFN_BUS_CONFIGURATION_INFO structure Configuration packet that stores information about an available USB configuration.
_USBFN_CLASS_INFORMATION_PACKET structure 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 structure 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 structure Describes an interface and its endpoints.
_USBFN_CLASS_INTERFACE_EX structure Describes an interface and its endpoints.
_USBFN_INTERFACE_ATTACH structure Stores pointers to driver-implemented callback functions for handling attach and detach operations.
_USBFN_INTERFACE_INFO structure Describes an interface and its endpoints.
_USBFN_NOTIFICATION structure Describes information about a Universal Serial Bus (USB) event notification that was received by using IOCTL_INTERNAL_USBFN_BUS_EVENT_NOTIFICATION.
_USBFN_ON_ATTACH structure Describes the detected port type and attach action.
_USBFN_PIPE_INFORMATION structure Describes attributes of a pipe associated with an endpoint on a specific interface.
_USBFN_POWER_FILTER_STATE structure Reserved. Do not use.
_USBFN_USB_STRING structure Describes a USB string descriptor and the associated string index.
_USB_30_HUB_DESCRIPTOR structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure 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_COMMON_DESCRIPTOR structure 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 structure The USB_CONFIGURATION_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined configuration descriptor.
_USB_CYCLE_PORT_PARAMS structure 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 structure 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_CHARACTERISTICS structure 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 structure The USB_DEVICE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device descriptor.
_USB_DEVICE_PORT_PATH structure Contains the port path of a USB device.
_USB_DEVICE_QUALIFIER_DESCRIPTOR structure The USB_DEVICE_QUALIFIER_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined device qualifier descriptor.
_USB_ENDPOINT_DESCRIPTOR structure 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 structure 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 structure 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_CAPABILITIES structure The USB_HUB_CAPABILITIES structure has been deprecated. Use USB_HUB_CAPABILITIES_EX instead.
_USB_HUB_CAPABILITIES_EX structure 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_CAP_FLAGS structure The USB_HUB_CAP_FLAGS structure is used to report the capabilities of a hub.
_USB_HUB_DESCRIPTOR structure The USB_HUB_DESCRIPTOR structure contains a hub descriptor.
_USB_HUB_INFORMATION structure The USB_HUB_INFORMATION structure contains information about a hub.
_USB_HUB_INFORMATION_EX structure 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 structure The USB_HUB_NAME structure stores the hub's symbolic device name.
_USB_ID_STRING structure The USB_ID_STRING structure is used to store a string or multi-string.
_USB_INTERFACE_DESCRIPTOR structure The USB_INTERFACE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined interface descriptor.
_USB_MI_PARENT_INFORMATION structure The USB_MI_PARENT_INFORMATION structure contains information about a composite device.
_USB_NODE_CONNECTION_ATTRIBUTES structure 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 structure 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 structure 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 structure 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 structure 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 structure 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 structure The USB_NODE_CONNECTION_NAME structure is used with the IOCTL_USB_GET_NODE_CONNECTION_NAME I/O control request to retrieve the symbolic link of the downstream hub that is attached to the port.
_USB_NODE_INFORMATION structure 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 structure 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 structure 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 structure 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 structure 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 structure The USB_ROOT_HUB_NAME structure stores the root hub's symbolic device name.
_USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION structure The input and output buffer for the IOCTL_USB_START_TRACKING_FOR_TIME_SYNC request.
_USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION structure The input buffer for the IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC request.
_USB_STRING_DESCRIPTOR structure The USB_STRING_DESCRIPTOR structure is used by USB client drivers to hold a USB-defined string descriptor.
_USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR structure 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 structure 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 structure 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 structure Contains registration information filled when the IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request completes.
_USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION structure Contains registration information for the IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request.
_USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION structure Contains unregistration information for the IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE request.

Enumerations

Title Description
_CONTROLLER_TYPE enumeration This enumeration specifies if the USB host controller is an eXtensible Host Controller Interface (xHCI) controller.
_ENDPOINT_RESET_FLAGS enumeration Defines parameters for a request to reset an endpoint.
_TRISTATE enumeration The TRISTATE enumeration indicates generic state values for true or false.
_UCMTCPCI_PORT_CONTROLLER_ALERT_TYPE enumeration 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 enumeration Defines values to determine whether a display out status for a DisplayPort device is enabled.
_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_HPD_STATUS enumeration Defines values to determine whether a DisplayPort device is plugged in.
_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_PIN_ASSIGNMENT enumeration TBD.
_UCMTCPCI_PORT_CONTROLLER_IOCTL enumeration 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.
_UCM_CHARGING_STATE enumeration Defines the charging state of a Type-C connector.
_UCM_PD_CONN_STATE enumeration Defines power delivery (PD) negotiation states of a Type-C port.
_UCM_PD_POWER_DATA_OBJECT_TYPE enumeration Defines Power Data Object types.
_UCM_POWER_ROLE enumeration Defines power roles of USB Type-C connected devices.
_UCM_TYPEC_CURRENT enumeration Defines different Type-C current levels, as defined in the Type-C specification.
_UCM_TYPEC_OPERATING_MODE enumeration Defines operating modes of a USB Type-C connector.
_UCM_TYPEC_PARTNER enumeration Defines the state of the Type-C connector.
_UCX_CONTROLLER_PARENT_BUS_TYPE enumeration The UCX_CONTROLLER_PARENT_BUS_TYPE enumeration defines the parent bus type.
_UCX_CONTROLLER_STATE enumeration This enumeration provides values to specify the UCX controller state after a reset.
_UCX_ENDPOINT_CHARACTERISTIC_PRIORITY enumeration Indicates the priority of endpoints.
_UCX_ENDPOINT_CHARACTERISTIC_TYPE enumeration Defines values that indicates the type of endpoint characteristic.
_UCX_USBDEVICE_CHARACTERISTIC_TYPE enumeration Defines values that indicates the type of device characteristic.
_UDECX_ENDPOINTS_CONFIGURE_TYPE enumeration Defines values for endpoint configuration options.
_UDECX_ENDPOINT_TYPE enumeration Defines values for endpoint types supported by a virtual USB device.
_UDECX_USB_DEVICE_FUNCTION_POWER enumeration Defines values for function wake capability of a virtual USB 3.0 device.
_UDECX_USB_DEVICE_SPEED enumeration Defines values for USB device speeds.
_UDECX_USB_DEVICE_WAKE_SETTING enumeration Defines values for remote wake capability of a virtual USB device.
_UDECX_WDF_DEVICE_RESET_ACTION enumeration Defines values that indicate the types of reset operation supported by an emulated USB host controller.
_URS_HARDWARE_EVENT enumeration Defines values for the hardware events that a client driver for a USB dual-role controller can report.
_URS_HOST_INTERFACE_TYPE enumeration Defines values for the various types of USB host controllers.
_URS_ROLE enumeration Defines values for roles supported by a USB dual-role controller.
_USBD_ENDPOINT_OFFLOAD_MODE enumeration Defines values for endpoint offloading options in the USB device or host controller.
_USBD_PIPE_TYPE enumeration The USBD_PIPE_TYPE enumerator indicates the type of pipe.
_USBFN_ACTION enumeration Defines special actions UFX should take when the client driver calls the UfxDevicePortDetectCompleteEx function.
_USBFN_ATTACH_ACTION enumeration Defines the actions that the Universal Serial Bus (USB) function stack takes when a device is attached to a USB port.
_USBFN_BUS_SPEED enumeration The USBFN_BUS_SPEED enumeration defines possible bus speeds.
_USBFN_DEVICE_STATE enumeration 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 enumeration Defines the USB data transfer direction types.
_USBFN_EVENT enumeration Defines notifications sent to class drivers.
_USBFN_PORT_TYPE enumeration Defines the possible port types that can be returned by the client driver during port detection.
_USB_CONNECTION_STATUS enumeration The USB_CONNECTION_STATUS enumerator indicates the status of the connection to a device on a USB hub port.
_USB_CONTROLLER_FLAVOR enumeration The USB_CONTROLLER_FLAVOR enumeration specifies the type of USB host controller.
_USB_DEVICE_SPEED enumeration The USB_DEVICE_SPEED enumeration defines constants for USB device speeds.
_USB_HUB_NODE enumeration The USB_HUB_NODE enumerator indicates whether a device is a hub or a composite device.
_USB_HUB_TYPE enumeration 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.

I/O control codes

Title Description
IOCTL_GET_HCD_DRIVERKEY_NAME IOCTL 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_USBFN_ACTIVATE_USB_BUS IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL Do not use.
IOCTL_INTERNAL_USBFN_DESCRIPTOR_UPDATE IOCTL 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 IOCTL 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 IOCTL 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 IOCTL The class driver sends this request to get the stall state of the specified pipe.
IOCTL_INTERNAL_USBFN_REGISTER_USB_STRING IOCTL The class driver sends this request to register a USB string descriptor.
IOCTL_INTERNAL_USBFN_RESERVED IOCTL Do not use.
IOCTL_INTERNAL_USBFN_SET_PIPE_STATE IOCTL The class driver sends this request to set the stall state of the specified USB pipe.
IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_EXIT_LPM IOCTL Do not use.
IOCTL_INTERNAL_USBFN_SET_POWER_FILTER_STATE IOCTL Do not use.
IOCTL_INTERNAL_USBFN_SIGNAL_REMOTE_WAKEUP IOCTL The class driver sends this request to get remote wake-up notifications from endpoints.
IOCTL_INTERNAL_USBFN_TRANSFER_IN IOCTL 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 IOCTL 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 IOCTL The class driver sends this request to initiate a data transfer from the host on the specified pipe.
IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL 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 IOCTL The IOCTL_INTERNAL_USB_ENABLE_PORT IOCTL has been deprecated. Do not use.
IOCTL_INTERNAL_USB_GET_BUSGUID_INFO IOCTL The IOCTL_INTERNAL_USB_GET_BUSGUID_INFO IOCTL has been deprecated. Do not use.
IOCTL_INTERNAL_USB_GET_BUS_INFO IOCTL The IOCTL_INTERNAL_USB_GET_BUS_INFO I/O request queries the bus driver for certain bus information.
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL The IOCTL_INTERNAL_USB_GET_HUB_COUNT IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL 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 IOCTL The IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL 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 IOCTL The IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS IOCTL 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 IOCTL The IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY IOCTL The IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_RECORD_FAILURE IOCTL The IOCTL_INTERNAL_USB_RECORD_FAILURE IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE IOCTL 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_REQUEST_REMOTE_WAKE_NOTIFICATION IOCTL 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_REQ_GLOBAL_RESUME IOCTL The IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND IOCTL The IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND IOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_RESET_PORT IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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_UCMTCPCI_PORT_CONTROLLER_ALTERNATE_MODE_ENTERED IOCTL 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 IOCTL Notifies the client driver that an alternate mode is exited so that the driver can perform additional tasks.
IOCTL_UCMTCPCI_PORT_CONTROLLER_DISPLAYPORT_CONFIGURED IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL Sets the RECEIVE_DETECT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT IOCTL Sets the TRANSMIT Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_UCMTCPCI_PORT_CONTROLLER_SET_TRANSMIT_BUFFER IOCTL Sets the TRANSMIT_BUFER Register defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
IOCTL_USB_DIAGNOSTIC_MODE_OFF IOCTL The IOCTL_USB_DIAGNOSTIC_MODE_OFF I/O control has been deprecated. Do not use.
IOCTL_USB_DIAGNOSTIC_MODE_ON IOCTL The IOCTL_USB_DIAGNOSTIC_MODE_ON I/O control has been deprecated. Do not use.
IOCTL_USB_DIAG_IGNORE_HUBS_OFF IOCTL The IOCTL_USB_DIAG_IGNORE_HUBS_OFF I/O control has been deprecated. Do not use.
IOCTL_USB_DIAG_IGNORE_HUBS_ON IOCTL The IOCTL_USB_DIAG_IGNORE_HUBS_ON I/O control has been deprecated. Do not use.
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION IOCTL 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 IOCTL 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 IOCTL "."
IOCTL_USB_GET_HUB_CAPABILITIES IOCTL The IOCTL_USB_GET_HUB_CAPABILITIES I/O control request retrieves the capabilities of a USB hub.
IOCTL_USB_GET_HUB_CAPABILITIES_EX IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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 IOCTL 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_INFORMATION IOCTL 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 IOCTL 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 IOCTL 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 IOCTL The client driver sends this request to retrieve the transport characteristics.
IOCTL_USB_HCD_DISABLE_PORT IOCTL The IOCTL_USB_HCD_DISABLE_PORT IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_ENABLE_PORT IOCTL The IOCTL_USB_HCD_ENABLE_PORT IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_GET_STATS_1 IOCTL The IOCTL_USB_HCD_GET_STATS_1 IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_GET_STATS_2 IOCTL The IOCTL_USB_HCD_GET_STATS_2 IOCTL has been deprecated. Do not use.
IOCTL_USB_HUB_CYCLE_PORT IOCTL 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 IOCTL This request notifies the caller of change in transport characteristics.
IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE IOCTL This request registers for notifications about the changes in transport characteristics.
IOCTL_USB_RESET_HUB IOCTL The IOCTL_USB_RESET_HUB IOCTL is used by the USB driver stack. Do not use.
IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL This request registers the caller with USB driver stack for time sync services.
IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC IOCTL This request unegisters the caller with USB driver stack for time sync services.
IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE IOCTL This request unregisters the caller from getting notifications about transport characteristics changes.

Macros

Title Description
GET_ISO_URB_SIZE macro The GET_ISO_URB_SIZE macro returns the number of bytes required to hold an isochronous transfer request.
UsbBuildGetStatusRequest macro The UsbBuildGetStatusRequest macro formats an URB to obtain status from a device, interface, endpoint, or other device-defined target on a USB device.
UsbBuildInterruptOrBulkTransferRequest macro The UsbBuildInterruptOrBulkTransferRequest macro formats an URB to send or receive data on a bulk pipe, or to receive data from an interrupt pipe.