FltCompletePendedPreOperation 函式 (fltkernel.h)

FltCompletePendedPreOperation 會繼續處理在迷你篩選驅動程式的預先操作回呼 (PFLT_PRE_OPERATION_CALLBACK) 例 程中的 I/O 作業。

語法

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

參數

CallbackData

回呼數據的指標 (FLT_CALLBACK_DATA I/O 作業) 結構。 這個參數是必要的,而且不能是 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 ,以將作業傳回至篩選管理員,然後繼續以 Minifilter 驅動程式所指定的 CallbackStatus 指示處理。

如果 CallbackStatus 參數FLT_PREOP_COMPLETE,可以在 IRQL <= DISPATCH_LEVEL呼叫 FltCompletePendedPreOperation。 否則, FltCompletePendedPreOperation 的呼叫端必須在 IRQL <= APC_LEVEL執行。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
IRQL 請參閱一節。

另請參閱

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK