[适用于 KMDF 和 UMDF]
WDF_IO_QUEUE_CONFIG_INIT 函数初始化驱动程序的 WDF_IO_QUEUE_CONFIG 结构。
语法
void WDF_IO_QUEUE_CONFIG_INIT(
[out] PWDF_IO_QUEUE_CONFIG Config,
[in] WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
);
参数
[out] Config
指向驱动程序 WDF_IO_QUEUE_CONFIG 结构的指针。
[in] DispatchType
一个 WDF_IO_QUEUE_DISPATCH_TYPE 枚举器,用于标识队列的请求调度类型。
返回值
没有
注解
在创建不是设备默认队列的电源托管 I/O 队列时,驱动程序应调用 WDF_IO_QUEUE_CONFIG_INIT。 WDF_IO_QUEUE_CONFIG_INIT 函数将指定 WDF_IO_QUEUE_CONFIG 结构归零,并设置其 Size 成员。 它还将 PowerManaged 成员设置为 WdfUseDefault,并将指定的调度类型存储在 DispatchType 成员中。
从 KMDF 版本 1.9 开始,如果 DispatchType 设置为 WdfIoQueueDispatchParallel,WDF_IO_QUEUE_CONFIG_INIT 将结构的 NumberOfPresentedRequests 成员设置为 -1。 此值指示框架可以向驱动程序传递无限数量的 I/O 请求。
例子
下面的代码示例初始化 WDF_IO_QUEUE_CONFIG 结构,然后调用 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
);
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfio.h (包括 Wdf.h) |