EVT_WDF_IO_QUEUE_IO_DEFAULT回调函数 (wdfio.h)

[适用于 KMDF 和 UMDF]

驱动程序的 EvtIoDefault 事件回调函数处理指定的 I/O 请求。

语法

EVT_WDF_IO_QUEUE_IO_DEFAULT EvtWdfIoQueueIoDefault;

void EvtWdfIoQueueIoDefault(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request
)
{...}

参数

[in] Queue

与 I/O 请求关联的框架队列对象的句柄。

[in] Request

框架请求对象的句柄。

返回值

备注

驱动程序在调用 WdfIoQueueCreate 时注册 EvtIoDefault 回调函数。 有关调用 WdfIoQueueCreate 的详细信息,请参阅 创建 I/O 队列

如果驱动程序已为设备的 I/O 队列注册了 EvtIoDefault 回调函数,则回调函数将从队列接收每个 I/O 请求,除非还注册了特定于请求的回调函数。 有关特定于请求的回调函数的详细信息,请参阅 请求处理程序

驱动程序的 EvtIoDefault 回调函数也可以接收文件创建请求。 有关接收文件创建请求的详细信息,请参阅 Framework 文件对象

EvtIoDefault 回调函数必须以某种方式处理每个收到的 I/O 请求。 有关详细信息,请参阅 处理 I/O 请求

大多数 I/O 操作都需要输入缓冲区和/或输出缓冲区。 有关驱动程序如何访问请求缓冲区的信息,请参阅 访问 Framework-Based 驱动程序中的数据缓冲区

可以在 IRQL <= DISPATCH_LEVEL调用此回调函数,除非设备或驱动程序的WDF_OBJECT_ATTRIBUTES结构的 ExecutionLevel 成员设置为 WdfExecutionLevelPassive

如果 IRQL PASSIVE_LEVEL,框架会在 关键区域内调用回调函数。

有关请求处理程序的 IRQL 级别的详细信息,请参阅 使用自动同步

驱动程序的 EvtIoDefault 回调函数不应调用以下队列对象方法:

WdfIoQueueDrainSynchronously
WdfIoQueuePurgeSynchronously
WdfIoQueueStopSynchronously

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfio.h (包括 Wdf.h)
IRQL <= DISPATCH_LEVEL (请参阅备注部分)

另请参阅

EvtIoDeviceControl

EvtIoInternalDeviceControl

EvtIoRead

EvtIoWrite

WDF_OBJECT_ATTRIBUTES

WdfIoQueueCreate