Mounting a Virtual File System - Windows

Started by
2 comments, last by Ratterbox 20 years, 3 months ago
How can you mount a virtual file system into My Computer in windows??? I have seen other programs do this, I would like to know how - Ratterbox
Advertisement
It depends on what type of file system you are talking about and how it is used. There are two examples I can think of off the top of my head:

1. First is using a device file system filter driver. This is a technique used for 3rd party file encryption products (or at least used to be - think PGPdisk). The way this works is that a single flat file, like a zip file, is "mounted" and thus finds itself in your "My Computer" list as a drive or mount. This can work differently in Windows 2000 and above because the Microsoft boys *finally* decided to support mount points (the prevalent method in *nix file systems). This is the easiest way to go as you are really using the same file system for storing the files but just intercepting calls that go to your "virtual file system".

2. The second would be to build a file system driver. However, I have *never* see anyone do this. The IFS toolkit sdk from Microsoft provides you a means to do this but I have not seen an implementation. This is not to say that someone has not done this but we are talking about a major undertaking here. The NTFS file system required 3 years and 25 (or so) guys to put together.

Another piece of code you could look at, depending on your need, is WinRar. RAR is a great archiving tool with *really* good compression. The WinRaR utility opens a file system browser that allows you to select an archive and drill into it dynamically. The only problem with this is that it''s not integrated into Windows. Again, it depends on what you are trying to accomplish.


Hope that helps..

#dth-0

"C and C++ programmers seem to think that the shortest distance between two points is the great circle route on a spherical distortion of Euclidean space."Stephen Dewhurst
quote:Original post by xiuhcoatl
1. First is using a device file system filter driver. This is a technique used for 3rd party file encryption products (or at least used to be - think PGPdisk). The way this works is that a single flat file, like a zip file, is "mounted" and thus finds itself in your "My Computer" list as a drive or mount. This can work differently in Windows 2000 and above because the Microsoft boys *finally* decided to support mount points (the prevalent method in *nix file systems). This is the easiest way to go as you are really using the same file system for storing the files but just intercepting calls that go to your "virtual file system".


How does one actually go about using Windows mount points?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
I have not used them but if I rememeber correctly Microsoft calls them Reparse Points. Here are two resources at msdn.microsoft.com:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/reparse_points.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/ntfs2.asp


[edited by - mauman on January 4, 2004 10:50:04 PM]
---CyberbrineDreamsSuspected implementation of the Windows idle loop: void idle_loop() { *((char*)rand()) = 0; }

This topic is closed to new replies.

Advertisement