Windows:如何拦截/挂接FastIO文件系统调用?

时间:2019-07-14 06:23:16

标签: windows file-io filesystems driver wdk

我已经开发了一个DLL库,主要通过使用mhook来拦截对NtQueryInformationFile()的调用。不幸的是,对文件信息类FileBasicInformation的调用是通过FastIO调用而不是常规IRP来解决的。因此没有调用我的拦截库。

我想归档特定的应用程序通过更改ChangeTimeLastAccessTimeLastWriteTimeCreationTime以不同的方式对文件进行排序。

仅在满足一些边界条件时才使用FastIO(而不是IRP)调用,因此我尝试未满足其中一些条件-但失败了。

这些边界条件是

  • 同步文件系统操作
  • 开始缓存

对文件信息类FileBasicInformation进行缓存对我来说是没有意义的,我无法找到一种方法来拦截库调用以进行(或模拟)上层目标应用程序的异步文件系统操作。

我正在寻找一种方式,即使对于文件信息类FileBasicInformation,我的DLL库也可以被调用

  • 拦截FastIO呼叫
  • 未满足的FastIO边界条件

我不知道如何拦截FastIO调用(并且谷歌搜索没有提供更多信息)。

或者如何满足FastIO边界条件。

有人在这方面有经验,可以给我提示吗?

谢谢。

0 个答案:

没有答案