The WdfIoQueueStop method prevents an I/O queue from delivering I/O requests, but the queue receives and stores new requests.
VOID WdfIoQueueStop( [in] WDFQUEUE Queue, PFN_WDF_IO_QUEUE_STATE StopComplete, WDFCONTEXT Context );
- Queue [in]
A handle to a framework queue object.
A pointer to a driver-supplied EvtIoQueueState callback function. This parameter is optional and can be NULL.
An untyped pointer to driver-supplied context information that the framework passes to the EvtIoQueueState callback function. This parameter is optional and can be NULL.
A bug check occurs if the driver supplies an invalid object handle.
If the driver supplies an EvtIoQueueState callback function, the framework calls it after all requests that were delivered to the driver have been completed or canceled.
The WdfIoQueueStop method enables the queue to receive new requests, even if the queue was not receiving new requests before the driver called WdfIoQueueStop. 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 WdfIoQueueStop causes the framework to resume adding requests to the queue.
For more information about the WdfIoQueueStop method, see Managing I/O Queues.
The following code example stops a specified I/O queue. After the framework has stopped the queue, it calls a driver's EvtIoQueueStateStop function.
WDFCONTEXT stopContext; stopContext = &myContext; WdfIoQueueStop( queue, EvtIoQueueStateStop, stopContext );
|Available in version 1.0 and later versions of KMDF.|
|Wdf<MajorVersionNumber>000.sys (see Framework Library Versions.)|