EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE callback function (ucxusbdevice.h)

The client driver's implementation that UCX calls to configure endpoints in the controller.

Syntax

EVT_UCX_USBDEVICE_ENDPOINTS_CONFIGURE EvtUcxUsbdeviceEndpointsConfigure;

void EvtUcxUsbdeviceEndpointsConfigure(
  [in] UCXCONTROLLER UcxController,
  [in] WDFREQUEST Request
)
{...}

Parameters

[in] UcxController

A handle to the UCX controller that the client driver received in a previous call to the UcxControllerCreate method.

[in] Request

Contains a structure of type ENDPOINTS_CONFIGURE structure.

Return value

None

Remarks

The UCX client driver registers this callback function with the USB host controller extension (UCX) by calling the UcxUsbDeviceCreate method.

In the callback, the driver programs or deprograms the endpoints, as described in the ENDPOINTS_CONFIGURE structure.

This callback does not enable or disable the default endpoint. The default endpoint’s state is tied to the state of the device. The driver implements enable and disable operations in the EVT_UCX_USBDEVICE_DISABLE and EVT_UCX_USBDEVICE_ENABLE callback functions.

The client driver returns completion status in Request. The driver can complete the WDFREQUEST asynchronously.

Examples

VOID
UsbDevice_EvtUcxUsbDeviceEndpointsConfigure(
    UCXCONTROLLER      UcxController,
    WDFREQUEST         Request
)

{
    UNREFERENCED_PARAMETER(UcxController);

    DbgTrace(TL_INFO, UsbDevice, "UsbDevice_EvtUcxUsbDeviceEndpointsConfigure");

    WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
    WdfRequestGetParameters(WdfRequest, &wdfRequestParams);

    ...

    endpointsConfigure = (PENDPOINTS_CONFIGURE)wdfRequestParams.Parameters.Others.Arg1;

    ...

    WdfRequestComplete(Request, STATUS_SUCCESS);
}

Requirements

Requirement Value
Target Platform Windows
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header ucxusbdevice.h (include Ucxclass.h)
IRQL DISPATCH_LEVEL

See also

ENDPOINTS_CONFIGURE

UcxUsbDeviceCreate