4

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

4

4 回答 4

6

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

于 2011-11-16T12:54:01.220 回答
1

Windows 7+ 允许您将 VHD 挂载为磁盘。此 MSDN 文章-Windows 7 中的虚拟磁盘 API中描述了该 API 。

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

于 2011-11-16T12:41:41.147 回答
0

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

于 2011-11-16T13:23:53.593 回答
0

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

于 2011-11-17T17:19:53.750 回答