Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.8.216] |
|
Сообщ.
#1
,
|
|
|
Цитирую
<br> A diskette (or a DOS partition of a hard disk) is laid out like so:<br><br> _ Boot and reserved sector(s)<br> _ FAT #1<br> _ FAT #2 (optional -- not used on RAM disks; simulated by Dblspace)<br> _ root directory<br> _ data area (all file data reside here, including files for directories)<br> Теперь я высчитал, где начинается корневое оглавление (root directory), считал его в память. Правильно ли я понимаю, что это корневое оглавление состоит только из 32-байтовых элементов оглавления каждого файла. По смещению 1Ah находится ссылка на первый кластер этого файла и значит можно полностью его расположение на диске (или дискете). Но дальше я чего-то в тупик зашёл. Вопрос такой: если этот файл - это каталог и в нём есть другие каталоги, то как определить из элемента оглавления этого каталога ссылки на элементы оглавления каталогов (чтобы потом выйти через них на FAT) или(и) файлов, находящихся в нём ? Структура элемента такая, но ответа я в ней не нахожу Цитирую <br>Offset Size Contents<br> ______ ____ ___________________________________________________________<br> +0 8 abName left-justified, blank-padded (e.g. 'FILE '<br> +8 3 abExt left-justified, blank-padded (e.g. 'EXT'<br>+0bH 1 bAttr file attribute<br>+0cH 10 res (reserved)<br>+16H 2 rTime time created/last modified in FileTimeRec format<br>+18H 2 rDate date created/last modified in FileDateRec format<br>+1aH 2 wClstrNo cluster number of start of file (link into FAT)<br>+1cH 4 lSize file size in bytes<br> 32 size of DirEntryRec<br> |
Сообщ.
#2
,
|
|
|
Каталог - это файл, имеющий атрибут каталога. Его можно также прочесть (по секторам), как обычный файл, но содержать он будет такие же 32-байтовые элементы, как и Root Dir Entries.... Кстати, описание файла/каталога может состоять из нескольких 32-байтных элементов, если файл/каталог имеет длинное имя....
|
Сообщ.
#3
,
|
|
|
<br>Его можно также прочесть (по секторам), как обычный файл, но содержать он будет такие же 32-байтовые элементы, как и Root Dir Entries...<br> Они будут находиться в кластере, на который указывает (т.е. начиная с) wClstrNo ? |
Сообщ.
#4
,
|
|
|
Всё ! Разобрался ! 8)
|