IOCTL_SCSI_GET_ADDRESS

Hi folks,
I have a big problem, please help.
I’m using the DeviceIoControl IOCTL_SCSI_GET_ADDRESS to retrieve the TID, LUN and ScsiBus at wich a given drive letter is attached. Everything works fine, except with Win2k and stripe sets and volume sets. The DeviceIoControl returns Invalid Function error.
Any suggestions greately appreciated!


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi folks,
I have a big problem, please help.
I’m using the DeviceIoControl IOCTL_SCSI_GET_ADDRESS to retrieve the TID, LUN and ScsiBus at wich a given drive letter is attached. Everything works fine, except with Win2k and stripe sets and volume sets. The DeviceIoControl returns Invalid Function error.
Any suggestions greately appreciated!


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You should send IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS to get a list of drives
the volume set is located on, then send IOCTL_SCSI_GET_ADDRESS for each hard
drive.

Regards,
Max

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Mark Twain
Sent: Saturday, September 15, 2001 1:30 AM
To: NT Developers Interest List
Subject: [ntdev] IOCTL_SCSI_GET_ADDRESS

Hi folks,
I have a big problem, please help.
I’m using the DeviceIoControl IOCTL_SCSI_GET_ADDRESS to retrieve the TID,
LUN and ScsiBus at wich a given drive letter is attached. Everything works
fine, except with Win2k and stripe sets and volume sets. The DeviceIoControl
returns Invalid Function error.
Any suggestions greately appreciated!

You are currently subscribed to ntdev as: xxxxx@acronis.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

>I’m using the DeviceIoControl IOCTL_SCSI_GET_ADDRESS to retrieve the TID,

LUN and ScsiBus at wich a given drive letter is attached. Everything works
fine, except with Win2k and stripe sets and volume sets. The
DeviceIoControl returns Invalid Function error.

Generally, stripe/volume sets would be spread across multiple physical
disks. What kind of value would you expect this to return? It makes a lot
of sense that IOCTL_SCSI_GET_ADDRESS is not valid for a drive letter on
multiple physical devices.

  • Jan

You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Well, I’m expecting to retrun at least details for one of the partitions…
as it is in NT…
----- Original Message -----
From: Jan Bottorff
To: NT Developers Interest List
Sent: Saturday, September 15, 2001 10:56 AM
Subject: [ntdev] Re: IOCTL_SCSI_GET_ADDRESS

>
> >I’m using the DeviceIoControl IOCTL_SCSI_GET_ADDRESS to retrieve the TID,
> >LUN and ScsiBus at wich a given drive letter is attached. Everything
works
> >fine, except with Win2k and stripe sets and volume sets. The
> >DeviceIoControl returns Invalid Function error.
>
> Generally, stripe/volume sets would be spread across multiple physical
> disks. What kind of value would you expect this to return? It makes a lot
> of sense that IOCTL_SCSI_GET_ADDRESS is not valid for a drive letter on
> multiple physical devices.
>
> - Jan
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@crosswinds.net
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

This is up to storage driver developer - support IOCTL_SCSI_GET_ADDRESS at
port driver level or not. For example I do not support
IOCTL_SCSI_GET_ADDRESS in my SCSI port driver. A lot of (mostly virtual as
stripe set) driver developer do the same (as for me there is no direct
translation to SCSI address in the storate bus architecture I support -
you’ll not be able to understand 64-bit LUN addresses I use).

Regards,
Anton

I have a big problem, please help.
I’m using the DeviceIoControl IOCTL_SCSI_GET_ADDRESS to retrieve the =
TID, LUN and ScsiBus at wich a given drive letter is attached. =
Everything works fine, except with Win2k and stripe sets and volume =
sets. The DeviceIoControl returns Invalid Function error.
Any suggestions greately appreciated!


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> This is up to storage driver developer - support IOCTL_SCSI_GET_ADDRESS at

port driver level or not.

No.
Since SCSIPORT supports it - it must be supported.

For example I do not support
IOCTL_SCSI_GET_ADDRESS in my SCSI port driver.

Then you have a buggy port. You do not know what app will fail on it, but
some will fail for sure.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

>You do not know what app will fail on it
ASPI will fail

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Saturday, September 15, 2001 8:18 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IOCTL_SCSI_GET_ADDRESS

This is up to storage driver developer - support IOCTL_SCSI_GET_ADDRESS at
port driver level or not.

No.
Since SCSIPORT supports it - it must be supported.

For example I do not support
IOCTL_SCSI_GET_ADDRESS in my SCSI port driver.

Then you have a buggy port. You do not know what app will fail on it, but
some will fail for sure.

Max


You are currently subscribed to ntdev as: xxxxx@acronis.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> > This is up to storage driver developer - support IOCTL_SCSI_GET_ADDRESS at

> port driver level or not.

No.
Since SCSIPORT supports it - it must be supported.

IOCTL_SCSI_GET_ADDRESS is not mandatory.

> For example I do not support
> IOCTL_SCSI_GET_ADDRESS in my SCSI port driver.

Then you have a buggy port. You do not know what app will fail on it, but
some will fail for sure.

Well. So this application will fail with every RAID managed volume (either
virtual or hardware).


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> >You do not know what app will fail on it

ASPI will fail

It will. I do not support IOCTL_SCSI_PASS_THROUGH_XXX. I see ABSOLUTELY
no reason someone will wish to access the volumes at low level with SCSI
commands using SCSI pass-thru (or ASPI as higher level wrapper over SCSI
pass-thru).


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Some low-level disk repair utilities use direct SCSI command via
pass-through.

Jamey
xxxxx@storagecraft.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@hotmail.com
Sent: Sunday, September 16, 2001 4:50 PM
To: NT Developers Interest List
Subject: [ntdev] Re: IOCTL_SCSI_GET_ADDRESS

>You do not know what app will fail on it
ASPI will fail

It will. I do not support IOCTL_SCSI_PASS_THROUGH_XXX. I see
ABSOLUTELY
no reason someone will wish to access the volumes at low level with SCSI

commands using SCSI pass-thru (or ASPI as higher level wrapper over SCSI

pass-thru).


You are currently subscribed to ntdev as: xxxxx@storagecraft.com To
unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Well. As I do not support any commands except the ones for direct media
access (that are mandatory for disk devices), and I do not write complete
replacement of SCSIPORT (as you do I think) there never will be support for
special SCSI commands you’re talking about. So if I’ll add SCSI pass thru
now to my code the utilities will fail just a level below they fail now…
I just see now way to resolve this. I cannot support every SCSI command.

Some low-level disk repair utilities use direct SCSI command via
pass-through.


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com