FltAllocateCallbackDataEx 函式 (fltkernel.h)

FltAllocateCallbackDataEx 例程會配置回呼數據結構,並可針對迷你篩選驅動程式可用來起始 I/O 要求的其他結構預先配置記憶體。

語法

NTSTATUS FLTAPI FltAllocateCallbackDataEx(
  [in]          PFLT_INSTANCE                    Instance,
  [in/optional] PFILE_OBJECT                     FileObject,
  [in]          FLT_ALLOCATE_CALLBACK_DATA_FLAGS Flags,
  [out]         PFLT_CALLBACK_DATA               *RetNewCallbackData
);

參數

[in] Instance

起始 I/O 作業之迷你篩選驅動程序實例的不透明實例指標。 這個參數是必要的,而且不能是 NULL

[in/optional] FileObject

要用於 I/O 作業之檔案物件的指標。 這個參數是選擇性的,而且可以是 NULL。 如果這是 CREATE 作業,請將 FileObject 設定為 NULL

[in] Flags

值為零或下列旗標:FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY

如果設定此旗標,例程會預先配置篩選管理員所需的所有記憶體,以便用於 I/O 要求中的其他結構。

[out] RetNewCallbackData

呼叫端配置的變數指標,該變數會接收新配置的回呼數據 位址FLT_CALLBACK_DATA 結構。

傳回值

FltAllocateCallbackDataEx 例程會在成功時傳回STATUS_SUCCESS,如果例程嘗試配置回呼數據結構時發生集區配置失敗,或設定FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY旗標,而且無法配置額外的記憶體,則傳回STATUS_INSUFFICIENT_RESOURCES。

備註

如果已設定FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY旗標,例程會配置其他篩選管理員結構在後續 I/O 要求中使用的所有記憶體。 使用此旗標可讓迷你篩選預先配置一或多個回呼數據結構,以用於在低記憶體狀況下發出 I/O 要求,或在從記憶體配置失敗復原可能很複雜的情況下。

注意

額外的配置記憶體可供篩選管理員使用。 由於記憶體不足的狀況,檔系統或其他篩選條件仍會失敗 I/O 要求。

重要

FltAllocateCallbackData 的批注也適用於 FltAllocateCallbackDataEx。 請檢閱該資訊,以為您的設計選取正確的例程。

規格需求

需求
最低支援的用戶端 適用於 Windows 7 和更新版本的 Windows 作業系統。
目標平台 Universal
標頭 fltkernel.h (包含 FltKernel.h)
程式庫 FltMgr.lib
IRQL <= APC_LEVEL

另請參閱

FLT_CALLBACK_DATA

FltAllocateCallbackData