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)

See also

WdfIoQueuePurge

WdfIoQueueStop