【问题标题】:Windows Filter Driver and Filter ManagerWindows 筛选器驱动程序和筛选器管理器
【发布时间】:2018-12-13 12:06:59
【问题描述】:

我是 Windows 过滤器驱动程序的新手。从(MSDN)的示例代码中我看到的是,文件系统过滤器驱动程序具有与之关联的过滤器管理器,而进程过滤器驱动程序没有与之关联的过滤器管理器。那么为什么会有这种差异呢? 所以需要一些建议和帮助。

【问题讨论】:

    标签: windows filter driver


    【解决方案1】:

    看来您可能想阅读 Alex Ionescu 撰写的 Windows Internals,这将为您清除问题,从底部开始,并帮助您理解整个事情。

    基本上,在过去,文件系统过滤器驱动程序的构建方式是它会位于确切的文件系统设备堆栈中的正确位置,例如 NTFS。这样它就有机会过滤 IRP。

    现在,您提到的过滤器管理器 (FLTMGR) 在设备堆栈的顶部和底部都有自己的(旧版)驱动程序,它允许您注册一个回调函数,每次 IRP 被捕获时,你将有机会处理它。

    进程(创建/删除)过滤有点不同,它不是使用 IRP 处理的,基本上在内核端的 NtCreateUserProcess 的调用流程中,有一个函数负责调用为这种回调注册的任何函数。

    我希望它为你清除了一切。

    【讨论】:

    • 感谢 Herzel 的建议,对我帮助很大。
    猜你喜欢
    • 2017-06-21
    • 2017-10-05
    • 2021-04-09
    • 2011-07-18
    • 2013-08-17
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    相关资源
    最近更新 更多