如何在C#中编写文件I / O挂钩

时间:2013-12-02 18:01:28

标签: c# windows file io buffer

让我解释一下这个问题。应用程序X(不是我的)想要从硬盘读取/写入文件F.我希望应用程序/库M充当它们之间的缓冲区,这样每个写入都会被缓冲,每次读取都会重定向到M.这怎么可能?我想我需要以某种方式将我的C#方法挂钩到Windows文件I / O事件。

一些注意事项:

  • 我无法更改应用程序X
  • 我无法更改文件F
  • 的内容路径

我认为有可能实现类似于RAM-Disks的东西,但是对于文件。

1 个答案:

答案 0 :(得分:0)

谢谢大家。我认为ImDisk Virtual Disk DriverLink Shell Extension的组合可以是一个可行的解决方案。我创建了一个虚拟ram磁盘并将文件F移动到该位置。然后我使用Link Shell Extension在应用程序X需要看到的文件夹中创建一个指向F的链接。通过这种方式,文件位于RAM中,并且应用程序X的所有内容都是透明的。更重要的是,我甚至不需要写1行代码:)