我想从本质上做到这一点,这样您就不需要解压缩/解压缩任何文件。目前,我有一个 Dokan 文件系统,它可以在给定特定 zip 文件的情况下执行此操作,但我想知道如何使其适用于所有文件。意思是,我希望能够编译一个包含“fopen("test.zip/1.jpg", "rb");"的程序。如果我在 shell 资源管理器中浏览,我认为 Shell 扩展可以将文件动态加载到文件系统中,但这对 fopen 示例没有帮助。有什么想法吗?
最佳答案
你想做的事情可以在文件系统过滤器驱动程序的帮助下使用,它会跟踪目录枚举请求和报告目录而不是 ZIP 文件。然后该驱动程序将创建虚拟文件并从 ZIP 存档中获取数据。相当多的内核模式工作,我应该说。而且文件系统过滤驱动不是文件系统驱动,所以dokan根本帮不了你。
关于c - 如何实现基于文件类型的文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643361/