WDF_IO_TARGET_SENT_IO_ACTION enumeration (wdfiotarget.h)

[Applies to KMDF and UMDF]

The WDF_IO_TARGET_SENT_IO_ACTION enumeration identifies the actions that the framework can take when a driver calls WdfIoTargetStop to stop an I/O target.

Syntax

typedef enum _WDF_IO_TARGET_SENT_IO_ACTION {
  WdfIoTargetSentIoUndefined = 0,
  WdfIoTargetCancelSentIo,
  WdfIoTargetWaitForSentIoToComplete,
  WdfIoTargetLeaveSentIoPending
} WDF_IO_TARGET_SENT_IO_ACTION;

Constants

 
WdfIoTargetSentIoUndefined
Value: 0
Reserved for system use.
WdfIoTargetCancelSentIo
Before the framework stops the I/O target, it will attempt to cancel I/O requests that are in the I/O target's queue. The framework cancels all of the target queue's I/O requests, and waits for all I/O requests to complete, before WdfIoTargetStop returns. The framework also attempts to cancel I/O requests that have left the I/O target's queue and entered lower drivers.
WdfIoTargetWaitForSentIoToComplete
Before the framework stops the I/O target, it will wait for I/O requests that are in the I/O target's queue to be completed. The framework completes all of the target queue's I/O requests, and calls each request's CompletionRoutine callback function, before WdfIoTargetStop returns.
WdfIoTargetLeaveSentIoPending
The framework will leave I/O requests in the I/O target's queue. The requests remain in the target's queue until the driver calls WdfIoTargetStart or the device is removed.

Remarks

The WDF_IO_TARGET_SENT_IO_ACTION enumeration is used as an input parameter to the WdfIoTargetStop method.

If your driver specifies the WdfIoTargetWaitForSentIoToComplete flag, the driver must not call WdfIoTargetStop from a request handler, a CompletionRoutine callback function, or an EvtUsbTargetPipeReadersFailed callback function.

For the UMDF version of this enumeration, see WDF_IO_TARGET_SENT_IO_ACTION (UMDF).

Requirements

Requirement Value
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfiotarget.h (include Wdf.h)

See also

CompletionRoutine

WdfIoTargetStop