IOCTL_SCSI_GET_INQUIRY_DATA

Hi,
Is it possible that after call to IOCTL_SCSI_GET_INQUIRY_DATA the
scsiport.sys will create a new pdo (for new Lun/device) that it
discovered)
and if it is true why there is no call to IRP_MN_QUERY_DEVICE_RELATIONS
for the bus after it.

Sincerely
Omri

yes - ioctl_scsi_get_inquiry_data will occasionally cause a bus scan.
In that case scsiport calls IoInvalidateDeviceRelations so PNP can query
for the new devices.

there’s no guarantee that the rescan will occur (we have some code to
keep frequent sends of ISGID from flooding the bus with rescans since
they’re expensive). If you need to force a rescan you should either
tell the system to check for new devices through SetupDI or send
IOCTL_SCSI_RESCAN_BUS (I think htat’s the name).

-p

-----Original Message-----
From: Omri [mailto:xxxxx@verizon.net]
Sent: Monday, October 21, 2002 10:57 AM
To: NT Developers Interest List
Subject: [ntdev] IOCTL_SCSI_GET_INQUIRY_DATA

Hi,
Is it possible that after call to IOCTL_SCSI_GET_INQUIRY_DATA the
scsiport.sys will create a new pdo (for new Lun/device) that it
discovered)
and if it is true why there is no call to IRP_MN_QUERY_DEVICE_RELATIONS
for the bus after it.

Sincerely
Omri


You are currently subscribed to ntdev as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%

Hi,

I created a virtual bus on top of the scsiport.sys.

The virtual bus is actually the one that publishes his PDOs to the PnP
manager by replacing the scsiport PDOs and keep them internally in my
device.

Using this technique I can control the existence of disks in the system.
When ever I want to remove disk I actually remove my Virtual PDO and still
keep the scsiport PDO.

When I want to bring back disk I create a virtual PDO ontop of the already
existence scsiport PDO and notify the PnP manager about it using
IoInvalidateRelations with BusRelations,

This technique work for static disks meaning scsi disks that I install
locally on the computer.

The problems occur with Fibre Channel Disks for instance EMC – Clariion.

They’ve got an agent that uses the IOCTL_SCSI_GET_INQUIRY_DATA and
IOCTL_SCSI_PASS_THROUGH_DIRECT. Using the EMC manager I bind a new
Lun/disk to the system and

all I see are calls to IRP_MN_QUERY_DEVICE_RELATIONS for each PDO and not
for the scsiport FDO (which I filter to connect to new or removed scsiport
PDOs).

Sincerely

Omri