views:

569

answers:

6

Hello,

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

A: 

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

Jonathan
Not for *remote* storage
Blorgbeard
subst is a good option, but as long i would to implement a kind of middle layer, i would like to "catch" read and write events. I think that with subst I cannot implement that.Maybe i can make a "daemon" program which continously monitor the folder "substituted", but i prefer another option.
HyLian
A: 

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

joe
Thanks for your response but that's not exactly what i want :)
HyLian
A: 

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.

Paul-Jan
However, these objects only exist at Shell (Explorer) level. You cannot use them in CreateFile() calls.
MSalters
A: 

I'm now seeing the possibility of take another aproach.

If you has used TortoiseSVN you know what i'm talking about.

As tortoise does, when you open a folder, it scans for .svn folders inside and make the synchronize between local and svn repository changing the file icons, etc...

Maybe I can make a "daemon" program that scans some root folder of a drive and make things with the files.

With this aproach, How can i make an explorer (not-IE) extension to check the contents of a folder everytime you open one?

Thanks again :)

HyLian
Tortoise is implemented as an icon handler, so Windows queries it for effectively every file on the disk. There's no remote synchronization involved. I would advise against the same approach for your case.
ChrisV
+3  A: 

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 call it, MiniFilter. This option is the tought one but allows you full control.

The cowards ;) option is to use a existing library to do this, examples of this are dokan, GPL ( http://dokan-dev.net/en/ ), pismo, Free ( www.pismothechnic.com ) or eldos ( www.eldos.com/ ).

However if you dont have Windows as main target, you can use FUSE thats is a pretty good option.

HyLian
You made a type in the pismo url. It is http://www.pismotechnic.com/
Foole
+1  A: 

Callback File System, mentioned above, is a supported product with a comprehensive feature set, samples and support.

Eugene Mayevski 'EldoS Corp