EVT_UCX_USBDEVICE_UPDATE callback function (ucxusbdevice.h)

The client driver's implementation that UCX calls to update device properties.

Syntax

EVT_UCX_USBDEVICE_UPDATE EvtUcxUsbdeviceUpdate;

void EvtUcxUsbdeviceUpdate(
  [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 the USBDEVICE_UPDATE 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.

The host controller driver communicates with the hardware to update descriptors, LPM parameters, whether device is a hub, and maximum exit latency, as needed.

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

Examples

VOID
UsbDevice_EvtUcxUsbDeviceUpdate(
    UCXCONTROLLER      UcxController,
    WDFREQUEST         Request
)

{
    UNREFERENCED_PARAMETER(UcxController);

    DbgTrace(TL_INFO, UsbDevice, "UsbDevice_EvtUcxUsbDeviceUpdate");

    WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
    WdfRequestGetParameters(WdfRequest, &wdfRequestParams);
    usbDeviceUpdate = (PUSBDEVICE_UPDATE)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

UCX_USBDEVICE_EVENT_CALLBACKS_INIT

USBDEVICE_UPDATE

UcxUsbDeviceCreate

UcxUsbDeviceInitSetEventCallbacks