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

文件属性。 此成员可以是以下属性的任意有效组合:

含义
FILE_ATTRIBUTE_ARCHIVE
32 (0x20)
作为存档文件或目录的文件或目录。 应用程序通常使用此属性来标记要备份或删除的文件。 
FILE_ATTRIBUTE_COMPRESSED
2048 (0x800)
已压缩的文件或目录。 对于文件,文件中的所有数据会被压缩。 对于目录,压缩是新建文件和子目录的默认设置。
FILE_ATTRIBUTE_DEVICE
64 (0x40)
该值已预留供系统使用。
FILE_ATTRIBUTE_DIRECTORY
16 (0x10)
标识目录的句柄。
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x4000)
已加密的文件或目录。 对于文件,文件内的所有数据流会被加密。 对于目录,加密是新建文件和子目录的默认设置。
FILE_ATTRIBUTE_HIDDEN
2 (0x2)
文件或目录已隐藏。 文件不会包括在普通的目录列表中。
FILE_ATTRIBUTE_NORMAL
128 (0x80)
未设置其他属性的文件。 此属性仅在单独使用时有效。
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x2000)
内容索引服务不会为文件或目录编制索引。
FILE_ATTRIBUTE_OFFLINE
4096 (0x1000)
文件的数据不会立即可用。 此属性指示文件数据以物理方式移动到脱机存储。 此属性由远程存储(分层存储管理软件)使用。 应用程序不应随意更改此属性。
FILE_ATTRIBUTE_READONLY
1 (0x1)
只读文件。 应用程序可以读取该文件,但无法写入或删除该文件。 在目录上不遵循此属性。 有关详细信息,请参阅无法在 Windows Server 2003、Windows XP、Windows Vista 或 Windows 7 中查看或更改文件夹的只读或系统属性
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x400)
具有关联的重新分析点的文件或目录,或作为符号链接的文件。
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x200)
此文件是稀疏文件。
FILE_ATTRIBUTE_SYSTEM
4 (0x4)
操作系统使用其中的一部分或独占使用的文件或目录。
FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
用于临时存储的文件。 如果有足够的缓存内存可用,文件系统会避免将数据写回到大容量存储,因为通常情况下,应用程序在句柄关闭后会删除临时文件。 在这种情况下,系统可以完全避免写入数据。 否则,在句柄关闭后写入数据。
FILE_ATTRIBUTE_VIRTUAL
65536 (0x10000)
该值已预留供系统使用。

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_WIM (0x80000008)

FileId

文件 ID。

FileName[1]

文件名字符串的第一个字符。 这在内存中后跟字符串的其余部分。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
标头 winbase.h (包括 Windows.h)

另请参阅

FILE_ID_128

FILE_INFO_BY_HANDLE_CLASS

文件管理结构

GetFileInformationByHandleEx