Как получить DEVICE ID по букве диска
От: Disappear  
Дата: 04.12.03 17:25
Оценка:
Если буква тома, нужно получить DEVICE ID усторойства, связанного с этим томом:
DEVICE ID, это не Volume Serial, поэтому GetVolumeInformation не подойдет.

The device ID format is:

IDE\t*v(40)r(8)

where t* is a device-type code of variable length, v(40) is a string containing the vendor name, an underscore, vendor's product name, and enough underscores to bring the total to 40 characters; r(8) is an 8-character revision number.

У меня получилось перечислить все устройства, и увидеть их DEV ID, но а как узнать за каким ID стоит определенный том???
Re: Как получить DEVICE ID по букве диска
От: jamj  
Дата: 05.12.03 08:31
Оценка:
Здравствуйте, Disappear, Вы писали:

D>Если буква тома, нужно получить DEVICE ID усторойства, связанного с этим томом:

D>DEVICE ID, это не Volume Serial, поэтому GetVolumeInformation не подойдет.

D>The device ID format is:


D>IDE\t*v(40)r(8)


D>where t* is a device-type code of variable length, v(40) is a string containing the vendor name, an underscore, vendor's product name, and enough underscores to bring the total to 40 characters; r(8) is an 8-character revision number.


D>У меня получилось перечислить все устройства, и увидеть их DEV ID, но а как узнать за каким ID стоит определенный том???


А если на одном устройстве несколько томов?
Один из способов:
Попробуй получить интерфейс устройства, потом на него IOCTL_SCSI_GET_ADDRESS.
Теперь перечисли все тома в системе и на каждый том натрави тот же IOCTL.
В результата получишь какие тома находятся на каком устройстве.
... << RSDN@Home 1.1.0 stable >>
Re[2]: Как получить DEVICE ID по букве диска
От: Disappear  
Дата: 05.12.03 12:40
Оценка:
Здравствуйте, jamj, Вы писали:

J>А если на одном устройстве несколько томов?

J>Один из способов:
J>Попробуй получить интерфейс устройства, потом на него IOCTL_SCSI_GET_ADDRESS.
А как мне молучить IOCTL_* зная интерфейс устройств?

J>Теперь перечисли все тома в системе и на каждый том натрави тот же IOCTL.

Это, как я понимаю делается через CreateFile и DeviceIoControl

J>В результата получишь какие тома находятся на каком устройстве.


И вот еже вопрос: Будет ли IOCTL_SCSI_GET_ADDRESS работать для USB устройст, к примеру Flash Drive.
Re: Как получить DEVICE ID по букве диска
От: Patalog Россия  
Дата: 05.12.03 13:20
Оценка:
Здравствуйте, Disappear, Вы писали:

[]

1. see http://www.rsdn.ru/Forum/Message.aspx?mid=247886&amp;only=1
Автор: Patalog
Дата: 21.04.03

2. То, что тебя интересует, это то что находиться по адресу SCSI_INQUIRY_DATA::InquiryData
3. +see http://www.rsdn.ru/Forum/Message.aspx?mid=205966&amp;only=1
Автор: Patalog
Дата: 03.03.03
for inquiry_data struct
Почетный кавалер ордена Совка.
Re[2]: Как получить DEVICE ID по букве диска
От: Disappear  
Дата: 05.12.03 21:03
Оценка:
Здравствуйте, Patalog, Вы писали:

P>Здравствуйте, Disappear, Вы писали:


P>[]


P>1. see http://www.rsdn.ru/Forum/Message.aspx?mid=247886&amp;only=1
Автор: Patalog
Дата: 21.04.03

P>2. То, что тебя интересует, это то что находиться по адресу SCSI_INQUIRY_DATA::InquiryData
P>3. +see http://www.rsdn.ru/Forum/Message.aspx?mid=205966&amp;only=1
Автор: Patalog
Дата: 03.03.03
for inquiry_data struct


IOCTL_SCSI_GET_INQUIRY_DATA не работает для USB removable hard drive так же как и IOCTL_SCSI_GET_ADDRESS, а мне к сожалению, нужно именно к этому устройству инфу запросить.
видимо предыдущий способ был неплох:
если я знаю GUID типа моего устройства, я могу получть какую нибудь информацию, по которой возможно однозначно найти том???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.