EVT_UCX_ROOTHUB_INTERRUPT_TX callback function (ucxroothub.h)

The client driver's implementation that UCX calls when it receives a request for information about changed ports.

Syntax

EVT_UCX_ROOTHUB_INTERRUPT_TX EvtUcxRoothubInterruptTx;

void EvtUcxRoothubInterruptTx(
  [in] UCXROOTHUB UcxRootHub,
  [in] WDFREQUEST Request
)
{...}

Parameters

[in] UcxRootHub

A handle to a UCX object that represents the root hub.

[in] Request

Contains the URB for the root hub interrupt transfer request.

Return value

None

Remarks

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

The Request parameter contains a buffer in which each bit corresponds to a root hub port, with the first bit corresponding to the first port. The client driver sets the corresponding bit if any port has changed, and then completes the request.

The client driver returns completion status in Request.

Examples

This snippet shows how the callback extracts the root hub interrupt transfer request.

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

        urb = (PURB)wdfRequestParams.Parameters.Others.Arg1;
        transferBuffer = urb->UrbBulkOrInterruptTransfer.TransferBuffer;
        transferBufferLength = urb->UrbBulkOrInterruptTransfer.TransferBufferLength;

Requirements

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