共用方式為


FtpFindFirstFileA 函式 (wininet.h)

搜尋指定 FTP 工作階段的指定目錄。 檔案和目錄項目會傳回至 WIN32_FIND_DATA 結構中的應用程式。

語法

HINTERNET FtpFindFirstFileA(
  [in]  HINTERNET          hConnect,
  [in]  LPCSTR             lpszSearchFile,
  [out] LPWIN32_FIND_DATAA lpFindFileData,
  [in]  DWORD              dwFlags,
  [in]  DWORD_PTR          dwContext
);

參數

[in] hConnect

InternetConnect 傳回的 FTP 會話句柄。

[in] lpszSearchFile

Null 終止字串的指標,指定 FTP 伺服器檔案系統的有效目錄路徑或檔名。 字串可以包含通配符,但不允許空白空格。 如果 lpszSearchFile 的值是 NULL ,或它是空字串,則函式會在伺服器上的目前目錄中尋找第一個檔案。

[out] lpFindFileData

可接收所找到檔案或目錄相關信息 之WIN32_FIND_DATA 結構的指標。

[in] dwFlags

控制此函式的行為。 此參數可以是下列值的組合。

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

變數的指標,指定與任何應用程式數據建立關聯之應用程式定義的值。 只有當應用程式已經呼叫 InternetSetStatusCallback 來設定狀態回呼函式時,才會使用此參數。

傳回值

如果成功啟動目錄列舉,則傳回要求的有效句柄,否則傳回 NULL 。 若要取得特定的錯誤訊息,請呼叫 GetLastError。 如果 GetLastError 傳回ERROR_INTERNET_EXTENDED_ERROR,如同函式找不到相符檔案的情況,請呼叫 InternetGetLastResponseInfo 函式以擷取擴充的錯誤文字,如 處理錯誤中所述。

備註

對於 FtpFindFirstFile以WIN32_FIND_DATA 結構傳回的檔案時間位於當地時區,而不是以國際標準時間 (UTC) 格式。

FtpFindFirstFile 類似於 FindFirstFile 函式。 不過請注意,指定的 FTP 會話內一次只能發生一個 FtpFindFirstFile 。 因此,列舉會與 FTP 會話句柄相互關聯。 這是因為 FTP 通訊協定只允許每個工作階段的單一目錄列舉。

在呼叫 FtpFindFirstFile ,直到呼叫 InternetCloseHandle 之前,應用程式無法在指定的 FTP 會話句柄上再次呼叫 FtpFindFirstFile 。 如果呼叫該句柄上的 FtpFindFirstFile ,函式會失敗 ,並ERROR_FTP_TRANSFER_IN_PROGRESS。 呼叫應用程式使用 FtpFindFirstFile 所傳回的 HINTERNET 句柄完成之後,必須使用 InternetCloseHandle 函式來關閉它。

使用 FtpFindFirstFile 開始目錄列舉之後, InternetFindNextFile 函式可用來繼續列舉。

因為 FTP 通訊協議沒有列舉的標準方法,所以檔案的一些常見資訊,例如檔案建立日期和時間,不一定可用或正確。 發生這種情況時, FtpFindFirstFileInternetFindNextFile 會根據可用資訊填入無法使用的資訊,並提供最佳猜測。 例如,建立和上次存取日期通常與檔案的修改日期相同。

應用程式無法在對 FtpOpenFile 和 InternetCloseHandle 的呼叫之間呼叫 FtpFindFirstFile

就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。

注意 WinINet 不支援伺服器實作。 此外,它不應該從服務使用。 對於伺服器實作或服務,請使用 Microsoft Windows HTTP 服務 (WinHTTP)
 

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 wininet.h
程式庫 Wininet.lib
Dll Wininet.dll

另請參閱

FTP 會話

WinINet 函式