【发布时间】:2010-05-17 14:21:24
【问题描述】:
我需要:
1. 监控某些驱动器/路径上的操作
2. 防止对某些驱动器/路径进行读取和/或写入操作
例如:
C://Users
D:
这可以使用Windows Filesystem Minifilter Drivers 完成吗?
我最感兴趣的是第 2 步。换句话说,微过滤器可以取消 IRP 吗?
【问题讨论】:
标签: winapi filesystems driver minifilter
我需要:
1. 监控某些驱动器/路径上的操作
2. 防止对某些驱动器/路径进行读取和/或写入操作
例如:
C://Users
D:
这可以使用Windows Filesystem Minifilter Drivers 完成吗?
我最感兴趣的是第 2 步。换句话说,微过滤器可以取消 IRP 吗?
【问题讨论】:
标签: winapi filesystems driver minifilter
是的,这一切都可以通过文件系统微型过滤器驱动程序来实现。
对于 #1,您不需要迷你过滤器驱动程序,您可以使用 Win32 API,如 ReadDirectoryChangesW。
对于#2,您不仅可以这样做,还可以修改读取/写入的内容,即使大小不同。
你可以get started here。
【讨论】:
长期从事 Windows 开发的 Raymond Chen 在他的博客上解决了这个问题的一个版本 - 他建议使用 ACL 来阻止操作,而不是尝试让代码运行来阻止它。有关一些想法,请参阅his post...
【讨论】:
我建议使用Detours library 来处理这个任务。
【讨论】: