![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
чтение конкретного LBA на винте [D7, WinXP]
zvm © (2009-12-16 10:08:00)Как получить доступ к конкретному лог блоку диска?
Хочу быстро написать такую прогу. Грубо идея такая-
-пытаюсь прочесть LBA номер N
-если не читается (смотрю по таймеру), то добавляю в ВАД файл этот LBA.
-перебераю все LBA на винте.
В результате хочу иметь файл ВАД, состоящий целиком из порченных блоков.
Anatoly Podgoretsky (2009-12-29 02:56:00) [1]
> а если вад файл на не читаемом блоке? )
То об этом будет известно.
SPeller (2009-12-29 01:09:00) [2]а если вад файл на не читаемом блоке? )
Игорь Шевченко (2009-12-25 22:23:00) [3]оно конечно хорошо, только нафиг не нужно. ну то есть, вообще нафиг
делфиец (2009-12-25 19:15:00) [4]
> Anatoly Podgoretsky © (16.12.09 16:53) [3]
> Ни о каких BlockRead и речи не было, да и конференция то
> по WinAPI - вот и смотри там CreateFile и ReadFile, возможно
> также применение IOCTL функций, например для получение геометрии
> диска. LBA по адресации совместим с понятием Abslolute Sector
> и известные для ДОС соответствующие операции, не помню вроде
> функции 25/26 - в Виндоус через ReadFile
Вовсе не обязательно прибегать к этим IOCTL функциям, если знаете размещения структур и их порядок на диске, то можно и так "прямым чтением" он и так весь читается от самого нулевого и до самого последнего байта но только блоками по ххх байт.
zvm (2009-12-17 09:37:00) [5]Большущее спасибо!
Читаю с наслаждением!
brother (2009-12-17 04:08:00) [6]http://www.xakep.ru/post/27724/default.asp?print=1
Удачного изучения!
Anatoly Podgoretsky (2009-12-16 16:53:00) [7]Ни о каких BlockRead и речи не было, да и конференция то по WinAPI - вот и смотри там CreateFile и ReadFile, возможно также применение IOCTL функций, например для получение геометрии диска. LBA по адресации совместим с понятием Abslolute Sector и известные для ДОС соответствующие операции, не помню вроде функции 25/26 - в Виндоус через ReadFile
zvm (2009-12-16 16:47:00) [8]то-то не догнал, извиняюсь.
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
Здесь FromF переменная типа file. Там ни дорожек, ни секторов.
grammar-nazi (2009-12-16 15:33:00) [9]LBA (Logical Block Addressing) - это название механизма адресации блоков. нельзя "прочесть LBA номер N".
прочитать сектор диска можно - открыть диск с помощью CreateFile и прочитать с помощью, как бы неожиданно это не прозвучало, ReadFile.