WDM Filter Driver and Win 98 storage devices

Hi,

Is it possible to write a WDM filter driver for a Windows 98 (W98) storage
device or file system?

Somewhere I got the impression that the answer is yes, but so far I have had
absolutely no luck with it. I have used Oney’s book and the IOCTL and
FILTER drivers that he provides as well as sample drivers from NuMega’s
DriverWorks. I can get them to work as provided but not with the W98
storage drivers or file system.

If it is possible, how do I install it? And what changes, if any, do I need
to make to Oney’s FILTER driver to get it to work?

We are writing a custom storage driver, a WDM filter driver, and an
application for Windows 2000 (W2K) and Windows 98 (W98). Our hope is that
we can use the same sources, if not the binaries, of each module in both
environments.

Our storage driver is based on ATAPI.SYS found in the W2K DDK. We use it in
place of ESDI_506.PDR when necessary. It appears to work well in both the
W2K and W98 environments.

Our filter driver will provide an IOCTL interface to allow our application
to retrieve information from and to set options in ATAPI.SYS. The intent is
for our filter driver to convert the IOCTL request into another type of
request and pass it to the next driver whereupon it will somehow
miraculously arrive at ATAPI.SYS, its final destination.

So far, I have found no way to communicate between a WDM filter driver and a
W98 storage driver, including our ATAPI.SYS. Also, I have been unable to
install a WDM filter driver for any thing other than another WDM driver.

As I mentioned, I am trying to get to our custom ATAPI.SYS. Its interface
is SCSI Request Blocks (SRBs) but the only interface I can find for WDMs is
I/O Request Packets (IRPs). I imagine that if I provide an upper filter
that I can convert the IOCTL into IRPs that will be converted by a lower
driver into SRBs and passed to ATAPI.SYS. Is this true or have I lost my
sanity here?

Another idea (hallucination?) is that if the filter accepted SRBs and if it
was a lower filter immediately above ATAPI.SYS that I could pass SRBs
directly to it.

Is any of this possible or am I trying to get Martians and Venusians to
relate?

Any thoughts or suggestions?

Thanks,

Fred

> As I mentioned, I am trying to get to our custom ATAPI.SYS. Its interface

is SCSI Request Blocks (SRBs) but the only interface I can find for WDMs
is
I/O Request Packets (IRPs). I imagine that if I provide an upper filter

I have an idea of inventing your own SCSI opcode (SCSIOP_xxx) and send such
SRBs to the port driver by using SCSI pass-through.

Max

In Win98 if i invent my own SCSIOP_xxx is there any way I can send SRB from
user mode.

I do not want to use ASPI pass thru . Is there any way like SCSI pass thru
IOCTL in NT?

Anoop
NeST

-----Original Message-----
From: Maxim S. Shatskih [SMTP:xxxxx@storagecraft.com]
Sent: Wednesday, October 11, 2000 1:11 PM
To: NT Developers Interest List
Subject: [ntdev] Re: WDM Filter Driver and Win 98 storage devices

> As I mentioned, I am trying to get to our custom ATAPI.SYS. Its
interface
> is SCSI Request Blocks (SRBs) but the only interface I can find for WDMs
is
> I/O Request Packets (IRPs). I imagine that if I provide an upper filter

I have an idea of inventing your own SCSI opcode (SCSIOP_xxx) and send
such
SRBs to the port driver by using SCSI pass-through.

Max


You are currently subscribed to ntdev as: xxxxx@nestec.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)