UcxEndpointCreate function (ucxendpoint.h)

Creates an endpoint on the specified USB device object.


NTSTATUS UcxEndpointCreate(
  [in]           UCXUSBDEVICE           UsbDevice,
  [out]          PUCXENDPOINT_INIT      *EndpointInit,
  [in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
  [out]          UCXENDPOINT            *Endpoint


[in] UsbDevice

A handle to the USB device object that contains the endpoint. The client driver retrieved the handle in a previous call to UcxUsbDeviceCreate.

[out] EndpointInit

A pointer to a UCXENDPOINT_INIT structure that describes various configuration operations for creating the endpoint object. The driver specifies function pointers to its callback functions in this structure. This structure is managed by UCX.

[in, optional] Attributes

A pointer to a caller-allocated WDF_OBJECT_ATTRIBUTES structure that specifies attributes for the endpoint object.

[out] Endpoint

A pointer to a variable that receives a handle to the new endpoint object.

Return value

The method returns STATUS_SUCCESS if the operation succeeds. Otherwise, this method might return one an appropriate NTSTATUS error code.


The client driver for the host controller must call this method after the WdfDeviceCreate call. The parent of the new endpoint object is the USB device object.

The method initializes the endpoint object with information such as the type of endpoint, pipe, transfer, and maximum transfers size.

For a code example, see EVT_UCX_USBDEVICE_ENDPOINT_ADD.


Minimum supported client Windows 10
Target Platform Windows
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header ucxendpoint.h (include Ucxclass.h, Ucxendpoint.h)