Код AttributeFileName и структура FILENAME_ATTRIBUTE
Структура FILENAME_ATTRIBUTE это одна из дисковых структур NTFS. Её данные служат также для объяснения содержимого буфера FileRecordBuffer, возвращаемого при вызове NtFsControlFile с кодом FSCTL_GET_NTFS_FILE_RECORD.
Атрибут имени файла всегда резидентен.
Определение структуры
typedef struct {
ULONGLONG DirectoryFileReferenceNumber;
ULONGLONG CreationTime; // Время изменения имени файла
ULONGLONG ChangeTime;
ULONGLONG LastWriteTime;
ULONGLONG LastAccessTime;
ULONGLONG AllocatedSize;
ULONGLONG DataSize;
ULONG FileAttributes;
ULONG AlignmentOrReserved;
UCHAR NameLength;
UCHAR NameType; // 0x01 = длинное, 0x02 = короткое
WCHAR Name[1];
} FILENAME_ATTRIBUTE, *PFILENAME_ATTRIBUTE;
DirectoryFileReferenceNumber
Номер ссылки на файл каталога, в котором находится имя файла.
CreationTime
Время создания файла в стандартном формате времени (то есть количество интервалов по 100 наносекунд, начиная с 1 января 1601 года). Этот элемент модифицируется только при изменении имени файла. Он может отличаться от одноименного поля в структуре STANDARD_INFORMATION.
ChangeTime
Время последнего изменения атрибутов файла в стандартном формате времени (то есть количество интервалов по 100 наносекунд, начиная с 1 января 1601 года). Этот элемент модифицируется только при изменении имени файла. Он может отличаться от одноимённого поля в структуре STANDARD_INFORMATION.
LastWriteTime
Время последней записи в файл в стандартном формате времени (то есть количество интервалов по 100 наносекунд, начиная с 1 января 1601 года). Этот элемент модифицируется только при изменении имени файла. Он может отличаться от одноимённого поля в структуре STANDARD_INFORMATION.
LastAccessTime
Время последнего обращения к файлу в стандартном формате времени (то есть количество интервалов по 100 наносекунд, начиная с 1 января 1601 года). Этот элемент модифицируется только при изменении имени файла. Он может отличаться от одноимённого поля в структуре STANDARD_INFORMATION.
AllocatedSize
Размер в байтах дискового пространства, выделенного для содержания значении атрибута. Этот элемент модифицируется только при изменении имени файла.
DataSize
Размер в байтах значения атрибута. Этот элемент модифицируется только при изменении имени файла.
FileAttributes
Атрибуты файла. Этот элемент модифицируется только при изменении имени файла. Он может отличаться от одноимённого поля в структуре STANDARD_INFORMATION.
NameLength
Размер имени файла в символах.
NameType
Тип имени. Нулевое значение типа указывает на обычное имя файла. Тип, равный единице, означает длинное имя, соответствующее короткому имени файла, а тип два короткое имя, соответствующее длинному.
Name
Имя файла в Unicode.
См. также
Список типов атрибутов дисковой структуры NTFS
По теме NTFS также есть следующее:
- Специальные файлы NTFS. О файлах типа $Volume, $MFT и подобных.
- Обход ограничений FAT32/NTFS (статья 2004 года).
- Использование NtFsControlFile для получение информации о файле на NTFS
- Предварительный взгляд на возможности файловой системы Protogon.
Избранное
Остальное
По вопросам сотрудничества и другим вопросам по работе сайта пишите на cleogroup[собака]yandex.ru