FtpGetFileA 函式 (wininet.h)
從 FTP 伺服器擷取檔案,並將其儲存在指定的檔名下,並在程式中建立新的本機檔案。
語法
BOOL FtpGetFileA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszRemoteFile,
[in] LPCSTR lpszNewFile,
[in] BOOL fFailIfExists,
[in] DWORD dwFlagsAndAttributes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
參數
[in] hConnect
FTP 會話的句柄。
[in] lpszRemoteFile
Null 終止字串的指標,其中包含要擷取之檔名。
[in] lpszNewFile
Null 終止字串的指標,其中包含要建立於本機系統上的檔名。
[in] fFailIfExists
指出如果指定名稱的本機檔案已經存在,函式是否應該繼續。 如果 fFailIfExists為 TRUE 且本機檔案存在,FtpGetFile 就會失敗。
[in] dwFlagsAndAttributes
新檔案的檔案屬性。 此參數可以是 CreateFile 函式所使用的FILE_ATTRIBUTE_* 旗標的任何組合。
[in] dwFlags
控制函式如何處理檔案下載。 第一組旗標值表示傳輸發生的條件。 這些傳輸類型旗標可以與控制快取的第二組旗標搭配使用。
應用程式可以選取其中一個傳輸類型值。
下列旗標會決定如何完成此檔案的快取。 下列旗標的任何組合都可以與傳輸類型旗標搭配使用。
[in] dwContext
變數的指標,其中包含與任何應用程式數據建立關聯之應用程式定義的值。 只有當應用程式已經呼叫 InternetSetStatusCallback 來設定狀態回呼函式時,才會使用此功能。
傳回值
如果成功,則傳回 true true,否則會 傳回 false。 若要取得特定錯誤訊息,請呼叫 GetLastError。
言論
FtpGetFile 是一種高階例程,可處理與從 FTP 伺服器讀取檔案以及將其儲存在本機相關聯的所有記事和額外負荷。 需要只擷取檔案數據或需要密切控制檔傳輸的應用程式,應該使用 FtpOpenFile 和 InternetReadFile 函式。
如果 dwFlags 參數指定 FTP_TRANSFER_TYPE_ASCII,則檔案數據的翻譯會將控件和格式化字元轉換成本機對等專案。 默認傳輸為二進位模式,檔案會以與儲存在伺服器上相同的格式下載。
lpszRemoteFile 和 lpszNewFile 可以是相對於目前目錄的部分或完整檔名。
如同 WinINet API 的其他所有層面,無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。
注意
wininet.h 標頭會根據 UNICODE 預處理器常數的定義,將 FtpGetFile 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wininet.h |
連結庫 | Wininet.lib |
DLL | Wininet.dll |