用于远程Web服务的Windows虚拟磁盘

时间:2011-11-16 12:36:46

标签: c# .net windows virtual-drive

我需要实现一个Windows虚拟磁盘,它在Windows资源管理器中作为单独的磁盘设备可见,并将所有传输的文件/目录传输回远程WebService - 就像DropBox一样。 我是否必须实现/使用内核驱动程序SDK?或者仅使用shell扩展是否可行?我需要的是拦截该磁盘上的所有文件/目录操作并将它们映射到相应的WebService调用(文件创建/删除/移动/编辑和数据传输)。 感谢

4 个答案:

答案 0 :(得分:6)

您将需要内核模式驱动程序和Windows服务/应用程序的组合:

答案 1 :(得分:1)

Windows 7+允许您将VHD挂载为磁盘。此MSDN文章中介绍了API - Virtual Disk API In Windows 7

我不知道是否可以使用shell扩展,但扫描文章我看到API AttachVirtualDisk,你应该可以P / Invoke。

答案 2 :(得分:0)

你考虑过WebDAV吗?这不需要您在客户端上安装任何东西,因为该功能已集成到Windows中(我相信自XP以来)。它使用REST,因此您甚至可以自己实现它或者在codeplex上寻找解决方案。如果它只是关于远程存储,那么你可以使用一个IIS插件(我相信它是为IIS 7构建的)。

答案 3 :(得分:0)

你可以使用命名空间扩展,这就是DropBox的功能。另一方面,Wuala和其他一些云存储提供了使用我们的回调文件系统来创建虚拟磁盘。