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.
Syntax
void WdfIoQueueStart(
[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.
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.
Examples
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);
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 | <= DISPATCH_LEVEL |
DDI compliance rules | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |