Технологии доступа к данным в информационных системах: Файловая система NTFS. Павлов А.Ю. - 19 стр.

UptoLike

Составители: 

#pragma pack(1)
typedef struct tagBPB_NTFS
{
WORD wBytesPerSec; // Байтов в секторе
BYTE bSecPerClust; // Секторов в кластере
WORD wResSectors; // Зарезервированных секторов
BYTE bFATs; // Не используется
WORD wRootDirEnts; // Не используется
WORD wSectors; // Не используется
BYTE bMedia; // Описатель среды
WORD wFATsecs; // Не используется
WORD wSecPerTrack; // Количество секторов на дорожке
WORD wHeads; // Количество головок
LONG dwHiddenSect; // Количество скрытых секторов
WORD dwBigTotalSectors; // Не используется
WORD dwBigTotalSectorsHigh; // Не используется
WORD dwBigSectorsPerFat; // Не используется
WORD dwBigSectorsPerFatHigh; // Не используется
INT64 TotalSectors; // Секторов на томе
INT64 FirstMFT; // Сектор начала MFT
INT64 MirrMFT; // Сектор
копии MFT
LONG ClustersPerFileRecord; // Число кластеров под файловую запись
LONG ClustersPerIndexBlock; // Число кластеров под индексный блок
INT64 VolumeSerialNumber; // Серийный номер тома
LONG Checksum; // Проверочная сумма
} BPB_NTFS, FAR * LPBPB_NTFS;
// Заголовок файловой записи
struct FileRecordHeader
{
char ID[4]; // Идентификатор файловой записи
WORD UpDateSequenceOffset; // Смещение счетчика обновления последовательности
WORD CountItemUpDateSequence; // Количество элементов массива, содержащего значения
// обновления последовательности
BYTE Reserve[8]; // Зарезервировано
WORD NumSecquence; // Номер последовательности
WORD HardLinkCount; // Счетчик жестких ссылок
WORD AttribBegOffset; // Смещение второй части файловой
записи, последовательности
// атрибутов файла
WORD Flag; // Флаг
DWORD RealSize; // Реальный размер файловой записи
DWORD ByteAllocate; // Количество байт, выделенных под файловую запись
INT64 FileReference; // Ссылка на основную запись
WORD AttribMaxID; // Идентификатор атрибута, имеющий максимальное значение,
// увеличенный на 1
WORD UpDateSequenceNum; // Массива обновления последовательности
};
struct StandartAttribHeader // Заголовок атрибута
{
DWORD Type; // Тип атрибута
DWORD Length; // Длина атрибута
BYTE FlagRez; // Флаг резидентности
BYTE LengthName; // Длина имени
WORD ContentOffset; // Смещение потока
WORD Flag; // Флаг компрессии