FsRtlRegisterFileSystemFilterCallbacks 函数 (ntifs.h)
文件系统筛选器驱动程序和文件系统调用 FsRtlRegisterFileSystemFilterCallbacks 例程,以注册在基础文件系统执行某些操作时要调用的通知回调例程。
语法
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 | 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 注册在 Callbacks 参数中指定的通知回调例程,这些例程将在对某些文件操作的请求发送到基础文件系统时调用。
文件系统调用 FsRtlRegisterFileSystemFilterCallbacks 来设置 FS_FILTER_CALLBACKS 结构的 PreAcquireForSectionSynchronization 回调成员,而不是使用过时的 AcquireFileForNtCreateSection。
FsRtlRegisterFileSystemFilterCallbacks 注册的回调例程取代了以下快速 I/O 回调例程,这些例程已过时,不应由文件系统筛选器驱动程序使用:
- AcquireForCcFlush
- AcquireFileForNtCreateSection
- AcquireForModWrite
- ReleaseForCcFlush
- ReleaseFileForNtCreateSection
- ReleaseForModWrite
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP |
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将推出:在整个 2024 年,我们将逐步取消以“GitHub 问题”作为内容的反馈机制,并将其替换为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈