WIN32_FIND_DATAA结构(minwinbase.h)

包含 FindFirstFileFindFirstFileExFindNextFile 函数找到的文件的相关信息。

语法

typedef struct _WIN32_FIND_DATAA {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    dwReserved0;
  DWORD    dwReserved1;
  CHAR     cFileName[MAX_PATH];
  CHAR     cAlternateFileName[14];
  DWORD    dwFileType; // Obsolete. Do not use.
  DWORD    dwCreatorType; // Obsolete. Do not use
  WORD     wFinderFlags; // Obsolete. Do not use
} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;

成员

dwFileAttributes

文件的文件属性。

有关可能的值及其说明,请参阅 文件属性常量

如果文件的任何流都稀疏,则会设置文件上的 FILE_ATTRIBUTE_SPARSE_FILE 属性。

ftCreationTime

FILETIME 结构,指定创建文件或目录的时间。

如果基础文件系统不支持创建时间,则此成员为零。

ftLastAccessTime

FILETIME 结构。

对于文件,结构指定上次从文件读取、写入文件或可执行文件时运行。

对于目录,结构指定创建目录时。 如果基础文件系统不支持上次访问时间,则此成员为零。

在 FAT 文件系统上,文件和目录的指定日期是正确的,但一天中的时间始终设置为午夜。

ftLastWriteTime

FILETIME 结构。

对于文件,结构指定上次写入、截断或覆盖文件时,例如,使用 WriteFileSetEndOfFile 时。 更改文件属性或安全描述符时,日期和时间不会更新。

对于目录,结构指定创建目录时。 如果基础文件系统不支持上次写入时间,则此成员为零。

nFileSizeHigh

文件大小的高顺序 DWORD 值(以字节为单位)。

此值为零,除非文件大小大于 MAXDWORD

文件的大小等于 (nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow

nFileSizeLow

文件大小的低序 DWORD 值(以字节为单位)。

dwReserved0

如果 dwFileAttributes 成员包括 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)

dwReserved1

保留以供将来使用。

cFileName[MAX_PATH]

文件的名称。

cAlternateFileName[14]

文件的替代名称。

此名称采用经典 8.3 文件格式。

言论

如果文件具有长文件名,则完整名称将显示在 cFileName 成员中,cAlternateFileName 成员中将显示名称的 8.3 格式截断版本。 否则,cAlternateFileName 为空。 如果使用 fInfoLevelId 参数中的 FindExInfoBasic 值调用 FindFirstFileEx 函数,cAlternateFileName 成员将始终包含 NULL 字符串值。 对于对 FindNextFile 函数的所有后续调用,这一点仍然如此。 作为检索文件名的 8.3 格式版本的替代方法,可以使用 GetShortPathName 函数。 有关文件名的详细信息,请参阅 文件名、路径和命名空间

并非所有文件系统都可以记录创建和上次访问时间,并非所有文件系统都以相同的方式记录它们。 例如,在 FAT 文件系统上,创建时间的分辨率为 10 毫秒,写入时间的分辨率为 2 秒,访问时间的分辨率为 1 天。 NTFS 文件系统在上次访问后最多 1 小时延迟对文件的上次访问时间的更新。 有关详细信息,请参阅 文件时间

注意

minwinbase.h 标头将WIN32_FIND_DATA定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非中性编码别名与非非编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2003 [桌面应用 |UWP 应用]
标头 minwinbase.h (包括 Windows.h)

另请参阅

FILETIME

文件属性常量

文件名、路径和命名空间

文件时间

FileTimeToLocalFileTime

FileTimeToSystemTime

FindFirstFile

FindFirstFileEx

FindNextFile

GetShortPathName