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 |