Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


NT/W2K SCSI Port filter

OSR_Community_UserOSR_Community_User Member Posts: 110,217
I'm trying to write a simple SCSI port filter for NT/Win2k.
The sequence is:

1) Get the pointer to the ScsiPort# device object
2) Get the pointer to the miniport driver object
3) Walk the list of all device objects and attach to each one of them

My question is: in case of a driver handling multiple ports (i.e. ATAPI.SYS)
how can I tell which device is on which port?
For example, assuming I have a hard disk on the primary ATAPI bus and a
CD-ROM on the secondary bus, when I scan the list of devices attached to the
ATAPI driver the following is the sequence:

FILE_DEVICE_MASS_STORAGE
FILE_DEVICE_DISK
FILE_DEVICE_CONTROLLER
FILE_DEVICE_CONTROLLER

How can I tell FILE_DEVICE_MASS_STORAGE is on ScsiPort1 and FILE_DEVICE_DISK
is on ScsiPort0?

TIA,

---Mirco.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online
Writing WDF Drivers 22 May 2023 Live, Online