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


структура FILE_FULL_DIR_INFO (winbase.h)

Содержит сведения о каталоге для файла. Эта структура возвращается из функции GetFileInformationByHandleEx при передаче FileFullDirectoryInfo или FileFullDirectoryRestartInfo в параметре FileInformationClass .

Синтаксис

typedef struct _FILE_FULL_DIR_INFO {
  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;
  WCHAR         FileName[1];
} FILE_FULL_DIR_INFO, *PFILE_FULL_DIR_INFO;

Члены

NextEntryOffset

Смещение для следующей возвращаемой структуры FILE_FULL_DIR_INFO . Содержит ноль (0), если другие записи не соответствуют этой.

FileIndex

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

CreationTime

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

LastAccessTime

Время последнего доступа к файлу.

LastWriteTime

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

ChangeTime

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

EndOfFile

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

AllocationSize

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

FileAttributes

Атрибуты файла. Этот элемент может быть любым допустимым сочетанием следующих атрибутов:

FILE_ATTRIBUTE_ARCHIVE (0x00000020)

FILE_ATTRIBUTE_COMPRESSED (0x00000800)

FILE_ATTRIBUTE_DIRECTORY (0x00000010)

FILE_ATTRIBUTE_HIDDEN (0x00000002)

FILE_ATTRIBUTE_NORMAL (0x00000080)

FILE_ATTRIBUTE_READONLY (0x00000001)

FILE_ATTRIBUTE_SYSTEM (0x00000004)

FILE_ATTRIBUTE_TEMPORARY (0x00000100)

FileNameLength

Длина имени файла.

EaSize

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

FileName[1]

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

Комментарии

Структура FILE_FULL_DIR_INFO — это подмножество сведений в структуре FILE_ID_BOTH_DIR_INFO . Если дополнительная информация не требуется, операция будет выполняться быстрее, так как она поступает из записи каталога; FILE_ID_BOTH_DIR_INFO содержит сведения как из записи каталога, так и из основной таблицы файлов (MFT).

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

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

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

Чтобы скомпилировать приложение, использующее эту структуру, определите макрос _WIN32_WINNT как 0x0600 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Верхняя часть winbase.h (включая Windows.h)

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

FILE_INFO_BY_HANDLE_CLASS

Структуры управления файлами

GetFileInformationByHandleEx