WIN32_FIND_DATAW 结构 (minwinbase.h)

包含有关 FindFirstFile、FindFirstFileExFindNextFile 函数找到的文件的信息。

语法

typedef struct _WIN32_FIND_DATAW {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    dwReserved0;
  DWORD    dwReserved1;
  WCHAR    cFileName[MAX_PATH];
  WCHAR    cAlternateFileName[14];
  DWORD    dwFileType; // Obsolete. Do not use.
  DWORD    dwCreatorType; // Obsolete. Do not use
  WORD     wFinderFlags; // Obsolete. Do not use
} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;

成员

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 成员中,并且名称的 8.3 格式截断版本将显示在 cAlternateFileName 成员中。 否则, 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