如何创build虚拟Windows驱动器

我试图创build一个Windows虚拟驱动器(如c:\)映射远程存储。 主要目的是以一种清晰的方式向用户进行。 因此,用户不会知道他正在从另一个站点进行书写/阅读。

我正在寻找可用的产品,我发现FUSE不是在Windows和WebDAV直接映射驱动器的选项,我想在窗口和远程存储之间build立一个中间层来实现某种服务。 存在另一种替代scheme,比如Dokan,这非常昂贵,而System.IO.IsolatedStorage命名空间似乎并没有明确地创build一个新的Windows驱动器。

大概pismo( http://www.pismotechnic.com/ )是大部分符合我的要求的东西,但我会知道是否有另一种select,包括一些Windows(C ++或.NET)本机API来做到这一点。

谢谢阅读 :)

正如我所看到的,有几个选择来实现这一点。

“本机”是创建拦截I / O操作的自定义驱动程序(.sys文件)。 微软称之为MiniFilter。 这个选项是最难的,但是可以让你完全控制。

懦夫的选择是使用现有的库来做到这一点,例如Dokan,GPL( dokan-dev.net/en ),Pismo,free( http://www.pismotechnic.com )或Callback File System( http://www.eldos .com )。

但是,如果您没有Windows作为主要目标,则可以使用FUSE,这是一个相当不错的选择。

如果您(或其他人)仍然介意对驱动程序本身进行编码,那么已经有几个开源和正在运行的原型:

  • BoBrantén的FileDisk和HttpDisk: http ://www.acc.umu.se/~bosse/
  • 由Olof Lagerkvist提供的ImDisk : http ://www.ltr-data.se/opencode.html/#ImDisk

在您的应用程序启动的脚本中使用SUBST命令可能是一个选项。

MAP DRIVE: http : //compnetworking.about.com/od/windowsxpnetworking/ht/mapnetworkdrive.htm

虚拟CD / DVD驱动器http://www.associatedcontent.com/article/420958/how_to_create_a_virtual_drive_in_windows.html

虚拟硬盘驱动器使用Virtual PC 2007

你可以编写一个Shell NameSpace扩展,允许你将任何东西表示为一个驱动器(包括子文件夹,文件,自定义菜单和其他东西),但是你必须从头开始构建所有的功能。 好的,网上有很多样品,就像这个样子。

看看这篇文章。 这是使用Windows操作系统中的SUBST.exe完成的。

http://code-in-action.blogspot.com/2013/11/create-virtual-drive-through-command.html

我们的回调文件系统 ,如上所述,是一个支持的产品,具有全面的功能集,样本和支持。 我们还提供免费的非商业许可证。