FindNextFileA 函数 (fileapi.h)

继续执行对 FindFirstFileFindFirstFileExFindFirstFileTransacted 函数的上一次调用的文件搜索。

语法

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) 是的
群集共享卷文件系统 (CsvFS) 是的
可复原文件系统 (ReFS) 是的
 

事务处理操作

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

例子

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

注意

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

要求

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

另请参阅

文件管理功能

FindClose

FindFirstFile

FindFirstFileEx

GetFileAttributes

SetFileAttributes

符号链接

WIN32_FIND_DATA