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


структура 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

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

Атрибут Ценность
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.

  • Создайте 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