ucxusbdevice.h header

This header is used to write a USB host controller driver. The USB host controller extension is a system-supplied driver (Ucx01000.sys). This driver is implemented as a framework class extension by using the Windows Driver Framework programming interfaces. The host controller driver serves as the client driver to that class extension. While a host controller driver handles hardware operations and events, power management, and PnP events, UCX serves as an abstracted interface that queues requests to the host controller driver, and performs other tasks.

Do not include this header directly. Instead include Ucxclass.h

For more information, see:

Functions

Title Description
UCX_USBDEVICE_EVENT_CALLBACKS_INIT Initializes a UCX_USBDEVICE_EVENT_CALLBACKS structure with the function pointers to client driver's callback functions.
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.

Callback functions

Title Description
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.

Structures

Title Description
ADDRESS0_OWNERSHIP_ACQUIRE Contains parameters for configuring the device.
UCX_USBDEVICE_CHARACTERISTIC Stores the characteristics of an device.
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.
USB_DEVICE_PORT_PATH Contains the port path of a USB device.
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.

Enumerations

Title Description
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.