Re: HDD detection
От: Alter_ Украина http://alter.org.ua
Дата: 24.11.07 19:35
Оценка: 6 (2)
Здравствуйте, Chichikadze, Вы писали:

C>Пытаюсь определить наличие винчестеров на канале, но так и не пришел к однозначному ответу. Стандарт в этом плане несколько туманен: для идентификации предполагается команда EXECUTE_DEVICE_DIAGNOSTICS, но, к сожалению, она не дает полной информации. Более того, стандарт не определяет поведение для Device1 only конфигураций, а между тем такие конфигурации встречаются. Пытался раскопать исходники linux/BSD, но пока ни к чему конкретному не подобрался. Старый linux драйвер просто берет информацию из CMOS, с новым пока не разобрался. М.б. кто-то знает, как можно получить сведения о конфигурации, или ссылкой одарит хорошей?


ATA_IDENTIFY вам должно помочь. Во всяком случае для EIDE/ATA.
Для AT IDE имени IBM еще метод AnybodyHome подходит (но это только наличие).
Посмотрите исходники http://alter.org.ua/soft/win/uniata, функции FindDevices(), CheckDevice(), UniataAnybodyHome(), IssueIdentify()
--
Alter, http://alter.org.ua
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.