IWDFIoQueue::Drain method (wudfddi.h)

[Warning: UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2. For more info, see Getting Started with UMDF.]

The Drain method directs the queue to reject new incoming I/O requests and allow already-queued requests to be delivered to the driver for processing.

Syntax

void Drain(
  [in, optional] IQueueCallbackStateChange *pDrainComplete
);

Parameters

[in, optional] pDrainComplete

A pointer to the IQueueCallbackStateChange interface whose method the framework calls to deliver queue state to the driver. The framework calls the method after all requests are completed or canceled and the queue is empty. This parameter is optional and can be NULL.

Return value

None

Remarks

A driver should ensure that only one of the following methods is in progress at any given time:

For example, if the driver previously called Drain, it should wait for notification from the method of the interface that the pDrainComplete parameter points to before the driver calls either Stop or Purge. Violating this rule results in termination of the host process.

Requirements

Requirement Value
End of support Unavailable in UMDF 2.0 and later.
Target Platform Desktop
Minimum UMDF version 1.5
Header wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

See also

IQueueCallbackStateChange

IWDFIoQueue

IWDFIoQueue::Purge

IWDFIoQueue::Stop