I'd like to write an application that adds a virtual drive where the
data comes from my private database. Basicly I'd want it to look like
a USB drive, where it shows up when my program is running, and I only
need some simples options, maybe not even multiple folders, and only a
few files at any given time.

Is the only way to do this writing a device driver? Microsoft hasn't
create a mini-driver method for this yet? I know so many devices show
up as drives now, my USB Memory Stick, my digital camera, my pocket
PC, etc... but they haven't made it easy for an application to
emulate this, and either provide hard-coded files, or files that comes
from a database or remote location?

Also, it doesn't have to be an actual drive letter if that is any
easier, I don't need to support DOS applications or other apps that
can't work with drives that aren't associated with letters (like UNC
paths, or however those other virtual drives work, like the ones that
show up when you use Remote Desktop and enable access to local hard
drives).

Re: Non-device driver storage provider? by David

David
Thu Dec 13 18:34:36 PST 2007

No. There is a ramdisk sample that can be used. Your driver could and
should emulate a storage driver. A SCSI port driver is the standard, though
I understand you can use the iSCSI package to do the equivalent. That kit
is only available to those who ask the correct people at Microsoft. You
would be exposing a disk device that contains sectors numbered from zero to
some number. The contents of those sectors would duplicate the layout of
either NTFS or FAT, but since FAT is documented it is easier. It won't
allow more than 32GB in size unless you do the format yourself if you use
FAT. With NTFS you could allow the OS to format it and it can be any size
you want.

If you want to just expose files you could write a file system but that is a
major task and not suitable for beginners in the file systems arena. OSR
has a kit that can help, but it is not free.

"eric" <eselk@surfbest.net> wrote in message
news:4baaa0a5-56e0-486e-b6ba-1e25371f22be@d4g2000prg.googlegroups.com...
> I'd like to write an application that adds a virtual drive where the
> data comes from my private database. Basicly I'd want it to look like
> a USB drive, where it shows up when my program is running, and I only
> need some simples options, maybe not even multiple folders, and only a
> few files at any given time.
>
> Is the only way to do this writing a device driver? Microsoft hasn't
> create a mini-driver method for this yet? I know so many devices show
> up as drives now, my USB Memory Stick, my digital camera, my pocket
> PC, etc... but they haven't made it easy for an application to
> emulate this, and either provide hard-coded files, or files that comes
> from a database or remote location?
>
> Also, it doesn't have to be an actual drive letter if that is any
> easier, I don't need to support DOS applications or other apps that
> can't work with drives that aren't associated with letters (like UNC
> paths, or however those other virtual drives work, like the ones that
> show up when you use Remote Desktop and enable access to local hard
> drives).



Re: Non-device driver storage provider? by sven

sven
Fri Dec 14 05:32:42 PST 2007

> I'd like to write an application that adds a virtual drive where the
> data comes from my private database...Also, it doesn't have to
> be an actual drive letter if that is any easier

Yes, you can exactly what you want without a driver. Do a google
search on the web for Shell Namespace Extension.

Re: Non-device driver storage provider? by Don

Don
Fri Dec 14 05:52:43 PST 2007

Shell extensions, have a lot of restrictions so as a rule of thumb if you
want to access the data beyond the shell you are likely to have problems.
As David said if you can present the data as a FAT format you can do it with
a driver based on the ramdisk sample. Unfortunately, most people who want
this want capabilities that only come with a file system driver, which is
one of the most complex projects in the Windows kernel.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply


<sven.kreamer@gmail.com> wrote in message
news:566e7949-94eb-407d-b675-9ba10af9d1e9@e25g2000prg.googlegroups.com...
>> I'd like to write an application that adds a virtual drive where the
>> data comes from my private database...Also, it doesn't have to
>> be an actual drive letter if that is any easier
>
> Yes, you can exactly what you want without a driver. Do a google
> search on the web for Shell Namespace Extension.



Re: Non-device driver storage provider? by Maxim

Maxim
Fri Dec 14 09:05:06 PST 2007

> create a mini-driver method for this yet? I know so many devices show
> up as drives now, my USB Memory Stick, my digital camera, my pocket
> PC, etc... but they haven't made it easy for an application to
> emulate this, and either provide hard-coded files, or files that comes
> from a database or remote location?

Correct. All these devices implement the blockwise volume, and not a set of
files. This volume is formatted using usual FAT.

To implement a set of files, you will need an FSD, and this is by far harder.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com


Re: Non-device driver storage provider? by eric

eric
Fri Dec 14 10:15:14 PST 2007

On Dec 14, 10:05 am, "Maxim S. Shatskih" <ma...@storagecraft.com>
wrote:
> > create a mini-driver method for this yet? I know so many devices show
> > up as drives now, my USB Memory Stick, my digital camera, my pocket
> > PC, etc... but they haven't made it easy for an application to
> > emulate this, and either provide hard-coded files, or files that comes
> > from a database or remote location?
>
> Correct. All these devices implement the blockwise volume, and not a set of
> files. This volume is formatted using usual FAT.
>
> To implement a set of files, you will need an FSD, and this is by far harder.
>
> --
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> ma...@storagecraft.comhttp://www.storagecraft.com

Thanks to all who replied. I did look at "Shell Namespace Extensions"
and at first thought it was exactly what I needed, but then I realized
they didn't have any interfaces for basic file i/o, so I knew there
was no way applications like MS Word would be able to use that
interface to open a document. It only supports drag/drop and copy/
paste type stuff, not actual file i/o.

Writing a driver would put this project way over budget, so for now
this part of the project will be on-hold until more options become
available.

Re: Non-device driver storage provider? by Joe

Joe
Sat Dec 15 13:33:39 PST 2007

I am aware of three commercial development kits that allow file system
virtualization by applications, without writing a file system driver.

A company called Eldos has a user mode file system development
product. I am not familiar with this product, besides knowing it
exists. I believe the first version was released earlier this year.

Pismo Technic Inc. has a virtual file system and file mounting system
extension called Pismo File Mount. I am affiliated with Pismo Tecnhic
so I know more about it.
http://www.pismotechnic.com/
The system extension can be exercised and evaluated using the Pismo
File Mount Audit Package, currently in late beta. This package
provides support for mounting ISO and ZIP files read-only, a read/
write/compressed/encrypted container file system, and a read/write
temporary virtual file system.

StorageCraft has a user mode file system (UMFS) kit. I don't know if
this is still available. Maxim from StorageCraft has already posted on
this thread.

If you were to decide to pursue developing a full file system driver,
you should check out the OSR NTFSD list on http://osronline.com . As
has already been pointed out, writing file systems for Windows is a
formidable task.

Joe Lowe

Re: Non-device driver storage provider? by Eugene

Eugene
Sun Dec 16 05:48:38 PST 2007

Hello!
You wrote on Thu, 13 Dec 2007 17:33:21 -0800 (PST):

e> I'd like to write an application that adds a virtual drive where the
e> data comes from my private database. Basicly I'd want it to look like

What you need is Callback File System ( http://www.eldos.com/cbfs/ ), which
was designed exactly for your task.
It lets you avoid developing your own driver as it includes the
ready-to-deploy file system driver.

With best regards,
Eugene Mayevski
http://www.SecureBlackbox.com - the comprehensive component suite for
network security


Re: Non-device driver storage provider? by Maxim

Maxim
Sun Dec 16 11:21:01 PST 2007

> StorageCraft has a user mode file system (UMFS) kit. I don't know if
> this is still available. Maxim from StorageCraft has already posted on
> this thread.

No. Discontinued.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com