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