c++代码模拟Windows下的虚拟映射网络驱动器
C++ code to emulate virtually mapped network drive under Windows?
情况如下:
我有一个RESTful web服务,当查询时返回一个虚拟文件列表(文件名,大小,最后修改,创建日期和id)。还可以从相同的web服务中使用其id获取任何文件的二进制内容数据。
我想做什么:
我想写一段c++代码,让操作系统(Windows XP, vista或7)相信存在一个映射的网络驱动器(例如:Z),这样当用户在Windows资源管理器中输入(Z:)时,虚拟文件列表(从web服务返回)就会显示出来。另外,当双击资源管理器视图中的文件图标时,这段c++代码应该从web服务中检索二进制数据,并将其作为合法文件内容呈现给操作系统。
换句话说,用户(和操作系统)不应该能够区分Z和任何其他普通驱动器之间的区别。
任何想法?
您需要的是所谓的"用户空间文件系统"。例如,您可以在Dokan库上创建一个。
http://pages.cs.wisc.edu/~driscoll/fuse-nt.pdf
维基百科上列出的更多
我们的回调文件系统是你正在寻找的。
回调文件系统允许您将通用数据(例如从远程web服务检索的数据)映射到驱动器号。
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 将函数类成员映射到类本身内部
- 虚拟决赛作为安全
- 如何在 C# 中映射双 C 结构指针?
- 如何在C++中使用结构生成映射
- 使用std::函数映射对象方法
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++映射分割错误(核心转储)
- 如果整个应用程序是虚拟映射的,为什么 new 会进行系统调用?
- 在 Linux C++ 中获取虚拟内存最大映射计数
- 进程如何访问不属于其虚拟地址空间的内存映射 IO 地址?
- C++11:使用中央命令映射器调用虚拟基类方法
- 在虚拟地址空间中使用内存映射文件
- C++工厂制造和多态性 ->调用由映射迭代器访问的实例的子类的虚拟方法
- 虚拟键码到unicode的映射受写入std::cout的影响
- 映射到程序的虚拟磁盘
- dll是如何映射到当前程序的虚拟地址空间的
- c++代码模拟Windows下的虚拟映射网络驱动器
- 内存模块是否映射到进程的虚拟空间?