Атрибут списка атрибутов $ATTRIBUTE_LIST
Атрибут списка атрибутов (прямо каламбур) используется в тех случаях когда все атрибуты файла не умещаются в базовой файловой записи и файловая система вынуждена располагать их в расширенных. Индексы расширенных файловых записей содержатся в атрибуте списка атрибутов, помещаемом в базовую файловую запись.
При каких обстоятельствах атрибуты не умещаются в одной файловой записи? Это может произойти когда: а)файл содержит много альтернативных имен или жестких ссылок; б) файл очень-очень сильно фрагментирован; в) файл содержит очень сложный дескриптор безопасности; г) файл имеет очень много потоков данных (т. е. атрибутов типа $DATA).
Структура атрибута списка атрибутов приведена ниже:
смещение | размер | описание | |||
~ ~ |
| стандартный атрибутный заголовок (standard attribute header) | |||
00h | 4 | тип (type) атрибута (см. таблицу 8) | |||
04h | 2 | длина записи (record length) | |||
06h | 1 | длина имени (name length), или ноль, если нет. условно – N | |||
07h | 1 | смещение имени (offset to name), или ноль если нет | |||
08h | 8 | начальный виртуальный кластер (starting VCN) | |||
10h | 8 | ссылка на базовую/расширенную файловую запись | |||
18h | 2 | идентификатор атрибута (attribute ID) | |||
1Ah | 2N | if N > 0, то имя в формате UNICODE |