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::ReadCInternetFile::WriteCInternetConnection::CloseCFtpFileFind::FindFile。 调用其他FTP相同的FTP会话的功能失败并将错误代码。FTP_ETRANSFER_IN_PROGRESS。

pstrFileName 参数可以是部分受限定文件名相对于当前目录或完全限定。 反斜杠(\)或斜杠(/)可用作内容分隔符为上述任一个名称。 OpenFile 将目录名分隔符为适当的字符在使用。

重写 dwContext 默认设置上下文标识符到您选择的值。 上下文标识符与其 CInternetSession 对象创建的 CFtpConnection 对象的此特定操作。 该值在它标识的操作返回到 CInternetSession::OnStatusCallback 提供状态。 参见中的文章 Internet第一步:WinInet 有关上下文标识符的更多信息。

要求

Header: afxinet.h

请参见

参考

CFtpConnection选件类

层次结构图

CInternetConnection选件类

CFtpConnection::GetFile

CGopherConnection::OpenFile

CInternetFile::Write

CInternetFile::Read