Re: Прямая запись на диск
От: MShura  
Дата: 03.02.04 09:45
Оценка: 4 (1)
Здравствуйте, duke89, Вы писали:

D>Привет всем! Должна моя программа записывать на диск NTFS пару чисел, причем так, чтобы ничего на нем не поломать и чтоб эта информация сохранилась на диске не один день, а вечно(ну или пока диск не отформатируют). Мне посоветовали прочитать вначале MFT, узнать какой сетор еще пустой, записать в этот сектор мои числа и записть в MFT, что сектор типа уже занят, чтоб Виндоуз не записал на следующий день в мой сектор что-нибудь другое. Просто запсывать в сектор и читать из него с помощью АПИ я умею(кстати пишу я прогу на Дельфе), а вот как читать и записывать в MFT — не знаю. Может поможете?


Вообще-то это очень непростая тема.
То что тебе советовали верно только в самых общих чертах.
Поскольку если твой кластер не оформить как файл, то первый же вызов chkdsk пометит твой кластер как free.
Самый простой выход — писать в именованный поток какого-нибудь общего файла.
Большинство программ содержимое дополнительных потоков не показывают.
А на NTFS у многих файлов несколько именованных потоков. Тот же Word пользуется этим постоянно.

Даже WIN32 API предоставляет доступ к этим потокам.
Точно не помню, но по моему что-то типа так CreateFile( "C:\\boot.ini:Stream", ... )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.