Конференция "WinAPI" » чтение конкретного LBA на винте [D7, WinXP]
 
  • zvm (16.12.09 10:08) [0]
    Как получить доступ к конкретному лог блоку диска?
    Хочу быстро написать такую прогу. Грубо идея такая-
     -пытаюсь прочесть LBA номер N
     -если не читается (смотрю по таймеру), то добавляю в ВАД файл  этот LBA.
     -перебераю все  LBA на винте.

    В результате хочу иметь файл ВАД, состоящий целиком из порченных блоков.
  • grammar-nazi (16.12.09 15:33) [1]
    LBA (Logical Block Addressing) - это название механизма адресации блоков. нельзя "прочесть LBA номер N".
    прочитать сектор диска можно - открыть диск с помощью CreateFile и прочитать с помощью, как бы неожиданно это не прозвучало, ReadFile.
  • zvm (16.12.09 16:47) [2]
    то-то не догнал, извиняюсь.
           BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
    Здесь FromF переменная типа file. Там ни дорожек, ни секторов.
  • Anatoly Podgoretsky © (16.12.09 16:53) [3]
    Ни о каких BlockRead и речи не было, да и конференция то по WinAPI - вот и смотри там CreateFile и ReadFile, возможно также применение IOCTL функций, например для получение геометрии диска. LBA по адресации совместим с понятием Abslolute Sector и известные для ДОС соответствующие операции, не помню вроде функции 25/26 - в Виндоус через ReadFile
  • brother © (17.12.09 04:08) [4]
    http://www.xakep.ru/post/27724/default.asp?print=1
    Удачного изучения!
  • zvm (17.12.09 09:37) [5]
    Большущее спасибо!
    Читаю с наслаждением!
  • делфиец (25.12.09 19:15) [6]

    > Anatoly Podgoretsky ©   (16.12.09 16:53) [3]
    > Ни о каких BlockRead и речи не было, да и конференция то
    > по WinAPI - вот и смотри там CreateFile и ReadFile, возможно
    > также применение IOCTL функций, например для получение геометрии
    > диска. LBA по адресации совместим с понятием Abslolute Sector
    > и известные для ДОС соответствующие операции, не помню вроде
    > функции 25/26 - в Виндоус через ReadFile


    Вовсе не обязательно прибегать к этим IOCTL функциям, если знаете размещения структур и их порядок на диске, то можно и так "прямым чтением" он и так весь читается от самого нулевого и до самого последнего байта но только блоками по  ххх байт.
  • Игорь Шевченко © (25.12.09 22:23) [7]
    оно конечно хорошо, только нафиг не нужно. ну то есть, вообще нафиг
  • SPeller © (29.12.09 01:09) [8]
    а если вад файл на не читаемом блоке? )
  • Anatoly Podgoretsky © (29.12.09 02:56) [9]

    > а если вад файл на не читаемом блоке? )

    То об этом будет известно.
 
Конференция "WinAPI" » чтение конкретного LBA на винте [D7, WinXP]
Есть новые Нет новых   [134431   +15][b:0][p:0]