通过重写Win32 File API实现虚拟文件

时间:2010-04-09 12:16:44

标签: createfile virtual-file

有没有办法覆盖Win32 File API,比如CreateFile()?我希望我的应用程序仅为我的应用程序查看虚拟文件,但是,虚拟文件​​实际上并不存在。

2 个答案:

答案 0 :(得分:1)

存在两种方法 - 使用内核模式驱动程序(记录一次)并且没有这样的驱动程序(一种hacky方式)。

使用内核模式驱动程序,您有两种方法 - (1)创建虚拟文件系统驱动程序(或使用现有驱动程序)和(2)创建文件系统筛选器驱动程序(或使用现有的驱动程序)。司机发展=一年左右的工作做得正确和完全。驱动程序开发完全记录在MSDN中。

如果没有内核模式驱动程序,则需要使用API​​挂钩。像Detours,MadCodeHook和Boxedapp SDK这样的库可以做到这一点(并允许你这样做)。

在这里完全描述一个API主题非常大,但在这个主题上有一个很好的CodeProject article

答案 1 :(得分:0)

全系统?馊主意。如果它只是您的应用程序,请不要使用标准API并自行实现。但是,如果数据必须在会话之间持续存在,则必须将数据存储在某个位置(文件,注册表等)。