How to Create a Virtual Windows Drive

2019-03-08 15:25发布

问题:

I'm trying to create a Windows Virtual Drive ( like c:\ ) to map a remote storage. The main purpose is to do it in a clear way to the user. Therefore the user wouldn't know that he is writing/reading from another site.

I was searching for available products, and i find that FUSE is not an option in Windows and WebDAV maps directly the drive, and i would like to build a middle layer between windows and remote storage to implement some kind of services. Another alternatives exists, such as Dokan, that is very expensive, and System.IO.IsolatedStorage Namespace, that doesn't seem to explicity create a new Windows Drive.

Probably pismo ( http://www.pismotechnic.com/ ) is the thing that mostly matches my requirements but I would know if there is another alternative, including some Windows ( C++ or .NET ) native API to do that.

Thanks for reading :)

回答1:

As I see, there are several options to implement this.

The "native" one is creating a custom driver (.sys file) that intercepts the I/O operations. Microsoft calls it MiniFilter. This option is the toughest one but allows you full control.

The coward's ;) option is to use a existing library to do this, examples of this are Dokan, GPL (dokan-dev.net/en), Pismo, free (www.pismotechnic.com) or Callback File System (www.eldos.com).

However if you don't have Windows as main target, you can use FUSE which is a pretty good option.



回答2:

If you (or someone else) still mind coding the driver itself, there are several opensource and working prototypes already:

  • FileDisk and HttpDisk by Bo Brantén: http://www.acc.umu.se/~bosse/
  • ImDisk by Olof Lagerkvist: http://www.ltr-data.se/opencode.html/#ImDisk


回答3:

to use the SUBST command in a script launched by your app could be an option.



回答4:

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

Virtual CD /DVD Drive http://www.associatedcontent.com/article/420958/how_to_create_a_virtual_drive_in_windows.html

Virtual Hard Drive use Virtual PC 2007



回答5:

You could write a Shell NameSpace Extension, allowing you to represent anything as a drive (with subfolders, files, custom menus and whatnot), but you'd have to build all functionality from scratch. The upside is there are a lot of samples on the net, like this one.



回答6:

Have a look at this article. This is done using SUBST.exe present in Windows OS.

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



回答7:

Create virtual hard drive in Windows 8.

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

Thanks



回答8:

Our Callback File System, as mentioned above, is a supported product with a comprehensive feature set, samples and support. We also offer free non-commercial licenses.