Здравствуйте, Horzer, Вы писали:
H>Если диск открывать как логический — CreateFile("\\\\.\\D:"), то при чтении данные в буфере расположены с начала. H>Если диск открывать как физический — CreateFile("\\\\.\\PHYSICALDRIVE1"), то данные начинаются с N-го сектора (у моей SD карты, например с 58-го)
H>Как правильно определять это смещение, чтобы начать чтение данных с нужного места?
Как минимум, стоит почитать про таблицы разделов (как классические, так и GUID Partition Table, на всякий случай). После этого по меньшей мере часть вопросов отпадёт.