WdfIoQueueStopSynchronously function (wdfio.h)

[Applies to KMDF and UMDF]

The WdfIoQueueStopSynchronously method prevents an I/O queue from delivering I/O requests, but the queue receives and stores new requests. The method returns after all delivered requests have been canceled or completed.

Syntax

void WdfIoQueueStopSynchronously(
  [in] WDFQUEUE Queue
);

Parameters

[in] Queue

A handle to a framework queue object.

Return value

None

Remarks

A bug check occurs if the driver supplies an invalid object handle.

The WdfIoQueueStopSynchronously method enables the queue to receive new requests, even if the queue was not receiving new requests before the driver called WdfIoQueueStopSynchronously. For example, a driver might call WdfIoQueueDrain, which causes the framework to stop adding new I/O requests to the queue. The driver's subsequent call of WdfIoQueueStopSynchronously causes the framework to resume adding requests to the queue.

Do not call WdfIoQueueStopSynchronously from the following queue object event callback functions, regardless of the queue with which the event callback function is associated:

EvtIoDefault EvtIoDeviceControl EvtIoInternalDeviceControl EvtIoRead EvtIoWrite For more information about the WdfIoQueueStopSynchronously method, see Managing I/O Queues.

Examples

The following code example stops a specified queue.

WdfIoQueueStopSynchronously(WriteQueue);

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfio.h (include Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI compliance rules ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf)

See also

WdfIoQueueStart

WdfIoQueueStop