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:

ucxusbdevice.h contains the following programming interfaces:

Functions

 
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

 
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

 
ADDRESS0_OWNERSHIP_ACQUIRE

Contains parameters for configuring the device.
UCX_USBDEVICE_CHARACTERISTIC

Stores the characteristics of a device.
UCX_USBDEVICE_CHARACTERISTIC_PATH_DELAY

Learn how UCX_USBDEVICE_CHARACTERISTIC_PATH_DELAY stores the isochronous transfer path delay values.
UCX_USBDEVICE_EVENT_CALLBACKS

This structure provides a list of UCX USB device event callback functions.
UCXUSBDEVICE_INFO

Contains information about the USB device. This structure is passed by UCX in the EVT_UCX_CONTROLLER_USBDEVICE_ADD event callback function.
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

 
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.