
- •Оглавление
- •1 Простейшее Win32 приложение
- •2 Функция WinMain
- •3 Оконный класс
- •4 Стили класса, стили окна
- •5 Создание экземпляра оконного класса
- •6 Динамические изменения свойств оконного класса
- •7 Обработка сообщений
- •8 Программирование клавиатуры
- •9 Коды oem, ansii, asci, виртуальные коды клавиш
- •10 Символьные сообщения
- •11 Обработка сообщений от мыши
- •12 Программирование таймера
- •13 Диалоговые окна
- •14 Структура шаблона диалога
- •14(А) Ресурсы диалога
- •15 Функции создания диалога
- •16 Взаимодействие между элементами управления
- •17 Сообщения, SendMessage, SendDlgItemMessage
- •18 Обработка сообщений от элементов диалога
- •19 Элемент «Слайдер» (Румянцев - Азбука программирования в Win32 api, c.148)
- •20 Элемент ProgressBar (Румянцев - Азбука программирования в Win32 api, c.156)
- •21 Bios (общие сведения)
- •22 Файлы (общие сведения)
- •23 Создание файла (Win32 api)
- •24 Операции с файлом (Win32 api)
- •25 Организация файлов
- •26 Файловые системы (общие сведения)
- •Создание файла.
- •Удаление файла.
- •28 Структура логического диска под fat12 (wfat)
- •29 Каталоги в fat12
- •30 Алгоритм определения расположения файлов на диске
- •31 Ф.С. Fat32 (отличительные особенности)
- •32 Изменение элементов системных объектов при выполнении copy
- •33 Ntfs (общие сведения)
- •34 Запись файла в mft
- •35 Метафайлы
- •36 Атрибуты записи файла
- •37 Изменение системных данных при выполнении copy
- •38 Изменение системных данных при выполнении del
- •39 Изменение системных данных при выполнении move
- •40 Процессы. Потоки. Общие сведения
- •41 Модель процесса
- •42 Контекст процесса
- •43 Дескриптор процесса
- •44 Создание процесса (общие сведения)
- •45 Окончание процесса (общие сведения)
- •46 Состояния процесса
- •47 Уровни планирования процессов
- •48 Диспетчеризация процессов
- •49 Класс приоритета процесса
- •50 Создание процесса (Win32 api)
- •51 Win32 Api. Управление процессами
- •52 Win32 Api. Окончание процесса
- •53 Среда процесса
- •54 Командная строка процесса
- •55 Наследование дочерними процессами ресурсов родителя
- •56 Список процессов
- •57 Время выполнения процесса
34 Запись файла в mft
Каждый файл на томе NTFS представлен записью в специальном файле, называемом главной файловой таблицей (MFT — master file table). NTFS резервирует первые 16 записей таблицы для специальной информации. Семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами (также рассматриваются как файлы NTFS) на томе.
Смещение, байт |
Длина, байт |
Описание |
0x00 |
4 |
Текстовая строка "FILE" - признак записи MFT |
0x04 |
2 |
Смещение массива корректировки записи Update Sequence |
0x06 |
2 |
Размер массива корректировки записей Update Sequence |
0x10 |
2 |
Последовательный номер сектора в записи MFT |
0x12 |
2 |
Счетчик ссылок |
0x14 |
2 |
Смещение начала списка атрибутов |
0x16 |
2 |
Флажки, отмечающее состояние записи MFT |
0x18 |
4 |
Реальный размер записи MFT |
0x1C |
4 |
Размер памяти, занимаемый записью MFT |
0x20 |
8 |
Файловый номер (File Reference) базовой записи MFT |
0x28 |
2 |
Максимальное значение идентификатора атрибута, увеличенное на единицу |
0x2A |
2 |
Массив корректировки записи MFT размером 2*(N-1) байт, где N - значение размера массива корректировки записи из поля со смещением 0x06 |
35 Метафайлы
Первые 16 файлов NTFS (метафайлы) носят служебный характер. Каждый из них отвечает за какой-либо аспект работы системы. Метафайлы находятся корневом каталоге NTFS диска - они начинаются с символа имени "$".
Номер записи |
Имя системного файла |
Описание |
0x0 |
$MFT |
Главная таблица файлов MFT |
0x1 |
$MFTMirr |
Копия первых 4 записей таблицы MFT |
0x2 |
$LogFile |
Журнал транзакций. Используется для отката транзакций в случае аварийного завершения операций над файловой системой |
0x3 |
$Volume |
Информация о разделе, например, имя соответствующего логического тома и версия файловой системы NTFS |
0x4 |
$AttrDef |
Список атрибутов, используемых в файловой системе |
0x5 |
. |
Корневой каталог файловой системы |
0x6 |
$Bitmap |
Битовый массив, в котором отмечены все использованные кластеры |
0x7 |
$Boot |
Загрузочный сектор раздела NTFS |
0x8 |
$BadClus |
Список всех плохих кластеров данного раздела. Кластер считается плохим, если в нем есть один плохой сектор |
0x9 |
$Secure |
База данных атрибутов безопасности. Применяется только в NTFS версии 5.0 в среде Microsoft Windows 2000 |
0xA |
$UpCase |
Список всех прописных символов Unicode. Используется для перекодировки строчных символов в прописные и обратно в процессе сравнения имен файлов и каталогов |
0xB |
$Extend |
Файл хранит расширенную информацию файловой системы NTFS версии 5.0, применяемой в среде Microsoft Windows 2000, такую как дисковые квоты, точки монтирования и т.д. |
0xC |
|
Зарезервировано |
0xD |
|
Зарезервировано |
0xE |
|
Зарезервировано |
0xF |
|
Зарезервировано |