EVT_UDECX_USB_ENDPOINT_PURGE callback function (udecxusbendpoint.h)

The USB device emulation class extension (UdeCx) invokes this callback function to stop queuing I/O requests to the endpoint's queue and cancel unprocessed requests.

Syntax

EVT_UDECX_USB_ENDPOINT_PURGE EvtUdecxUsbEndpointPurge;

void EvtUdecxUsbEndpointPurge(
  [in] UDECXUSBENDPOINT UdecxUsbEndpoint
)
{...}

Parameters

[in] UdecxUsbEndpoint

A handle to a UDE endpoint object that represents the endpoint for which I/O requests must be canceled. The client driver retrieved this pointer in the previous call to UdecxUsbEndpointCreate.

Return value

None

Remarks

The client driver registered this callback function in a previous call to UdecxUsbEndpointInitSetCallbacks by supplying a function pointer to its implementation.

In the implementation, the client driver is required to ensure all I/O forwarded from the endpoint’s queue has been completed, and that newly forwarded I/O request fail, until UdeCx invokes EVT_UDECX_USB_ENDPOINT_START. Typically, those tasks are achieved by calling WdfIoQueuePurge. This call is asynchronous and the client river must call UdecxUsbEndpointPurgeComplete.

Requirements

Requirement Value
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Target Platform Windows
Minimum KMDF version 1.15
Header udecxusbendpoint.h (include Udecx.h)
IRQL <=DISPATCH_LEVEL

See also

Architecture: USB Device Emulation (UDE)

Managing I/O Queues

Write a UDE client driver