2013-05-22 5 views
0

Мы создаем инструмент обработки файлов fat32 в C и в настоящее время пытаемся получить доступ ко всем записям в корневом каталоге (расположенном сразу после двух таблиц FAT).FAT32: записи в корневом каталоге

Первый вопрос: все ли записи корневого каталога смежны в области данных? Если нет, с учетом первой записи, как мы можем получить доступ к следующей записи?

Имеет ли это какое-либо отношение к тегам «low cluster/high cluster» или нам нужно искать в таблице FAT для него (корневой каталог)?

В принципе, у нас есть «уравнение», которое ведет нас к области данных. Исходя из этого, мы указываем на кластер, но после этого мы действительно не знаем, как найти следующую запись в корневом каталоге .

Это может показаться запутанным, но если вам нужны кусочки кода или дополнительная информация, я предоставлю их.

Заранее спасибо.

ответ

1

Элементы каталога FAT (также FAT32) 32 байта и отображаются в последовательном порядке.

Для хранения длинных имен файлов для записи может потребоваться несколько 32 байтов.

О том, как L (Ong) F (Ile) N (Ames) маркированы (от wikipedia):

длинные имена файлов (LFN) хранятся в файловой FAT системы с помощью спецэффекта добавления (возможно, несколько) дополнительных записей в каталог до нормальной записи файла. Дополнительные записи отмечены атрибутами Volume Label, System, Hidden и Read Only (с выходом 0x0F), который является комбинацией, которая не ожидается в среде MS-DOS и поэтому игнорируется программами MS-DOS и сторонними коммунальные услуги. (и далее)


Ссылаясь на второй вопрос (от wikepedia):

[...] VFAT LFN записи всегда имеют значение кластера в 0x1A установлено значение 0x0000 и длины запись при 0x1C никогда не 0x00000000 [...]

Смежные вопросы