执行 I/O 操作的完成处理

当 I/O 操作由基础文件系统、旧筛选器或微筛选器驱动程序实例堆栈中处于较低高度的另一个微筛选器驱动程序完成时,将调用微筛选器驱动程序的 后操作回调例程

此外,当微筛选器驱动程序实例被拆掉时,筛选器管理器会“清空”实例已收到 操作前回调 并正在等待 操作后回调的任何 I/O 操作。 在这种情况下,即使 I/O 操作尚未完成,筛选器管理器也会调用微筛选器驱动程序的操作后回调例程,并在 Flags 输入参数中设置FLTFL_POST_OPERATION_DRAINING标志。

设置FLTFL_POST_OPERATION_DRAINING标志后,微筛选器驱动程序不得执行正常的完成处理。 相反,它应仅执行必要的清理,例如释放微筛选器驱动程序在其操作前回调例程中为 CompletionContext 参数分配的内存,并返回FLT_POSTOP_FINISHED_PROCESSING。

本部分包括以下主题:

确保在安全 IRQL 下执行完成处理