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 :)
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.
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
to use the SUBST command in a script launched by your app could be an option.
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
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.
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
Create virtual hard drive in Windows 8.
http://ujspace.blogspot.com/2015/01/create-virtual-hard-drive-on-windows-8.html
Thanks
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.