PFLT_COMPLETED_ASYNC_IO_CALLBACK回调函数 (fltkernel.h)

启动异步 I/O 操作的微筛选器驱动程序可以指定要在操作完成时调用PFLT_COMPLETED_ASYNC_IO_CALLBACK例程类型的例程。

语法

PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;

void PfltCompletedAsyncIoCallback(
  [in] PFLT_CALLBACK_DATA CallbackData,
  [in] PFLT_CONTEXT Context
)
{...}

参数

[in] CallbackData

指向 I/O 操作的回调数据结构的指针。

[in] Context

微筛选器驱动程序作为参数传递给 FltPerformAsynchronousIoFltReadFileFltWriteFile 的上下文指针。

返回值

备注

当微筛选器驱动程序调用 FltPerformAsynchronousIoFltReadFileFltWriteFile 来启动异步 I/O 操作时,微筛选器驱动程序可以选择性地指定要在 I/O 操作完成时调用的回调例程。 为此,为 CallbackRoutine 参数指定类型为 PFLT_COMPLETED_ASYNC_IO_CALLBACK 的例程。

I/O 操作完成后,会在任意线程上下文中调用此回调例程,其位置为 IRQL <= DISPATCH_LEVEL。

由于可以在 IRQL DISPATCH_LEVEL调用PFLT_COMPLETED_ASYNC_IO_CALLBACK例程,因此受以下约束:

  • 它无法安全地调用任何需要较低 IRQL 的内核模式例程。
  • 此例程中使用的任何数据结构都必须从非分页池中分配。
  • 无法将其设为可分页。
  • 它无法获取资源、互斥体或快速互斥。 但是,它可以获取旋转锁。

要求

要求
目标平台 桌面
标头 fltkernel.h (包括 Fltkernel.h)
IRQL 请参见“备注”部分。

另请参阅

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile

FltWriteFile