阻止文件创build

我必须写一个function,防止用户在桌面上创build文件(除了快捷方式文件(* .lnk)和目录)的Windows XP。 经过一番研究,我得出了这样的结论,即可以使用文件系统filter驱动程序或minidriver来完成。 漫游configuration文件无法加载/保存,更改NTFS权限不起作用。

我看了一下DDK的样本。 例如cancelSafe。 他们取消了I / O,但这不是我想要的。 我见过防病毒程序阻止访问受感染的文件和操作系统返回错误代码5:访问被拒绝。

我想要完全一样的行为。 那么我怎样才能实现这个filter驱动程序?

  1. 您需要编写微型过滤器驱动程序并将其附加到存在桌面文件夹的适当卷上。
  2. 在微过滤器中,过滤IRP_MJ_CREATE
  3. 在IRP的PreOperation回调中,检查文件路径,如果在桌面文件夹路径下IRP失败,不要将其传递到堆栈下方。
  4. IoStatus.Status ,通过在术前回调中完成IRP并设置适当的状态,IRP可能会失败。 更多信息在完成预操作回调例程中的I / O操作