winapi - 如何创建软件实现的驱动器
问题描述
有一些应用程序(我们称它们为提供程序),它们(在运行时)在新的驱动器号下提供虚拟文件和目录结构。其他进程对这些文件和目录的访问请求由提供者提供服务。此类提供程序的一个示例可能是用于 Windows 的 Google Drive(新的,而不是旧的 Backup and Sync),它将您的 Google Drive 的内容映射到所选的驱动器号。
我认为应该有一些简单的用户模式 API,它应该允许我的应用程序提供一个新驱动器以及它上面的文件和目录的内容。我以为很多应用程序都使用这样的 API,但我找不到它。我能得到的最接近的是 IFS(可安装文件系统驱动程序)和文件系统过滤器驱动程序,但它们是内核模式,它们似乎太复杂了。他们似乎不是为了完成这样的任务而设计的。
那么,我应该使用什么 API 来制作一个简单的软件实现驱动器?
解决方案
除了评论中的建议之外,现在还有Projected Filesystem,它允许软件通过回调提供类似驱动器的界面,而不仅仅是通过创建实际的磁盘映像。据我了解,Projected FS 是例如 SQL Server 如何执行其表支持文件接口的方式。
推荐阅读
- python - 如何对列表使用两个条件?
- python - numpy.histogramdd: ValueError: bins 的维度必须等于样本 x 的维度
- spring-cloud - 路由到 URL 在配置中的行为不同
- java - Java-为什么 Selenium Chrome webdiver 使用我的真实 IP 地址而不是代理
- flutter - 如何使任何行固定在屏幕底部颤动?
- spring-boot - Spring Boot - CompletableFuture 的返回值,用于主调用函数,而异步进程仍在执行
- python - 如何在 Pandas 中使用 IF 语句在列中添加值?
- java - Ubuntu 19 升级后键盘快捷键不起作用
- r - 在 R 中使用 str_match 反向引用重复的正则表达式模式
- flutter - 颤振覆盖文本字段向上/向下键行为