4

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

这绝不是一个功能齐全的驱动程序,理想情况下,我希望能够拦截/影响特定卷或特定文件扩展名上的 IRP_MJ_WRITE 操作,以便我可以显示过滤器驱动程序对这些操作的影响。有什么简单的方法可以做到这一点,而我只是在这里想念吗?我完全理解人们以编写这些类型的驱动程序为生,但如果可能的话,我真的希望能够制作一个简单的过滤器。

谢谢!

4

1 回答 1

3

您可以尝试通过以下方式附加到特定卷

  • fltmc attach ...命令或
  • FltAttachVolume在微过滤器驱动程序或
  • FilterAttach来自用户空间程序。

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

于 2012-08-15T06:50:46.413 回答