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
微筛选器驱动程序作为参数传递给 FltPerformAsynchronousIo、 FltReadFile 或 FltWriteFile 的上下文指针。
返回值
无
备注
当微筛选器驱动程序调用 FltPerformAsynchronousIo、 FltReadFile 或 FltWriteFile 来启动异步 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 | 请参见“备注”部分。 |