Код 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