I don’t think SCSIPORT issues IOCTL_SCSI_GET_INQUIRY_DATA to itself.
However . . .
I’m basing the following on what I’ve learned writing a miniport while
spending evenings thinking about how I’d write a port driver.
I believe, after calling HwFindAdapter ScsiPort enters a loop, sending
INQUIRY commands to the miniport until it finds no more LUNs. For each LUN
it finds it creates a deviceObject. I also believe this should be done
inside a IRP_MN_QUERY_DEVICE_RELATIONS Irp. You can’t filter this process.
Daniel Nemiroff
System Software Engineering
Intel Corp.
(916)356-5723
-----Original Message-----
From: COX,DAVID (HP-Roseville,ex1) [mailto:david_cox2@hp.com]
Sent: Friday, February 25, 2000 12:15 PM
To: ‘xxxxx@intel.com’
Subject: RE: [ntdev] RE: Help for SCSI mini port driver!
Since you’re on the subject:
Do you know if SCSIPORT issues IOCTL_SCSI_GET_INQUIRY_DATA to itself to
get the LUN list (thereby allowing filter drivers to modify the data
before PDOs are created)?
And is there any way any driver other than the miniport can trigger
SCSIPORT to remove existing PDOs and associated device stacks?
Thanks.
Dave Cox
Hewlett-Packard Co.
ESBU/SSMO (Santa Barbara)
-----Original Message-----
From: Nemiroff, Daniel [mailto:xxxxx@intel.com]
Sent: Friday, February 25, 2000 8:50 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Help for SCSI mini port driver!
you need to take a closer look at the Scsi Miniport spec. The port driver
totally isolates the miniport from having to worry about creating PDO’s and
FDO’s.
look at the ddk it has plenty of information to get you started.
calling scsiportinitialize from your driver entry will get your
HwFindAdapter entry point called. If you return SP_FOUND from HwFindAdapter
the ScsiPort will create an FDO for you .
Later the scsi port calls you back with inquiry commands to each LUN. For
every LUN it finds it creates a PDO.
Daniel Nemiroff
System Software Engineering
Intel Corp.
(916)356-5723