FltCompletePendedPreOperation 函数 (fltkernel.h)

FltCompletePendedPreOperation 恢复处理,该作在微型筛选器驱动程序的预作回调(PFLT_PRE_OPERATION_CALLBACK)例程中插入。

语法

VOID FLTAPI FltCompletePendedPreOperation(
                 PFLT_CALLBACK_DATA        CallbackData,
  [in]           FLT_PREOP_CALLBACK_STATUS CallbackStatus,
  [in, optional] PVOID                     Context
);

参数

CallbackData

指向 I/O作的回调数据(FLT_CALLBACK_DATA)结构的指针。 此参数是必需的,不能为 NULL。

[in] CallbackStatus

微型筛选器驱动程序为此 I/O作返回的状态值。 不能FLT_PREOP_PENDING、FLT_PREOP_SYNCHRONIZE或FLT_PREOP_DISALLOW_FASTIO。 必须是以下FLT_PREOP_CALLBACK_STATUS值之一。 有关这些值效果的详细信息,请参阅 PFLT_PRE_OPERATION_CALLBACK参考条目的“备注”部分。

价值 意义
FLT_PREOP_COMPLETE 微型筛选器驱动程序正在完成 I/O作。 筛选器管理器不会将 I/O作发送到调用方或文件系统下的任何微型筛选器驱动程序。 筛选器管理器仅调用调用调用方上方微型筛选器驱动程序的后作回调(PFLT_POST_OPERATION_CALLBACK)例程。
FLT_PREOP_SUCCESS_NO_CALLBACK 微型筛选器驱动程序将 I/O作的控制返回到筛选器管理器。 筛选器管理器在 I/O 完成期间不调用相应的作后回调(如果存在)。
FLT_PREOP_SUCCESS_WITH_CALLBACK 微型筛选器驱动程序将 I/O作的控制返回到筛选器管理器。 筛选器管理器在 I/O 完成期间调用相应的作回调。

[in, optional] Context

如果为 CallbackStatus指定了FLT_PREOP_SUCCESS_WITH_CALLBACK,则此参数是一个可选上下文指针,用于传递给相应的作后回调例程。 如果为 CallbackStatus指定了FLT_PREOP_COMPLETE或FLT_PREOP_SUCCESS_NO_CALLBACK,则此参数必须为 NULL。

返回值

没有

言论

当微型筛选器驱动程序的预作回调(PFLT_PRE_OPERATION_CALLBACK)例程将 I/O作发布到工作队列并返回FLT_PREOP_PENDING时,筛选器管理器将停止处理该作。 当作最终取消排队并处理时,微型筛选器驱动程序必须调用 FltCompletePendedPreOperation,以便将作返回到筛选器管理器,然后恢复由微型筛选器驱动程序指定的 CallbackStatus 指示的处理。

如果 FLT_PREOP_COMPLETE CallbackStatus 参数,则可以在 IRQL <= DISPATCH_LEVEL 调用 FltCompletePendedPreOperation。 否则,FltCompletePendedPreOperation 的调用方必须在 IRQL <= APC_LEVEL 上运行。

要求

要求 价值
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
IRQL 请参阅“备注”部分。

另请参阅

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK