FltAllocateCallbackData 函式 (fltkernel.h)
FltAllocateCallbackData 會配置迷你篩選驅動程式可用來起始 I/O 要求的回呼數據結構。
語法
NTSTATUS FLTAPI FltAllocateCallbackData(
[in] PFLT_INSTANCE Instance,
[in, optional] PFILE_OBJECT FileObject,
[out] PFLT_CALLBACK_DATA *RetNewCallbackData
);
參數
[in] Instance
起始 I/O 作業之迷你篩選驅動程序實例的不透明實例指標。 這個參數是必要的,而且不能是 NULL。
[in, optional] FileObject
要用於 I/O 作業的檔案物件指標。 此參數是選擇性的,可以是 NULL。
[out] RetNewCallbackData
呼叫端配置的變數指標,該變數會接收新配置的回呼數據位址, (FLT_CALLBACK_DATA) 結構。
傳回值
FltAllocateCallbackData 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:
傳回碼 | Description |
---|---|
|
FltAllocateCallbackData 嘗試配置回呼數據結構時發生集區配置失敗。 這是錯誤碼。 |
備註
迷你篩選驅動程式可以呼叫 FltAllocateCallbackData ,為迷你篩選驅動程式起始的 I/O 作業配置回呼數據 (FLT_CALLBACK_DATA) 結構。
初始化 FltAllocateCallbackData 傳回的回呼數據結構參數之後,呼叫端會藉由將結構傳遞至 FltPerformSynchronousIo 或 FltPerformAsynchronousIo 來起始 I/O 作業。 這些例程只會將 I/O 作業傳送至附加在 實例參數) 和文件系統中所指定起始實例下方的迷你篩選驅動程式 (實例。 附加在指定實例上方的迷你篩選驅動程式不會收到I/O 作業。
迷你篩選驅動程式只能起始 IRP 型 I/O 作業。 它們無法起始快速 I/O 或文件系統篩選 (FSFilter) 回呼作業。
Minifilter 驅動程式應該只針對無法使用下列例程的 I/O 作業使用 FltAllocateCallbackData、 FltPerformAsynchronousIo 和 FltPerformSynchronousIo :
不再需要 FltAllocateCallbackData 所配置的回呼數據結構時,呼叫端會負責呼叫 FltFreeCallbackData 來釋放它。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
IRQL | <= APC_LEVEL |