1

FTPサーバー上のファイルで動作するアプリケーションを作成しようとしています。1 回の 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 接続を作成せずに 2 つのファイルを開く方法はありますか?

4

1 に答える 1

1

いいえ、まさかhttp://msdn.microsoft.com/library/vstudio/1st6z7sc.aspx :

OpenFile を呼び出した後、CInternetConnection::Close を呼び出すまで、アプリケーションは CInternetFile::Read、CInternetFile::Write、CInternetConnection::Close、または CFtpFileFind::FindFile のみを呼び出すことができます。同じ FTP セッションに対する他の FTP 関数の呼び出しは失敗し、エラー コードが FTP_ETRANSFER_IN_PROGRESS に設定されます

于 2013-05-31T12:45:02.867 に答える