winbase.h) (FILE_FULL_DIR_INFO 结构
包含文件的目录信息。 当 FileFullDirectoryInfo 或 FileFullDirectoryRestartInfo 在 FileInformationClass 参数中传递时,将从 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) |