WinInet CFtpConnection::openfile多个文件

WinInet CFtpConnection::openfile multiple files

本文关键字:文件 openfile CFtpConnection WinInet      更新时间:2023-10-16

我想写一个应用程序,在ftp服务器上的文件工作。我需要在一个ftp连接中打开几个文件。我这样做

CInternetSession session(_T("Session1"));
CFtpConnection* pConnect = NULL;
CInternetFile* pFile1;
CInternetFile* pFile2;
pConnect = session.GetFtpConnection(_T("10.0.172.113"), _T("user11"), _T("12345")); 
pFile1 = pConnect->OpenFile(L"folder1\1.txt",GENERIC_WRITE,FTP_TRANSFER_TYPE_BINARY);
pFile2 = pConnect->OpenFile(L"folder1\2.txt",GENERIC_READ,FTP_TRANSFER_TYPE_BINARY);
pConnect->Close();

但是打开2.txt抛出异常。有没有办法打开两个文件,而不创建一个新的ftp连接?

不行,不行http://msdn.microsoft.com/library/vstudio/1st6z7sc.aspx:

在调用OpenFile之后,直到调用CInternetConnection::Close,应用程序只能调用CInternetFile::Read,CInternetFile::Write, CInternetConnection::Close, orCFtpFileFind:: FindFile。为同一个FTP调用其他FTP函数session将失败,错误码设置为FTP_ETRANSFER_IN_PROGRESS