Advise?

I need to write a driver for USB memory sticks (non vendor specific) and I need advice on
where I should focus my efforts of study.

The functionality I’m trying for is to monitor a specific directory of files on a USB memory
stick. Whenever a file is dragged to this directory the driver should call routines that
encrypt the file, and when a file is removed from that directory it should be unencrypted.
There are also a few control files that we don’t want the user to see. In other words, we want
to control the file listing the user sees in this special directory. The whole encryption
protocol has already been written, but without the driver moderating the interface between them
and the USB key, managing encrypted files is too difficult for the administrative staff to
handle.

Should I be focusing more on writing a filter driver, or a function driver? Should I be
studying to interface with the bus driver or some higher lever driver in the wdm hierarchy?
This feels like a very long path, but I’m really excited to try.

Thanks
Wolf

You are going to need to write a file system filter driver. This is not a
small project. First get the IFS kit from Microsoft, and second sign up for
the OSR “Developing File Sytems for Windows” seminar
http://www.osr.com/seminars_dfsw2_5dl.shtml. If you can limit your product
to the latest OS’es Microsoft has a new
“Filter Manager” in beta that will make things easier. Follow up questions
should probably go to ntfsd since that is where the file system folks hang
out.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply

“Wolf” wrote in message news:xxxxx@ntdev…
> I need to write a driver for USB memory sticks (non vendor specific)
and I need advice on
> where I should focus my efforts of study.
>
> The functionality I’m trying for is to monitor a specific directory
of files on a USB memory
> stick. Whenever a file is dragged to this directory the driver should call
routines that
> encrypt the file, and when a file is removed from that directory it should
be unencrypted.
> There are also a few control files that we don’t want the user to see. In
other words, we want
> to control the file listing the user sees in this special directory. The
whole encryption
> protocol has already been written, but without the driver moderating the
interface between them
> and the USB key, managing encrypted files is too difficult for the
administrative staff to
> handle.
>
> Should I be focusing more on writing a filter driver, or a function
driver? Should I be
> studying to interface with the bus driver or some higher lever driver in
the wdm hierarchy?
> This feels like a very long path, but I’m really excited to try.
>
> Thanks
> Wolf
>
>
>
>