 
        
        - •Оглавление
- •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 | 
 | Зарезервировано | 
