22

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

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

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

谢谢阅读 :)

4

8 回答 8

20

如我所见,有几个选项可以实现这一点。

“本机”是创建一个拦截 I/O 操作的自定义驱动程序(.sys 文件)。Microsoft 将其称为 MiniFilter。此选项是最困难的选项,但可以让您完全控制。

懦夫的 ;) 选项是使用现有库来执行此操作,例如 Dokan、GPL ( dokan-dev.github.io )、Pismo、免费 ( pismotec.com ) 或回调文件系统 ( callback.com/cbfsconnect ) )。

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

于 2009-07-14T10:14:48.727 回答
2

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

于 2012-06-19T18:36:43.690 回答
1

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

于 2009-07-08T09:15:13.400 回答
0

地图驱动器: 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

于 2009-07-08T09:21:28.397 回答
0

您可以编写一个 Shell 命名空间扩展,允许您将任何东西表示为驱动器(带有子文件夹、文件、自定义菜单等),但您必须从头开始构建所有功能。好处是网上有很多样品,比如这个

于 2009-07-08T19:23:49.203 回答
0

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

于 2010-05-08T12:24:16.670 回答
0

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

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

于 2013-11-11T17:48:01.447 回答
0

在 Windows 8 中创建虚拟硬盘。

http://ujspace.blogspot.com/2015/01/create-virtual-hard-drive-on-windows-8.html

谢谢

于 2015-01-21T19:05:10.187 回答