如何创建虚拟Windows驱动器

时间:2009-07-08 08:24:48

标签: .net windows winapi virtual drive

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

我正在搜索可用的产品,我发现FUSE不是Windows和WebDAV直接映射驱动器的选项,我想在Windows和远程存储之间构建一个中间层来实现某种服务。 存在另一种替代方案,例如非常昂贵的Dokan,以及System.IO.IsolatedStorage命名空间,它似乎没有明确地创建新的Windows驱动器。

可能pismo(http://www.pismotechnic.com/)主要符合我的要求,但我知道是否还有其他选择,包括一些Windows(C ++或.NET)本机API。

感谢阅读:)

8 个答案:

答案 0 :(得分:20)

如我所见,有几种方法可以实现这一点。

“native”正在创建拦截I / O操作的自定义驱动程序(.sys文件)。微软称之为MiniFilter。此选项是最难的选项,但允许您完全控制。

懦夫的;)选项是使用现有的库来执行此操作,例如Dokan,GPL(dokan-dev.net/en),Pismo,free(www.pismotechnic.com)或回调文件系统({{ 3}})。

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

答案 4 :(得分:0)

您可以编写Shell NameSpace扩展,允许您将任何表示为驱动器(包含子文件夹,文件,自定义菜单等等),但您必须从头开始构建所有功能。好处是网上有很多样本,例如this一个。

答案 5 :(得分:0)

如上所述,我们的Callback File System是受支持的产品,具有全面的功能集,示例和支持。我们还提供免费的非商业许可证。

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)