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;否则返回 FALSE。 若要获取特定错误消息,请调用 GetLastError。
言论
FtpGetFile 是一个高级例程,用于处理与从 FTP 服务器读取文件以及在本地存储文件相关的所有记帐和开销。 需要仅检索文件数据或需要密切控制文件传输的应用程序应使用 FtpOpenFile,InternetReadFile 函数。
如果 dwFlags 参数指定 FTP_TRANSFER_TYPE_ASCII,则文件数据的转换会将控件和格式字符转换为本地等效项。 默认传输是二进制模式,该文件的下载格式与存储在服务器上的格式相同。
lpszRemoteFile 和 lpszNewFile 可以是相对于当前目录的部分或完全限定的文件名。
与 WinINet API 的其他所有方面一样,不能从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。
注意
wininet.h 标头将 FtpGetFile 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wininet.h |
库 | Wininet.lib |
DLL | Wininet.dll |