News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Virtual Disk API/Code?

Started by AkinforASM, February 06, 2007, 02:21:12 PM

Previous topic - Next topic

AkinforASM

Dear Friends,

Sorry for such a noobie question, however I failed to find any concrete information about how to mount a file as a virtual disk and all information I can find is some virus code, which is not about mounting a disk but rather intercepting disk activities.

As for background information, I'm trying to implement/port a OTFE application (FreeOTFE - PGP disk like application) which was written / coded by Sarah Dean on non-NT based OSs (i.e. Win95/98/ME).

The above mentioned application is an open source one, the GUI has been written by means of Delphi (i.e. pascal) but kernel mode drivers (for WinXP, 2000) have been written by using C++, which means code is alien to me.

My question is what is the rationale behind mounting a file as a disk? What kind of API is used (MSDN has no sample code for this nor identifies any API for mounting virtual disks).

The attachment contains my RadASM project attempt on WinME :red  :(.

Regards and TIA

P.S. Ignore the name i.e. diskmountconsole since it's actually a GUI application.

[attachment deleted by admin]

Tedd

Once it's mounted as a disk, it will act as a disk. So normal disk/file access directed at the virtual disk will be passed on to the relevant driver, who will interpret them as necessary. The whole point of it being a virtual disk is that it appears to behave just as a normal disk, so it can be used as such - normal api functions can be used.
No snowflake in an avalanche feels responsible.

AkinforASM

Quote from: Tedd on February 06, 2007, 07:23:02 PM
Once it's mounted as a disk, it will act as a disk. So normal disk/file access directed at the virtual disk will be passed on to the relevant driver, who will interpret them as necessary. The whole point of it being a virtual disk is that it appears to behave just as a normal disk, so it can be used as such - normal api functions can be used.

Thank you for your answer.
However the problem is, I could not figure out how the file is mounted as a disk in the first place?

Regards,