gpt4 book ai didi

Windows 筛选器驱动程序 : Fast IO and IRPs

转载 作者:可可西里 更新时间:2023-11-01 11:55:43 24 4
gpt4 key购买 nike

我编写了一个只关心写入的简单过滤器驱动程序。过滤器只注册 IRP_MJ_WRITE。

过滤器驱动程序会删除它不关心的内容:

  • 如果写的是0字节长
  • 如果请求者是内核模式
  • 如果元数据中的文件名与我们感兴趣的特定文件匹配

我想要捕获的是所有实际写入磁盘的写入。

我应该关注哪些写入?

目前我正在捕获所有 IRP 和 FAST_IO。但是捕获两者会产生一些重复。仅捕获 IRP,我似乎遗漏了一些数据,仅捕获 FAST_IO 也是如此。

我读过 http://msdn.microsoft.com/en-us/library/ff548576.aspx (“IRP 不同于快速 I/O”),但这并没有阐明我的经验数据。

我正在尝试做的是在过滤器驱动程序级别执行“tee”的等效操作。

最佳答案

看来我误解了通过过滤器驱动程序的数据包与最终写入磁盘的数据之间的关系。

这里的解决方案是在发送到用户模式的数据包中添加更多信息(如偏移量)——然后对生成的写入应用一些重复数据检测。数据包也有可能出现乱序;因此也需要小心处理这种情况。

关于Windows 筛选器驱动程序 : Fast IO and IRPs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17538014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com