FindNextFileA 函数 (fileapi.h)

继续从先前调用 FindFirstFile、FindFirstFileExFindFirstFileTransacted 函数进行文件搜索。

语法

BOOL FindNextFileA(
  [in]  HANDLE             hFindFile,
  [out] LPWIN32_FIND_DATAA lpFindFileData
);

参数

[in] hFindFile

先前调用 FindFirstFile 或 FindFirstFileEx 函数返回的搜索句柄。

[out] lpFindFileData

指向 WIN32_FIND_DATA 结构的指针,该结构接收有关找到的文件或子目录的信息。

返回值

如果函数成功,则返回值为非零值,并且 lpFindFileData 参数包含有关找到的下一个文件或目录的信息。

如果函数失败,则返回值为零, 并且 lpFindFileData 的内容不确定。 若要获得更多的错误信息,请调用 GetLastError 函数。

如果函数因找不到更多匹配文件而失败, GetLastError 函数将返回 ERROR_NO_MORE_FILES

注解

此函数使用用于创建 hFindFile 参数中传递的搜索句柄的相同搜索筛选器。 有关其他信息,请参阅 FindFirstFileFindFirstFileEx

不保证搜索返回文件的顺序(如字母顺序),具体取决于文件系统。 如果必须对数据进行排序,则应用程序必须在获取所有结果后进行排序。

注意 在极少数情况下或在负载较重的系统上,在调用此函数时,NTFS 文件系统上的文件属性信息可能不是最新的。 若要确保获取当前 NTFS 文件系统文件属性,请调用 GetFileInformationByHandle 函数。
 
此函数返回文件名的顺序取决于文件系统类型。 对于 NTFS 文件系统和 CDFS 文件系统,名称通常按字母顺序返回。 使用 FAT 文件系统时,名称通常按文件写入磁盘的顺序返回,这可以按字母顺序返回,也可能不按字母顺序返回。 但是,如前所述,无法保证这些行为。

如果路径指向符号链接,WIN32_FIND_DATA 缓冲区包含有关符号链接而不是目标的信息。

在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。

技术 支持
服务器消息块 (SMB) 3.0 协议
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CSV)
弹性文件系统 (ReFS)
 

事务处理操作

如果存在绑定到文件枚举句柄的事务,则返回的文件受事务隔离规则的约束。

示例

有关示例,请参阅 列出目录中的文件

注意

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

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 fileapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

文件管理函数

FindClose

FindFirstFile

FindFirstFileEx

GetFileAttributes

SetFileAttributes

符号链接

WIN32_FIND_DATA