Таблица 6.5. Структура нерезидентного атрибута
Смещение | Размер (байт) | Значение | Описание |
00h
| 4 | | Тип атрибута (например, 0x20 , 0x80 ) |
04h
| 4 | | Длина атрибута, включая этот заголовок |
08h
| 1 | 01h
| Флаг нерезидентности (non-resident flag) |
09h
| 1 | N
| Длина имени атрибута (ноль, если атрибут безымянный) |
0Ah
| 2 | 40h
| Смещение имени (ноль, если атрибут безымянный) |
0Ch
| 2 | | Флаги |
Значение | Описание |
0001h
| Сжатый атрибут (compressed) |
4000h
| Зашифрованный атрибут (encrypted) |
8000h
| Разреженный атрибут (sparse) |
0Eh
| 2 | | Идентификатор атрибута (attribute ID) |
10h
| 8 | | Начальный виртуальный кластер (starting VCN) |
18h
| 8 | | Конечный виртуальный кластер (last VCN) |
20h
| 2 | 2N+40h
| Смещение списка отрезков (data runs) |
22h
| 2 | | Размер блока сжатия (compression unit size), округленный до 4 байт в большую сторону |
24h
| 4 | 00h
| Используется для выравнивания |
28h
| 8 | | Выделенный размер (allocated size), округленный до размера кластера |
30h
| 8 | | Реальный размер (real size) |
38h
| 8 | | Инициализированный размер потока (initialized data size of the stream) |
40h
| 2N | UNICODE
| Имя атрибута (если есть) |
2N+40h
| … | | Список отрезков (data runs) |
Типы атрибутов
NTFS поддерживает большее количество предопределенных типов атрибутов, перечисленных в табл. 6.6. Тип атрибута определяет его назначение и формат представления тела. Полное описание всех атрибутов заняло бы не одну главу, а целую книгу, поэтому здесь приводятся лишь наиболее "ходовые" из них, а за информацией об остальных обращайтесь к документации Linux-NTFS Project.
Таблица 6.6. Основные типы атрибутов
Значение | ОС | Условное обозначение | Описание |
010h
| Любая | $STANDARD_INFORMATION
| Стандартная информация о файле (время, права доступа) |
020h
| Любая | $ATTRIBUTE_LIST
| Список атрибутов |
030h
| Любая | $FILE_NAME
| Полное имя файла |
040h
| Windows NT | $VOLUME_VERSION
| Версия тома |
040h
| Windows 2000 | $OBJECT_ID
| Глобально уникальный идентификатор (GUID) и прочие ID |
050h
| Любая | $SECURITY_DESCRIPTOR
| Дескриптор безопасности и списки прав доступа (ACL) |
060h
| Любая | $VOLUME_NAME
| Имя тома |
070h
| Любая | $VOLUME_INFORMATION
| Информация о томе |
080h
| Любая | $DATA
| Основные данные файла |
090h
| Любая | $INDEX_ROOT
| Корень индексов |
0A0h
| Любая | $INDEX_ALLOCATION
| Ветви (sub-nodes) индекса |
0B0h
| Любая | $BITMAP
| Карта свободного пространства |
0C0h
| Windows NT | $SYMBOLIC_LINK
| Символическая ссылка |
0C0h
| Windows 2000 | $REPARSE_POINT
| Для сторонних производителей |
0D0h
| Любая | $EA_INFORMATION
| Расширенные атрибуты для HPFS |
0E0h
| Любая | $EA
| Расширенные атрибуты для HPFS |
0F0h
| Windows NT | $PROPERTY_SET
| Устарело и ныне не используется |
100h
| Windows 2000 | $LOGGED_UTILITY_STREAM
| Используется шифрующей файловой системой (EFS) |