共用方式為


FltCompletePendedPreOperation 函式 (fltkernel.h)

FltCompletePendedPreOperation 繼續處理 I/O 作業,該作業是在小型篩選驅動程式的預先作回呼 (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,以將作業傳回至篩選管理員,然後繼續處理由minifilter驅動程式所指定的 CallbackStatus 指示。

如果 CallbackStatus 參數是FLT_PREOP_COMPLETE ,則可以在 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