Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Create a Virtual Windows Drive

Tags:

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 :)

like image 449
HyLian Avatar asked Jul 08 '09 08:07

HyLian


1 Answers

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.github.io), Pismo, free (pismotec.com) or Callback File System (callback.com/cbfsconnect).

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

like image 105
HyLian Avatar answered Sep 21 '22 16:09

HyLian