Capturing SRB info for SCSI task mgt functions with lower disk filters

We have a lower disk filter driver that captures SRB info. Many of the task
mgt functions defines are never seen by this driver.

Of the SRB_FUNCTIONs that I'm interested in below I found the defines marked
with a star used by the LSI Mini port driver sample provided in the 7600.16385.1
version of the Win DDK.

* Abort Command SRB_FUNCTION_ABORT_COMMAND (0x10) *
* Reset Device SRB_FUNCTION_RESET_DEVICE (0x13) *
* Reset LUN SRB_FUNCTION_RESET_LOGICAL_UNIT (0x20) *
* Reset Bus SRB_FUNCTION_RESET_BUS (0x12) *
* Terminate Process SRB_FUNCTION_TERMINATE_IO (0x14) *
* IO Control SRB_FUNCTION_IO_CONTROL (0x02) *
Release Recovery SRB_FUNCTION_RELEASE_RECOVERY (0x11)
Receive Event SRB_FUNCTION_RECEIVE_EVENT (0x03)
Flush Cache SRB_FUNCTION_FLUSH (0x08)
Lock Queue SRB_FUNCTION_LOCK_QUEUE (0x18)
Unlock Queue SRB_FUNCTION_UNLOCK_QUEUE (0x19)
Dump Pointers SRB_FUNCTION_DUMP_POINTERS (0x26)

I found these in Disk.sys

* Reset Bus SRB_FUNCTION_RESET_BUS (0x12) *
* Flush Cache SRB_FUNCTION_FLUSH (0x08) *
* Shutdown SRB_FUNCTION_SHUTDOWN (0x07) *

Assuming the driver stack looks something like this:

Filesystem
PartMgr
Disk
My lower disk filter
Storport
Mini port driver

HW

So from what I can see, the stared SRB_FUNCTION defines above that
are defined in the minport driver code but not in the disk.sys are
valid but I will never see them. They are probably generated by the
storport.sys if at all. The defines in the Disk.sys I will see if
they are sent and the system isn't shutting down.
I figured I would ask the experts:

  1. If you could ever expect a lower filter disk driver to receive any of the SRB functions not listedin the disk.sys?
  2. Would there be any alternate routes to get this data without writing a minport driver?
  3. Is there any documentation that tells the user what layer of the disk device stack generates a specific SRB_FUNCTION_?

Thank you for your time
-john

Some SRBs are generated by storport and the upper drivers. Some are generated exclusively by storport.