2011-09-27 54 views
1

我正在使用虚拟文件系统(PhysFS),并希望整个应用程序通过此VFS(包括第三方库)执行文件IO操作。在Windows中重定向所有文件IO

如何在Windows中通过此VFS重定向所有文件IO操作(C FILE*对象和C++流)?

此外,一个相关的问题。文件IO重定向是OS API的一个共同特征吗?移植我的应用程序会很容易吗?

回答

1

API挂钩可能是解决问题的唯一方法。挂钩可以使用第三方帮助程序库完成,如Detours等。这种方法既不平凡又不便携。理论上你可以使用文件系统过滤器驱动程序,但这种方式要复杂得多,需要一个内核模式驱动程序(这是一个PITA来开发)。

+0

这本身不是问题,只是它会使代码更好。但似乎这样做的努力在我的情况下是不合理的。 –