CFtpConnection::GetFile

BOOL GetFile(LPCTSTR pstrRemoteFile,
             LPCTSTR pstrLocalFile,
             BOOL bFailIfExists = TRUE,
             DWORD dwAttributes = FILE_ATTRIBUTE_NORMAL,
             DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY,
             DWORD dwContext = 1
            );

返回值:
如果成功,则返回非零值,否则为0。如果失败,则调用Win32函数GetLastError返回出错原因。

参数:
pstrRemoteFile指向以空终止符结束的字符串,包含从FTP服务器获取的文件名。
pstrLocalFile指向以空终止符结束的字符串,包含在本地系统创建的文件名。
bFailIfExists说明文件名是否被已存在的文件使用。如果本地文件名已存在并且参数为TRUE,则GetFile失败。否则GetFile会删除已存在的文件的拷贝。
dwAttributes指定文件属性,可为以下FILE_ATTRIBUTE_* 标记的组合:
·FILE_ATTRIBUTE_ARCHIVE文件为档案文件。应用使用此属性标明文件可以备份和移动。
·FILE_ATTRIBUTE_COMPRESSED文件或目录为压缩。对文件来说,表明文件中的所有数据都是压缩的;如果为目录,表示新建文件和子目录缺省为压缩的。
·FILE_ATTRIBUTE_DIRECTORY文件为目录。
·FILE_ATTRIBUTE_NORMAL文件没有其它属性设置,此属性仅可单独使用,任何其它属性覆盖此属性。
·FILE_ATTRIBUTE_HIDDEN文件隐藏,不包含在通常的目录列表。
·FILE_ATTRIBUTE_READONLY文件只读,应用可读出文件但不可写、删文件。
·FILE_ATTRIBUTE_SYSTEM文件是操作系统的一部分或为操作系统专用。
·FILE_ATTRIBUTE_TEMPORARY文件用于临时存储。只有在完全必要时应用才写文件,大多数文件数据存储于存储区而不存入介质,因为文件将很快被删除。
dwFlags指定传输发生的条件,此参数可以为联机文档“平台SDK在线”中的FtpGetFile中描述的任何dwFlags值。
dwContext表示获取文件的上下文标识符,请参阅说明,了解有关dwContext的更多信息。

说明:
调用此成员函数从FTP服务器中获得一个文件并把它存到本地机器。GetFile是一个高级例程,处理所有从FTP服务器读文件存入本地相关的操作。应用如果只想获取文件数据或在文件传输中加强控制,则应使用OpenFile和CInternetFile::Read。
如果dwFlags是FILE_TRANSFER_TYPE_ASCII,文件数据翻译器将控件和格式化字符转换到Windows中。缺省转换为二进制,下载文件与服务器上的存储方式一样。
pstrRemoteFile和pstrLocalFile可为与当前目录相关的部分或全部可用文件名。文件名分隔符可为反斜线(\)或斜线(/),使用之前GetFile把它转化为适当的字符。
覆盖缺省的dwContext可设置选择值。此上下文标识符与由CInternetSession对象创建的CFtpConnection对象的指定操作相关联,值返回给Cinternet-Session::OnStatusCallback,提供被标识的操作状态。要了解更多信息,可参阅联机文档“Visual C++程序员指南”中的“Internet初步:WinInet”。

请参阅:CInternetConnection