Re: Driver for File-Oriented Device

> This does not sound like a filter driver (a “filter” modifies the behavior

of an existing driver. What you describe sounds like a new FSD, not a
modification layer over an existing FSD.) Is it possible you could
implement this as a shell extension (that is, do you ONLY need it to work
with Explorer?)

Are you saying that if I can get away with a limitation of NO access from a DOS
box, I’d be able to do this with a shell extension? If so, what type of
“handler” would the extension be? Would it actually be a shell namespace
extension (the MSDN Lib seems to indicate that this wouldn’t work for a device
with real files)?

If not, you’ll most likely need an FSD. The FSD model between Windows 9x
and Windows 2000 differ considerably (although I’m sure that with sufficient
time and development resources you could MAKE them appear the same.) There
are LOTS of reasons for this, but let’s just leave it at “the two OS
platforms are VERY different.”

I see that OSR sells a FSD kit for NT/Win2K. Do they also sell a kit for Win9X,
or are you stuck using the MS IFS DDK for Win9X?

For the sake of discussion, for the device we’re talking about, what would be a
rough estimate of the time required to write an FSD with and without the OSR kit
(assuming the developer was an experienced DDK-level developer)? The device is
accessed with commands like WriteFile, ReadFile, DeleteFile, MoveFile,
CreateDirectory, …, and does not provide any type of block interface.

Thanks for the help,
-Chris


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Chris Edgington wrote:

For the sake of discussion, for the device we’re talking about, what would
be a
rough estimate of the time required to write an FSD with and without the
OSR kit
(assuming the developer was an experienced DDK-level developer)? The
device is
accessed with commands like WriteFile, ReadFile, DeleteFile, MoveFile,
CreateDirectory, …, and does not provide any type of block interface.

Tony is the expert but I will jump in here. You have a lot of variables in
a question
like above, what does your “file-oriented device” look like, i.e. I assume
from that
term that is has some sort of filesystem on it, and you wish to mate that
filesystem
to the OS.

If the above is correct, the question then becomes how hard will it be to
map your
device’s filesystem model to the OS filesystem. As Tony said, the Win9x/ME
model
is totally different from the NT/2000 model, so you need to look at both of
them.
O’Reilly offers books on filesystems for both OS’s, “Inside the Windows 95
File System”
and “Windows NT File System Internals”. The NT book is rather old now based
on
Windows NT 3.51 and some 4.0. Also, the OSR FSDK kit’s manual is on the web
at http://www.osr.com/files/fsdkint.htm.

This is not a small project, it is likely on the order of 3 man years or
more. My old
rough estimate was 3 years with the OSR kit, and 5 years without, things
have improved
so these numbers are probably some what less now. Note the OSR kit is
$95,000 and
well worth it, so that will give you an idea of the scope of work involved.

Don Burn
Windows 2000 Device Driver and Filesystem consulting


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Chris,

If you are ONLY interested in access from Explorer (that is, excluding
general applications including - but not limited to - the Win32 command line
interpreter) then a shell extension will do it - you are out of the FSD
business. If you want to allow applications (Word, Notepad, etc.) to access
your device as if it were a file structured storage device (a “filesystem”)
then you have to build an FSD. If you need to export access (via
CIFS/SMB/LanManager/SRV) then you need an FSD.

With respect to the commercial questions, I’ve forwarded them off to our
marketing group (since that’s not really appropriate discussion material for
the list - nobody wants blatant commercial discussions here.)

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: Chris Edgington [mailto:xxxxx@skyenet.net]
Sent: Wednesday, February 28, 2001 2:49 PM
To: File Systems Developers
Subject: [ntfsd] Re: Driver for File-Oriented Device

This does not sound like a filter driver (a “filter” modifies the behavior
of an existing driver. What you describe sounds like a new FSD, not a
modification layer over an existing FSD.) Is it possible you could
implement this as a shell extension (that is, do you ONLY need it to work
with Explorer?)

Are you saying that if I can get away with a limitation of NO access from a
DOS
box, I’d be able to do this with a shell extension? If so, what type of
“handler” would the extension be? Would it actually be a shell namespace
extension (the MSDN Lib seems to indicate that this wouldn’t work for a
device
with real files)?

If not, you’ll most likely need an FSD. The FSD model between Windows 9x
and Windows 2000 differ considerably (although I’m sure that with
sufficient
time and development resources you could MAKE them appear the same.)
There
are LOTS of reasons for this, but let’s just leave it at “the two OS
platforms are VERY different.”

I see that OSR sells a FSD kit for NT/Win2K. Do they also sell a kit for
Win9X,
or are you stuck using the MS IFS DDK for Win9X?

For the sake of discussion, for the device we’re talking about, what would
be a
rough estimate of the time required to write an FSD with and without the OSR
kit
(assuming the developer was an experienced DDK-level developer)? The device
is
accessed with commands like WriteFile, ReadFile, DeleteFile, MoveFile,
CreateDirectory, …, and does not provide any type of block interface.

Thanks for the help,
-Chris


You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com