Поделиться через


структура FILE_STAT_BASIC_INFORMATION (ntifs.h)

FILE_STAT_BASIC_INFORMATION содержит основные метаданные о файле.

Синтаксис

typedef struct _FILE_STAT_BASIC_INFORMATION {
  LARGE_INTEGER FileId;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER AllocationSize;
  LARGE_INTEGER EndOfFile;
  ULONG         FileAttributes;
  ULONG         ReparseTag;
  ULONG         NumberOfLinks;
  ULONG         DeviceType;
  ULONG         DeviceCharacteristics;
  ULONG         Reserved;
  LARGE_INTEGER VolumeSerialNumber;
  FILE_ID_128   FileId128;
} FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;

Члены

FileId

Указывает идентификатор файла.

CreationTime

Указывает время создания файла.

LastAccessTime

Указывает время последнего доступа к файлу.

LastWriteTime

Указывает время последней записи файла.

ChangeTime

Указывает время последнего изменения файла.

AllocationSize

Размер выделения файла в байтах. Обычно это значение кратно размеру сектора или кластера базового физического устройства.

EndOfFile

Абсолютно новая позиция конца файла в виде смещения в байтах от начала файла. EndOfFile задает смещение байтов до конца файла. Так как это значение отсчитывается от нуля, оно фактически ссылается на первый свободный байт в файле. Другими словами, EndOfFile — это смещение до байта, следующего за последним допустимым байтом в файле.

FileAttributes

Атрибуты файла, которые могут быть любым допустимым сочетанием следующих:

attribute Значение
FILE_ATTRIBUTE_READONLY 0x00000001
FILE_ATTRIBUTE_HIDDEN 0x00000002
FILE_ATTRIBUTE_SYSTEM 0x00000004
FILE_ATTRIBUTE_DIRECTORY 0x00000010
FILE_ATTRIBUTE_ARCHIVE 0x00000020
FILE_ATTRIBUTE_NORMAL 0x00000080

ReparseTag

Повторно пропарировать тег точки. Дополнительные сведения см. в разделе Сведения о точках повторного анализа .

NumberOfLinks

Указывает количество ссылок на файл.

DeviceType

Устанавливается, когда драйвер вызывает IoCreateDevice в соответствии с типом базового устройства. Дополнительные сведения см. в разделе Указание типов устройств.

DeviceCharacteristics

Характеристики устройства. Описание соответствующих значений см. в разделе DEVICE_OBJECT.

Reserved

Зарезервировано для системного использования.

VolumeSerialNumber

Серийный номер тома, на котором находится файл.

FileId128

128-байтовый номер ссылки на файл. Это число создается и присваивается файлу файловой системой.

Комментарии

Эти сведения можно запросить с помощью следующих способов:

  • Вызовите ZwQueryDirectoryFile, передав FileStatBasicInformation в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_ID_EXTD_DIR_INFORMATION структурированный буфер в качестве значения FileInformation.

  • Create IRP с IRP_MJ_DIRECTORY_CONTROL основного кода функции и дополнительный код функции IRP_MN_QUERY_DIRECTORY.

Для запроса этих сведений не требуется никаких конкретных прав доступа.

Номера ссылок на файлы, также называемые идентификаторами файлов, гарантированно будут уникальными только в пределах статической файловой системы. Они не гарантируют, что они будут уникальными с течением времени, так как файловые системы могут свободно использовать их повторно. Они также не гарантированы, чтобы оставаться постоянными. Например, файловая система FAT создает ссылочный номер файла на основе смещения байтов записи каталога файла (DIRENT) на диске. Дефрагментация может изменить это смещение байтов. Таким образом, ссылочный номер файла FAT может меняться со временем.

Все даты и время имеют абсолютный системный формат. Абсолютное системное время — это число 100-наносекундных интервалов с начала 1601 года.

Эта структура должна быть выровнена по границе LONGLONG (8 байт). Если буфер содержит две или более из этих структур, значение NextEntryOffset в каждой записи, кроме последней, попадает на 8-байтовую границу.

Требования

Требование Значение
Минимальная версия клиента Windows 11, версия 24H2
Верхняя часть ntifs.h

См. также раздел

FILE_INFORMATION_CLASS

**ZwQueryInformationByName **