Обновить Disk Manager после прямой записи в MBR и т.п. действий
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.9] |
|
|
Правила раздела C/C++: Системное программирование и WinAPI
FAQ Сайта (C++)
FAQ Форума
Наши Исходники
Поиск по Разделу
MSDN Library Online (Windows Driver Kit)
Google
Обновить Disk Manager после прямой записи в MBR и т.п. действий
|
|
|
|
|
Привет всем.
Написал я тут софтину типа некоего бэкапа. Одна из её функций - создание на физическом диске раздела в основной таблице MBR (0 сектор харда). GPT и старых extended partitions нет по определению. Они мне не нужны вообще, я с ними не работаю. Всё, что я с ними могу сделать - это удалить записью нулей в соответствующую запись в MBR. То, что сделано, всё работает. Осталась одна так сказать проблемка - после записи надо как-то "сказать" винде, что на харде изменились разделы и их надо перечитать. Т.е. надо автоматически сделать то, что делает виндозный Disk Manager в меню Действие -> Обновить. Если пойти руками нажать это меню, то мои изменения на диске успешно появляются. Вопрос - как это сделать? Я искал - не нашёл, возможно неправильно искал. Основная прога на C#, но куски (чтение/запись физических секторов сделаны на си/winapi). Я так понимаю, должны быть какие-то вызовы WinApi или типа того. Спасибо. |
|
Сообщ.
#3
,
|
|
|
|
Оболочка, скорее всего, тут не поможет. Она полагается на инфу от драйверов, и думаю, что это поможет только со съёмными носителями. Тут нужно драйверам сообщить об изменениях в структуре разделов.
Когда-то натыкался на IOCTL_DISK_UPDATE_PROPERTIES и насилу вспомнил этот код. Искал в своё время методы перебора всех жёстких ссылок. |
|
Сообщ.
#4
,
|
|
|
|
SHChangeNotify -- натыкался при поисках, но там тьма функций, детально не копался в ней.
IOCTL_DISK_UPDATE_PROPERTIES - по описанию то, что надо. Спасибо всем, буду пробовать, отпишусь. |