Прочитать на английском

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


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

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

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

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

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 в пакете Windows SDK.

  • S_IFLNK
  • S_IFSOCK
  • S_IFBLK
Flag Описание
_S_IFMT 0xF000 Маска типа файла
_S_IFDIR 0x4000 Directory
_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.

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

Требования

Требование Значение
Заголовок ntifs.h

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

NtQueryInformationByName

NtQueryInformationFile