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 | 請參閱一節。 |