文件系統篩選驅動程式和文件系統會呼叫 FsRtlRegisterFileSystemFileSystemFilterCallbacks 例程,以註冊基礎文件系統執行特定作業時要叫用的通知回呼例程。
語法
NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
[in] _DRIVER_OBJECT *FilterDriverObject,
[in] PFS_FILTER_CALLBACKS Callbacks
);
參數
[in] FilterDriverObject
篩選或檔案系統驅動程式之驅動程式物件的指標。
[in] Callbacks
FS_FILTER_CALLBACKS 結構的指標,其中包含呼叫端提供的通知回呼例程的進入點。 所有回呼進入點都是選擇性的,而且可以設定為 NULL。
傳回值
FsRtlRegisterFileSystemFilterCallbacks 例程可以傳回下列其中一個狀態值:
傳回碼 | 描述 |
---|---|
STATUS_SUCCESS | 已成功註冊回呼例程。 |
STATUS_INSUFFICIENT_RESOURCES | FsRtlRegisterFileSystemFileSystemFilterCallbacks 配置記憶體以儲存回呼資訊時發生集區配置失敗。 |
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY | FsRtlRegisterFileSystemFilterCallbacks 成功完成 FsFilter 作業。 |
STATUS_FILE_LOCKED_WITH_ONLY_READERS | 檔案已鎖定,且檔案的所有使用者只能讀取。 |
STATUS_FILE_LOCKED_WITH_WRITERS | 檔案已鎖定,且至少一位檔案使用者可以寫入 |
STATUS_INVALID_PARAMETER | 其中一個參數無效。 |
言論
文件系統和文件系統篩選驅動程式應該從驅動程式 DriverEntry 例程呼叫 FsRtlRegisterFileSystemFileSystemFilterCallbacks。
FsRtlRegisterFileSystemFileSystemFilterCallbacks 註冊 回呼 參數中指定的通知回呼例程,以在傳送特定檔案作業的要求傳送至基礎文件系統時叫用。
檔案系統呼叫 FsRtlRegisterFileSystemFilterCallbacks 來設定 PreAcquireForSectionSynchronizationFS_FILTER_CALLBACKS 結構的回呼成員,而不是使用過時的 AcquireFileForNtCreateSection。
FsRtlRegisterFileSystemFilterCallbacks 所註冊的回呼例程, 取代下列快速 I/O 回呼例程,這些例程已經過時且不應該由文件系統篩選驅動程式使用:
- AcquireForCcFlush
- AcquireFileForNtCreateSection
- AcquireForModWrite
- ReleaseForCcFlush
- ReleaseFileForNtCreateSection
- ReleaseForModWrite
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP |
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |