WdfIoQueueStart function (wdfio.h)
[Applies to KMDF and UMDF]
The WdfIoQueueStart method enables an I/O queue to start receiving and delivering new I/O requests.
void WdfIoQueueStart(
[in] WDFQUEUE Queue
);
[in] Queue
A handle to a framework queue object.
None
A bug check occurs if the driver supplies an invalid object handle.
If I/O requests are in the I/O queue when the driver calls WdfIoQueueStart, the same thread that calls WdfIoQueueStart can call the driver's request handlers before WdfIoQueueStart returns. Therefore, when the driver calls WdfIoQueueStart, it must not hold any locks that the request handlers attempt to acquire. Otherwise, a deadlock can result.
For more information about the WdfIoQueueStart method, see Managing I/O Queues.
The following code example purges a specified I/O queue and then restarts the queue.
WdfIoQueuePurge(
ReadQueue,
WDF_NO_EVENT_CALLBACK,
WDF_NO_CONTEXT
);
WdfIoQueueStart(ReadQueue);
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 | <= DISPATCH_LEVEL |
DDI compliance rules | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |