как узнать на каком винте находится раздел(партиция)
От: SKyNeTRoman http://skynet-team.narod.ru
Дата: 01.07.04 08:41
Оценка:
Помогите, пожалуйста, кто знает какую-нибудь функцию чтобы узнать на каком винте находится раздел(партиция). Заранее огромное спасибо. Если кто-нибудь напишет, то он(она) меня этим очень выручит.
Re: как узнать на каком винте находится раздел(партиция)
От: MShura  
Дата: 01.07.04 13:47
Оценка:
Здравствуйте, SKyNeTRoman, Вы писали:

SKN>Помогите, пожалуйста, кто знает какую-нибудь функцию чтобы узнать на каком винте находится раздел(партиция). Заранее огромное спасибо. Если кто-нибудь напишет, то он(она) меня этим очень выручит.


Воспользуйся готовыми программами:
Paragon PM, Aronis PE, PowerQuest PM и т.д.

если нужно самому то подход сильно отличается для разных OS.
Re[2]: как узнать на каком винте находится раздел(партиция)
От: Аноним  
Дата: 02.07.04 04:49
Оценка:
Здравствуйте, MShura, Вы писали:

MS>Воспользуйся готовыми программами:

MS>Paragon PM, Aronis PE, PowerQuest PM и т.д.

Да, гениальный ответ... Только каким боком это к WinAPI относится?
Re[3]: как узнать на каком винте находится раздел(партиция)
От: MShura  
Дата: 02.07.04 18:04
Оценка:
Здравствуйте, Аноним, Вы писали:

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


MS>>Воспользуйся готовыми программами:

MS>>Paragon PM, Aronis PE, PowerQuest PM и т.д.

А>Да, гениальный ответ... Только каким боком это к WinAPI относится?


Очень просто. Достаточно воспользоваться IDA (если умеешь) и получить ответы на все вопросы.
Re: как узнать на каком винте находится раздел(партиция)
От: Ihor Osovyak Украина  
Дата: 03.07.04 06:57
Оценка:
Здравствуйте, SKyNeTRoman, Вы писали:

SKN>Помогите, пожалуйста, кто знает какую-нибудь функцию чтобы узнать на каком винте находится раздел(партиция). Заранее огромное спасибо. Если кто-нибудь напишет, то он(она) меня этим очень выручит.


Вопрос не совсем корректно поставлен, так как непонятно, что у Вас есть для идентификации партиции. То есть, что будет входным параметром для функции — решения.

Это я к чему. Чтобы получить описатель партиции (для NT это будет вероятнее всего указатель на соответственную структуру _PARTITION_INFORMATION (см. ntdddisk.h), для W9X — некий порядковый номер — то как входный параметр для соотв. апишных вызовов уже нужно указать номер соотв. устройства (для нт вообще-то логическое имя соотв. физического устройства, но это имя однозначно определяется из физического номера устройства). То есть задачу и решать не нужно — если у вас есть некий описатель партиции, то это значит, что вы знаете, от какого физического устройства этот описатель получен.

Да, еще. Для W9X для доступа к физическим устройствам HDD придется подружится с Int13, которое в части для HDD при вызове c WIN32 посредством VWIN32 не совсем работает. Придется делать врапер либо в виде 16-битной длл либо в виде vxd. Для NT — есть штатные решения (CreateFile для соотв. физ устройства, DeviceIoControl + соотв. IOCTL_XXXXXX — много их)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.