共用方式為


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作系統。
目標平臺 普遍
標頭 fltkernel.h (包括 FltKernel.h)
連結庫 FltMgr.lib
IRQL <= APC_LEVEL

另請參閱

FLT_CALLBACK_DATA

FltAllocateCallbackData