共用方式為


FtpFindFirstFileW 函式 (wininet.h)

搜尋指定 FTP 會話的指定目錄。 檔案和目錄專案會傳回至 WIN32_FIND_DATA 結構中的應用程式。

語法

HINTERNET FtpFindFirstFileW(
  [in]  HINTERNET          hConnect,
  [in]  LPCWSTR            lpszSearchFile,
  [out] LPWIN32_FIND_DATAW 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 函式