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