在微筛选器驱动程序实例堆栈中传递 I/O 操作

当微筛选器驱动程序的 预操作回调例程 或工作例程将 I/O 操作返回到筛选器管理器时,筛选器管理器会将操作发送到微筛选器驱动程序实例堆栈中当前微筛选器驱动程序下方的微筛选器驱动程序,并将操作发送到旧筛选器和文件系统以供进一步处理。

微筛选器驱动程序的预操作回调例程通过返回以下状态值之一,将 I/O 操作返回到筛选器管理器,以便进一步处理:

  • ) FLT_PREOP_SUCCESS_NO_CALLBACK (所有操作类型

  • ) FLT_PREOP_SUCCESS_WITH_CALLBACK (所有操作类型

  • 仅FLT_PREOP_SYNCHRONIZE (基于 IRP 的 I/O 操作)

注意 虽然应仅针对基于 IRP 的 I/O 操作返回FLT_PREOP_SYNCHRONIZE,但对于其他操作类型,可以返回此状态值。 如果返回的 I/O 操作不是基于 IRP 的 I/O 操作,筛选器管理器会将此返回值视为FLT_PREOP_SUCCESS_WITH_CALLBACK。

或者,在调用 FltCompletePendedPreOperation 时,在操作前回调例程中插入的操作的工作例程,通过在 CallbackStatus 参数中传递上述状态值之一来向筛选器管理器返回 I/O 操作,以继续处理所挂起的 I/O 操作。

本节包括:

返回 FLT_PREOP_SUCCESS_WITH_CALLBACK

返回 FLT_PREOP_SUCCESS_NO_CALLBACK

返回 FLT_PREOP_SYNCHRONIZE