Поделиться через


Функция FindNextFileA (fileapi.h)

Продолжает поиск файла из предыдущего вызова FindFirstFile, FindFirstFileExили функции FindFirstFileTransacted.

Синтаксис

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. Дополнительные сведения см. в разделе FindFirstFile и FindFirstFileEx.

Порядок, в котором поиск возвращает файлы, такие как алфавитный порядок, не гарантируется и зависит от файловой системы. Если данные должны быть отсортированы, приложение должно выполнить упорядочение после получения всех результатов.

Примечание В редких случаях или в сильно загруженной системе сведения о атрибутах файлов в файловых системах 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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2003 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка fileapi.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

функции управления файлами

FindClose

FindFirstFile

FindFirstFileEx

GetFileAttributes

SetFileAttributes

символьные ссылки

WIN32_FIND_DATA