You can filter all IRPs directed at Scsiport device objects either by
implementing a Scsiport bus (PDO) filter driver or by implementing a lower
filter driver for each of the scsi class device drivers. The bus filter
driver is a better architectural approach, but bus filter drivers are
undocumented. In either case you will not be directly filtering the
Scsiport/miniport API but instead you will be intercepting IRPs targeted
Scsiport, some of which eventually translate into Scsiport/miniport API
transactions. There is a *binary* example (no source code) of such a filter
on my website.
Two miniport drivers *might* be possible, but one of them would have to be a
virtual miniport driver (no real hardware) and there are serious design
issues with such an approach. Search for virtual miniport.
I’m sure somebody here can probably come up with a Truly Awful Hack™ that
will effectively hook the scsiport dll api, allowing all sorts of
shenanigans at this level of the OS. Then we can have an endless discussion
of the Perils of Vile Hackery in parallel with Anthony’s endless questions
about regmon hacking.
As we keep re-iterating here: what is it that you are trying to accomplish?
You’ve provided a proposed solution (filter miniport api requests,) but we
don’t know what problem this solution is supposed to solve.
=====================
Mark Roddy
Hollis Technology Solutions
www.hollistech.com
xxxxx@hollistech.com
-----Original Message-----
From: sarun [mailto:xxxxx@integramicro.com]
Sent: Friday, August 01, 2003 9:07 AM
To: Windows System Software Developers Interest List
Subject: [ntdev] Multiple SCSI Miniport driver
Hi All,
I want to write a filter to the Miniport driver so that i can filter any
data sent to miniport directly. But I understood (from old NTFSD mails), It
would be difficult ( or say impossible ) as The Scsi MiniPort driver and the
Scsi Port driver use a procedural interface that cannot be filtered.
Is it possible to have two miniport driver to drive a single device? i.e
I want my miniport driver to get all the requests that is directed to a
standard miniport. My basic understanding may be wrong. If so, can you
please suggest me an alternative to filter the request which is sent to
Miniport using DevIoControl codes directly…
Thanks in Advance.
Sarun.M.N.
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@stratus.com
To unsubscribe send a blank email to xxxxx@lists.osr.com