winbase.h) (FILE_FULL_DIR_INFO 结构

包含文件的目录信息。 当 FileFullDirectoryInfo 或 FileFullDirectoryRestartInfoFileInformationClass 参数中传递时,将从 GetFileInformationByHandleEx 函数返回此结构。

语法

typedef struct _FILE_FULL_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;
  WCHAR         FileName[1];
} FILE_FULL_DIR_INFO, *PFILE_FULL_DIR_INFO;

成员

NextEntryOffset

返回的下一 个FILE_FULL_DIR_INFO 结构的偏移量。 如果后面没有其他条目,则包含零 (0) 。

FileIndex

文件在父目录中的字节偏移量。 对于文件系统(如 NTFS),此成员未定义,其中文件在父目录中的位置不是固定的,可以随时更改以保持排序顺序。

CreationTime

创建文件的时间。

LastAccessTime

上次访问文件的时间。

LastWriteTime

上次写入文件的时间。

ChangeTime

上次更改文件的时间。

EndOfFile

绝对新的文件结束位置,作为从文件开头到文件默认数据流末尾的字节偏移量。 由于此值从零开始,因此它实际上引用文件中的第一个可用字节。 换句话说, EndOfFile 是紧跟在文件中最后一个有效字节之后的字节的偏移量。

AllocationSize

为文件分配的字节数。 此值通常是基础物理设备的扇区或群集大小的倍数。

FileAttributes

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

FILE_ATTRIBUTE_ARCHIVE (0x00000020)

FILE_ATTRIBUTE_COMPRESSED (0x00000800)

FILE_ATTRIBUTE_DIRECTORY (0x00000010)

FILE_ATTRIBUTE_HIDDEN (0x00000002)

FILE_ATTRIBUTE_NORMAL (0x00000080)

FILE_ATTRIBUTE_READONLY (0x00000001)

FILE_ATTRIBUTE_SYSTEM (0x00000004)

FILE_ATTRIBUTE_TEMPORARY (0x00000100)

FileNameLength

文件名的长度。

EaSize

文件的扩展属性的大小。

FileName[1]

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

注解

FILE_FULL_DIR_INFO结构是FILE_ID_BOTH_DIR_INFO结构中信息的子集。 如果不需要其他信息,则操作将更快,因为它来自目录条目; FILE_ID_BOTH_DIR_INFO 包含来自目录条目和主文件表 (MFT) 的信息。

查询此信息不需要任何特定的访问权限。

所有日期和时间均采用绝对系统时间格式。 绝对系统时间是自 1601 年初以来的 100 纳秒间隔数。

FILE_FULL_DIR_INFO 结构必须在 LONGLONG (8 字节) 边界上对齐。 如果缓冲区包含其中两个或更多个结构,则每个条目中的 NextEntryOffset 值(最后一个除外)位于 8 字节边界上。

若要编译使用此结构的应用程序,请将 _WIN32_WINNT 宏定义为0x0600或更高版本。 有关详细信息,请参阅 使用 Windows 标头

要求

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

另请参阅

FILE_INFO_BY_HANDLE_CLASS

文件管理结构

GetFileInformationByHandleEx