1

我必须编写一个功能来防止用户在 Windows XP 的桌面上创建文件(快捷方式文件 (*.lnk) 和目录除外)。经过一些研究,我得出结论,这可以使用文件系统过滤器驱动程序或微型驱动程序来完成。更改 NTFS 权限不起作用,因为无法加载/保存漫游配置文件。

我查看了 DDK 示例。例如取消安全。他们正在取消 I/O,但这不是我想要的。我见过防病毒程序阻止了对受感染文件的访问,并且操作系统返回错误代码 5:访问被拒绝。

我想要完全相同的行为。那么如何在过滤器驱动程序中实现这一点?

4

1 回答 1

4
  1. 您需要编写微过滤器驱动程序并附加到桌面文件夹所在的适当卷。
  2. 在微过滤器中,过滤 IRP_MJ_CREATE
  3. 在 IRP 的 PreOperation 回调中,检查文件路径,如果其在桌面文件夹路径下的 IRP 失败并且不要将其进一步向下传递到堆栈。
  4. IRP 可以通过在操作前回调中完成并设置适当的状态来失败,在IoStatus.Status. 有关在操作前回调例程中完成 I/O 操作的更多信息
于 2013-06-06T09:07:26.973 回答