Таблица 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
Смещение |
Размер |
Описание |
- - |
|
Стандартный атрибутный заголовок (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 без завершающего нуля |
Читать дальше
Конец ознакомительного отрывка
Купить книгу