HyLian
HyLian

Reputation: 5093

How to Create a Virtual Windows Drive

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

Upvotes: 23

Views: 17133

Answers (8)

HyLian
HyLian

Reputation: 5093

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.

Upvotes: 21

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.

Upvotes: 0

Umesh Joshi
Umesh Joshi

Reputation: 49

Create virtual hard drive in Windows 8.

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

Thanks

Upvotes: 0

MMH
MMH

Reputation: 896

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

Upvotes: 0

saulius2
saulius2

Reputation: 271

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

Upvotes: 2

Paul-Jan
Paul-Jan

Reputation: 17278

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.

Upvotes: 0

Jonathan
Jonathan

Reputation: 12015

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

Upvotes: 2

Related Questions