共用方式為


FltReuseCallbackData 函式 (fltkernel.h)

FltReuseCallbackData 例程會重新初始化回呼數據結構,以便重複使用。

語法

VOID FLTAPI FltReuseCallbackData(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

參數

[in, out] CallbackData

回呼數據的指標 (FLT_CALLBACK_DATA 要重複使用) 結構。 此結構必須由先前呼叫 FltAllocateCallbackData 所配置。 這個參數是必要的,而且不能是 NULL

傳回值

備註

FltReuseCallbackData 會重新初始化回呼數據, (FLT_CALLBACK_DATA) 結構,以便在新的 I/O 作業中使用。 FltReuseCallbackData 不會變更回呼數據結構 I/O 參數區塊的 TargetInstance 字段或 TargetFileObject 字段。

FltReuseCallbackData 例程會釋放與所提供 CallbackData 對象相關聯的任何 MDL 鏈結。 在呼叫該物件的 FltReuseCallbackData 之後,與FLT_CALLBACK_DATA對象相關聯的 MDL 鏈結指標將會無效。

使用 FltReuseCallbackData 重複使用回呼數據結構,比釋放結構並配置新結構更快。

迷你篩選驅動程式應該只在迷你篩選驅動程式先前使用 FltAllocateCallbackData 的回呼數據結構上使用 FltReuseCallbackData,並在呼叫 FltPerformSynchronousIoFltPerformAsynchronousIo 時使用。

如果回呼數據結構用於異步 I/O,迷你篩選驅動程式就不應該呼叫 FltReuseCallbackData,直到呼叫 FltPerformAsynchronousIo 中指定的 CallbackRoutine 為止。

特別是,迷你篩選驅動程式不應該將此例程用於迷你篩選驅動程式本身未配置的任何回呼數據結構。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo