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