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


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

FILE_STAT_LX_INFORMATION содержит расширенные атрибуты метаданных Linux, присутствующих в файле. Это используется и создается подсистемой Windows для Linux (WSL).

Синтаксис

typedef struct _FILE_STAT_LX_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;
  ACCESS_MASK   EffectiveAccess;
  ULONG         LxFlags;
  ULONG         LxUid;
  ULONG         LxGid;
  ULONG         LxMode;
  ULONG         LxDeviceIdMajor;
  ULONG         LxDeviceIdMinor;
} FILE_STAT_LX_INFORMATION, *PFILE_STAT_LX_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

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

NumberOfLinks

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

EffectiveAccess

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

LxFlags

Флаги, связанные с FILE_STAT_LX_INFORMATION, которые указывают, какие поля метаданных присутствуют в файле.

Флаг Ценность
LX_FILE_METADATA_HAS_UID x1
LX_FILE_METADATA_HAS_GID x2
LX_FILE_METADATA_HAS_MODE x4
LX_FILE_METADATA_HAS_DEVICE_ID x8
LX_FILE_CASE_SENSITIVE_DIR x10

LxUid

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

LxGid

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

LxMode

Указывает тип файла Linux и разрешения файловой системы. Эти значения определены в sys/stat.h в пакете SDK для Windows.

  • S_IFLNK
  • S_IFSOCK
  • S_IFBLK
Флаг Описание
_S_IFMT 0xF000 Маска типа файла
_S_IFDIR 0x4000 Каталог
_S_IFCHR 0x2000 Специальный символ
_S_IFIFO 0x1000 Труба
_S_IFREG 0x8000 Регулярный
_S_IREAD 0x0100 Разрешение на чтение, владелец
_S_IWRITE 0x0080 Разрешение на запись, владелец
_S_IEXEC 0x0040 Разрешение на выполнение и поиск, владелец

LxDeviceIdMajor

Для файлов устройств (_S_IFCHR или S_IFBLK) указывает основное число устройства. Для других типов файлов это поле не используется.

LxDeviceIdMinor

Для файлов устройств (_S_IFCHR или S_IFBLK) указывает дополнительное число устройства. Для других типов файлов это поле не используется.

Замечания

NtQueryInformationByName и NtQueryInformationFile возвращать сведения в структуре FILE_STAT_LX_INFORMATION, если параметр FileInformationClass — FileStatLxInformation.

Дополнительные сведения об абсолютных и относительных символьных ссылках см. в документации по созданию символьных ссылок в пакете SDK для Microsoft Windows.

Требования

Требование Ценность
заголовка ntifs.h

См. также

NtQueryInformationByName

NtQueryInformationFile