CFtpConnection::OpenFile
调用此成员函数打开位于读取或写入的FTP服务器的文件。
CInternetFile* OpenFile(
LPCTSTR pstrFileName,
DWORD dwAccess = GENERIC_READ,
DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY,
DWORD_PTR dwContext = 1
);
参数
pstrFileName
对包含文件名称的字符串的指针将打开。dwAccess
确定文件的方式进行访问。 可以是GENERIC_READ或GENERIC_WRITE,但是,不是两个。dwFlags
指定后续调用发生的条件。 该位置可以是下列FTP_TRANSFER_*常数中的任何一项:FTP_TRANSFER_TYPE_ASCII使用FTP ASCII (类型的)调用方法的文件传输。 将控制和格式设置信息写入本地等效。
FTP_TRANSFER_TYPE_BINARY使用FTP的图像(类型实现)调用方法的文件传输数据。 确切文件传输数据,它显示,不更改。 这是默认调用方法。
dwContext
打开的文件上下文标识符。 请参见 Remarks 有关 dwContext的更多信息。
返回值
为 CInternetFile 对象的指针。
备注
应在以下情况下使用OpenFile :
应用程序需要发送和创建为在FTP服务器上的文件,但是,数据不在本地文件的数据。 在 OpenFile 打开文件,应用程序使用 CInternetFile::Write FTP文件数据发送到服务器。
应用程序必须从服务器检索文件并将其放入到应用程序控制内存,而不是编写它写入磁盘。 应用程序在使用 OpenFile 来打开文件使用 CInternetFile::Read。
应用程序需要一个好的控制。文件传输的。 例如,应用程序可能希望显示进度指示文件传输状态的进度,在下载文件时。
在调用 OpenFile 之后和直到调用 CInternetConnection::Close,应用程序只能调用 CInternetFile::Read、 CInternetFile::Write、 CInternetConnection::Close或 CFtpFileFind::FindFile。 调用其他FTP相同的FTP会话的功能失败并将错误代码。FTP_ETRANSFER_IN_PROGRESS。
pstrFileName 参数可以是部分受限定文件名相对于当前目录或完全限定。 反斜杠(\)或斜杠(/)可用作内容分隔符为上述任一个名称。 OpenFile 将目录名分隔符为适当的字符在使用。
重写 dwContext 默认设置上下文标识符到您选择的值。 上下文标识符与其 CInternetSession 对象创建的 CFtpConnection 对象的此特定操作。 该值在它标识的操作返回到 CInternetSession::OnStatusCallback 提供状态。 参见中的文章 Internet第一步:WinInet 有关上下文标识符的更多信息。
要求
Header: afxinet.h