Смещение | Размер | Описание |
---|---|---|
- - | Стандартный атрибутный заголовок (standard attribute header) | |
00h | 8 | Ссылка (file reference) на материнский каталог |
08h | 8 | C — время создания (creation) файла |
10h | 8 | A — время последнего изменения (altered) файла |
18h | 8 | M — время последнего изменения файловой записи (MFT changed) |
20h | 8 | R — время последнего чтения (read) файла |
28h | 8 | Выделенный размер (allocated size) файла |
30h | 8 | Реальный размер (real size) файла |
38h | 4 | Флаг (см. табл. 6.7) |
3Ch | 4 | Используется HPFS |
40h | 1 | Длина имени в символах — L |
41h | 1 | Пространство имен файла (filename namespace) |
42h | 2L | Имя файла в формате UNICODE без завершающего нуля |
Списки отрезков
Тела нерезидентных атрибутов хранятся на диске в одной или нескольких кластерных цепочках, называемых
Внутренний формат представления списков не то, чтобы сложен, но простым его тоже на назовешь. Для экономии места длина отрезка и номер начального кластера хранятся в полях переменной длины. Если размер отрезка умещается в байт (т.е. его значение не превышает 255), то он займет один байт. По аналогии, если размер отрезка требует для своего представления двойного слова, то он займет двойное слово.
Сами же поля размеров хранятся в 4-битных ячейках, называемых X & 15
), а старший — (X / 16
). Иначе говоря, младший ниббл соответствует младшему шестнадцатеричному разряду байта, а старший — старшему. Например, 69h
состоит из двух нибблов, причем младший равен 9h
, а старший — 6h
.
Список отрезков представляет собой массив структур, каждая из которых описывает характеристики 'своего' отрезка. Структура элемента списка отрезков показана в табл. 6.10. В конце списка находится завершающий ноль. Первый байт структуры состоит из двух нибблов: младший задает длину поля начального кластера отрезка (условно обозначаемого буквой F
), а старший — количество кластеров в отрезке (L
). Затем идет поле длины отрезка. В зависимости от значения