Значение | ОС | Условное обозначение | Описание |
---|
>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) |
>$STANDARD_INFORMATION
Атрибут стандартной информации описывает время создания/изменения/последнего доступа к файлу и права доступа, а также некоторую другую вспомогательную информацию (например, квоты). Структура атрибута стандартной информации кратко описана в табл. 6.7.
Таблица 6.7. Структура атрибута >$STANDARD_INFORMATION
Смещение | Размер | ОС | Описание |
---|
- - | | Любая | Стандартный атрибутный заголовок (standard attribute header) |
>00h | 8 | Любая | >C — время создания (creation) файла |
>08h | 8 | Любая | >A — время изменения (altered) файла |
>10h | 8 | Любая | >M — время изменения файловой записи (MFT changed) |
>18h | 8 | Любая | >R — время последнего чтения (read) файла |
>20h | 4 | Любая | Права доступа MS-DOS (MS-DOS file permissions) |
Значение | Описание |
---|
>0001h | Только на чтение (read-only) |
>0002h | Скрытый (hidden) |
>0004h | Системный (system) |
>0020h | Архивный (archive) |
>0040h | Устройство (device) |
>0080h | Обычный (normal) |
>0100h | Временный (temporary) |
>0200h | Разреженный (sparse) файл |
>0400h | Точка передачи (reparse point) |
>0800h | Сжатый (compressed) |
>1000h | Оффлайновый (offline) |
>2000h | Неиндексируемый (not content indexed) |
>4000h | Зашифрованный (encrypted) |
>24h | 4 | Любая | Старшее двойное слово номера версии (maximum number of versions) |
>28h | 4 | Любая | Младшее двойное слово номера версии (version number) |
>2Ch | 4 | Любая | Идентификатор класса (class ID) |
>30h | 4 | Windows 2000 | Идентификатор владельца (owner ID) |
>34h | 4 | Windows 2000 | Идентификатор безопасности (security ID) |
>38h | 8 | Windows 2000 | Количество квотируемых байт (quota charged) |
>40h | 8 | Windows 2000 | Номер последней последовательности обновления (update sequence number USN) |
>$ATTRIBUTE_LIST
Атрибут списка атрибутов (прямо каламбур) используется в тех случаях, когда все атрибуты файла не умещаются в базовой файловой записи, и файловая система вынуждена располагать их в расширенных файловых записях. Индексы расширенных файловых записей содержатся в атрибуте списка атрибутов, помещаемом в базовую файловую запись.
При каких обстоятельствах атрибуты не умещаются в одной файловой записи? Это может произойти в следующих случаях:
□ файл содержит много альтернативных имен или жестких ссылок;
□ файл сильно фрагментирован;
□ файл содержит очень сложный дескриптор безопасности;
□ файл имеет очень много потоков данных (т.е. атрибутов типа >$DATA
).
Структура атрибута списка атрибутов приведена в табл. 6.8.
Таблица 6.8. Структура атрибута >$ATTRIBUTE_LIST
Смещение | Размер | Описание |
---|
- - | | Стандартный атрибутный заголовок (standard attribute header) |
>00h | 4 | Тип (type) атрибута (см. табл. 6.6) |
>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 | 2>N | Если >N>0 , то имя в формате UNICODE |
>$FILE_NAME
Атрибут полного имени файла хранит имя файла в соответствующем пространстве имен. Таких атрибутов у файла может быть и несколько (например, имя Win32 и имя MS-DOS). Здесь же хранятся и жесткие ссылки (hard link), если они есть.
Структура атрибута полного имени приведена в табл. 6.9.
Таблица 6.9. Структура атрибута >$FILE_NAME