FindNextFileA 函式 (fileapi.h)

繼續從先前呼叫 FindFirstFileFindFirstFileExFindFirstFileTransacted 函式 的檔案搜尋。

語法

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

參數

[in] hFindFile

前一次呼叫 FindFirstFileFindFirstFileEx 函 式所傳回的搜尋句柄。

[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 通訊協定 Yes
SMB 3.0 透明故障轉移 (TFO) Yes
具有向外延展檔案共用的SMB 3.0 (SO) Yes
叢集共用磁碟區文件系統 (CsvFS) Yes
彈性檔案系統 (ReFS) Yes
 

交易作業

如果有系結至檔案列舉句柄的交易,則傳回的檔案受限於交易隔離規則。

範例

如需範例,請參閱 列出目錄中的檔案

注意

fileapi.h 標頭會將 FindNextFile 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 fileapi.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

檔案管理功能

FindClose

FindFirstFile

FindFirstFileEx

GetFileAttributes

SetFileAttributes

符號連結

WIN32_FIND_DATA