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 |