FILE_ID_EXTD_DIR_INFO 结构 (winbase.h)
包含文件的标识信息。 当 FileIdExtdDirectoryInfo (0x13) 或 FileIdExtdDirectoryRestartInfo (0x14) 在 FileInformationClass 参数中传递时,将从 GetFileInformationByHandleEx 函数返回此结构。
语法
typedef struct _FILE_ID_EXTD_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;
ULONG ReparsePointTag;
FILE_ID_128 FileId;
WCHAR FileName[1];
} FILE_ID_EXTD_DIR_INFO, *PFILE_ID_EXTD_DIR_INFO;
成员
NextEntryOffset
返回的下一 个FILE_ID_EXTD_DIR_INFO 结构的偏移量。 如果后面没有其他条目,则包含零 (0) 。
FileIndex
文件在父目录中的字节偏移量。 对于文件系统(如 NTFS),此成员未定义,其中文件在父目录中的位置不是固定的,可以随时更改以保持排序顺序。
CreationTime
创建文件的时间。
LastAccessTime
上次访问文件的时间。
LastWriteTime
上次写入文件的时间。
ChangeTime
上次更改文件的时间。
EndOfFile
绝对新的文件结束位置,作为从文件开头到文件末尾的字节偏移量。 由于此值从零开始,因此它实际上引用文件中的第一个可用字节。 换句话说, EndOfFile 是紧跟在文件中最后一个有效字节之后的字节的偏移量。
AllocationSize
为文件分配的字节数。 此值通常是基础物理设备的扇区或群集大小的倍数。
FileAttributes
文件属性。 此成员可以是以下属性的任意有效组合:
值 | 含义 |
---|---|
|
作为存档文件或目录的文件或目录。 应用程序通常使用此属性来标记要备份或删除的文件。 |
|
已压缩的文件或目录。 对于文件,文件中的所有数据会被压缩。 对于目录,压缩是新建文件和子目录的默认设置。 |
|
该值已预留供系统使用。 |
|
标识目录的句柄。 |
|
已加密的文件或目录。 对于文件,文件内的所有数据流会被加密。 对于目录,加密是新建文件和子目录的默认设置。 |
|
文件或目录已隐藏。 文件不会包括在普通的目录列表中。 |
|
未设置其他属性的文件。 此属性仅在单独使用时有效。 |
|
内容索引服务不会为文件或目录编制索引。 |
|
文件的数据不会立即可用。 此属性指示文件数据以物理方式移动到脱机存储。 此属性由远程存储(分层存储管理软件)使用。 应用程序不应随意更改此属性。 |
|
只读文件。 应用程序可以读取该文件,但无法写入或删除该文件。 在目录上不遵循此属性。 有关详细信息,请参阅无法在 Windows Server 2003、Windows XP、Windows Vista 或 Windows 7 中查看或更改文件夹的只读或系统属性。 |
|
具有关联的重新分析点的文件或目录,或作为符号链接的文件。 |
|
此文件是稀疏文件。 |
|
操作系统使用其中的一部分或独占使用的文件或目录。 |
|
用于临时存储的文件。 如果有足够的缓存内存可用,文件系统会避免将数据写回到大容量存储,因为通常情况下,应用程序在句柄关闭后会删除临时文件。 在这种情况下,系统可以完全避免写入数据。 否则,在句柄关闭后写入数据。 |
|
该值已预留供系统使用。 |
FileNameLength
文件名的长度。
EaSize
文件的扩展属性的大小。
ReparsePointTag
如果 FileAttributes 成员包含 FILE_ATTRIBUTE_REPARSE_POINT 属性,则此成员指定重新分析点标记。
否则,此值未定义,不应使用。
有关详细信息,请参阅 重新分析点标记。
IO_REPARSE_TAG_CSV (0x80000009)
IO_REPARSE_TAG_DEDUP (0x80000013)
IO_REPARSE_TAG_DFS (0x8000000A)
IO_REPARSE_TAG_DFSR (0x80000012)
IO_REPARSE_TAG_HSM (0xC0000004)
IO_REPARSE_TAG_HSM2 (0x80000006)
IO_REPARSE_TAG_MOUNT_POINT (0xA0000003)
IO_REPARSE_TAG_NFS (0x80000014)
IO_REPARSE_TAG_SIS (0x80000007)
IO_REPARSE_TAG_SYMLINK (0xA000000C)
IO_REPARSE_TAG_WIM (0x80000008)
FileId
文件 ID。
FileName[1]
文件名字符串的第一个字符。 这在内存中后跟字符串的其余部分。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | winbase.h (包括 Windows.h) |