winapi c - чтение / запись MBR системного диска

Есть ли у кого-нибудь пример кода, который показывает, как идентифицировать загрузочный жесткий диск системы и читать / записывать mbr с жесткого диска в Windows XP и Vista?

Я знаю, что можно использовать createfile. Но я не знаю, как правильно определить, какое устройство является загрузочным.

Например, как узнать, какие из них использовать? \. \ Volume {GUID} \ или \? \ Device \ HarddiskVolumeX и т. Д.?


person Community    schedule 03.08.2009    source источник
comment
Опасность! Опасно Уилл Робинсон! - Зачем именно нужно писать в MBR?   -  person Amber    schedule 03.08.2009
comment
@Dav: Есть много законных применений. Но есть еще много способов все испортить.   -  person EFraim    schedule 03.08.2009
comment
Мы используем специальный загрузчик, и я хочу иметь возможность обновлять текстовые сообщения, которые он отображает, это всего лишь пара коротких строк в MBR. Я уже знаю, что могу сделать это с помощью dd и т. Д., Но мне было интересно, какой правильный способ API это сделать, чтобы он работал в перспективе со всей безопасностью.   -  person    schedule 03.08.2009


Ответы (1)


вы можете попробовать просмотреть исходный код rawwrite для Windows http://www.chrysocome.net/rawwrite

person Spudd86    schedule 04.08.2009
comment
К сожалению, есть уловка, которая была добавлена ​​для nt6, rawwrite не работает на Vista или Windows7. - person ; 05.08.2009