WDF_IO_QUEUE_CONFIG_INIT function (wdfio.h)

[Applies to KMDF and UMDF]

The WDF_IO_QUEUE_CONFIG_INIT function initializes a driver's WDF_IO_QUEUE_CONFIG structure.

Syntax

void WDF_IO_QUEUE_CONFIG_INIT(
  [out] PWDF_IO_QUEUE_CONFIG       Config,
  [in]  WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
);

Parameters

[out] Config

A pointer to the driver's WDF_IO_QUEUE_CONFIG structure.

[in] DispatchType

A WDF_IO_QUEUE_DISPATCH_TYPE enumerator that identifies the request dispatching type for the queue.

Return value

None

Remarks

Drivers should call WDF_IO_QUEUE_CONFIG_INIT when creating a power-managed I/O queue that is not a device's default queue. The WDF_IO_QUEUE_CONFIG_INIT function zeros the specified WDF_IO_QUEUE_CONFIG structure and sets its Size member. It also sets the PowerManaged member to WdfUseDefault and stores the specified dispatching type in the DispatchType member.

Starting in KMDF version 1.9, if DispatchType is set to WdfIoQueueDispatchParallel, WDF_IO_QUEUE_CONFIG_INIT sets the structure's NumberOfPresentedRequests member to -1. This value indicates that the framework can deliver an unlimited number of I/O requests to the driver.

Examples

The following code example initializes WDF_IO_QUEUE_CONFIG structure and then calls WdfIoQueueCreate.

WDF_IO_QUEUE_CONFIG  queueConfig;
NTSTATUS  status = STATUS_SUCCESS;
WDFQUEUE  readQueue;

WDF_IO_QUEUE_CONFIG_INIT(
                         &queueConfig,
                         WdfIoQueueDispatchManual
                         );
status = WdfIoQueueCreate(
                          hDevice,
                          &queueConfig,
                          WDF_NO_OBJECT_ATTRIBUTES,
                          &readQueue
                          );

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfio.h (include Wdf.h)

See also

WDF_IO_QUEUE_CONFIG

WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE

WDF_IO_QUEUE_DISPATCH_TYPE

WdfIoQueueCreate