Hi All,
I’m looking at developing a simple SCSI filter driver for analysing the usage of certain inquiry commands sent to SCSI devices. Ultimately I’ll be aiming to output a count of the number of commands with certain CDB’s that the driver sees. I’ve written a simple filter driver (upper class filter sitting on the SCSIAdapter stack) that just prints debug messages when it sees certain IRP’s, but I’ve got the problem of not being able to recieve IRP_MJ_SCSI. From what I’ve read already on this forum, it looks like I need to incorporate some sort of virtual device to get the filter to see all the SCSI traffic. I’ve also run OSR’s DeviceTree program which tells me that for BusHound, under the “\Driver\bhound6” there is a “\Device\BusHound” device.
What I would like to know is: (1) Whether or not I’m going down the right route with this? Is making a virtual device the best way to achieve this? And (2) If I am; how to I go about making a simple device (like \Device\BusHound)?
Any help would be greatly appreciated.
Thanks,
Ben