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


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

Структура FILE_ID_64_EXTD_DIR_INFORMATION используется для запроса 64-разрядной справочной информации о файлах в каталоге.

Синтаксис

typedef struct _FILE_ID_64_EXTD_DIR_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG         FileAttributes;
  ULONG         FileNameLength;
  ULONG         EaSize;
  ULONG         ReparsePointTag;
  LARGE_INTEGER FileId;
  WCHAR         FileName[1];
} FILE_ID_64_EXTD_DIR_INFORMATION, *PFILE_ID_64_EXTD_DIR_INFORMATION;

Члены

NextEntryOffset

Смещение байтов следующей FILE_ID_64_EXTD_DIR_INFORMATION записи, если в буфере присутствует несколько записей. Этот элемент равен нулю, если другие записи не следуют этому элементу.

FileIndex

Смещение байтов файла в родительском каталоге. Этот элемент не определен для файловых систем, таких как NTFS, в которых позиция файла в родительском каталоге не устранена и может быть изменена в любое время для поддержания порядка сортировки.

CreationTime

Время создания файла.

LastAccessTime

При последнем обращении к файлу.

LastWriteTime

Последняя запись сведений в файл.

ChangeTime

При последнем изменении файла.

EndOfFile

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

AllocationSize

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

FileAttributes

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

  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_TEMPORARY
  • FILE_ATTRIBUTE_COMPRESSED

FileNameLength

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

EaSize

Объединенная длина в байтах расширенных атрибутов (EA) для файла.

ReparsePointTag

Значение тега для точки повторного параметров.

FileId

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

FileName[1]

Задает первый символ строки имени файла. За этим следует в памяти оставшаяся часть строки.

Замечания

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

  • Вызовите ZwQueryDirectoryFile, передав FileIdExtdDirectoryInformation в качестве значения 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, версия 23H2
заголовка ntifs.h

См. также

FILE_INFORMATION_CLASS

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile