Windows文件系统过滤驱动程序

时间:2012-08-15 05:00:54

标签: c windows driver wdk etw

我正在尝试创建一个小型文件系统过滤器驱动程序,用于测试/演示如何使用Windows Server 2008 R2中的ETW跟踪过滤器驱动程序对I / O性能的影响。我已经下载了DDK并构建了一些示例,但是我在尝试过滤特定的磁盘设备或特定的文件扩展名时遇到了问题,其中任何一个都适用于我正在尝试的任务。我想要做的是将过滤器驱动程序隔离到特定的磁盘/卷,或者与具有特定扩展名的文件隔离,以显示处理请求的过滤器驱动程序如何影响I / O性能。我一直在使用passthrough示例进行测试,并且在我尝试引入延迟的任何地方都会产生负面影响,因为我无法正确地将操作过滤到我想要做的事情。

这绝不是一个功能齐全的驱动程序,我希望能够拦截/影响特定卷或特定文件扩展名上的IRP_MJ_WRITE操作,以便我可以显示过滤器驱动程序对这些操作的影响。有没有简单的方法可以做到这一点,我在这里失踪了?我完全理解人们以写这些类型的驱动程序为生,但我真的希望能够生成一个简单的过滤器。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以尝试通过

附加到特定卷
  • fltmc attach ...命令或
  • minifilter驱动程序中的
  • FltAttachVolume
  • 来自用户空间计划的
  • FilterAttach

注意:过滤适用于附加卷上的所有文件操作。如果要包含/排除某些复杂的特定文件名/扩展名。您需要找到文件名(不容易获得)并跳过不需要的文件。此外,这将涉及比您想要使用的更多的处理。