[C++] Wysyłanie plików na FTP

0

Witam!
Mam problem z wysyłaniem plików na serwer. Korzystam z funkcji Wininet.
Fragment kodu:

HINTERNET Int=InternetOpen(0, INTERNET_OPEN_TYPE_PRECONFIG,0,0,INTERNET_FLAG_PASSIVE);
    
	if (Int == NULL)
	{
		cout << "1Error: " << GetLastError();
	}
	else
	{
		HINTERNET IntFTP=InternetConnect(Int,"serwer",INTERNET_DEFAULT_FTP_PORT,"login","hasło",INTERNET_SERVICE_FTP,0,0);
		
	if (IntFTP == NULL)
	{
		cout << "2Error: " << GetLastError();
	}
	else
        {
                int Error = GetLastError();
		if(!FtpOpenFile(IntFTP,"lap.txt",GENERIC_WRITE,FTP_TRANSFER_TYPE_ASCII,0))
			cout << "3Error: " << GetLastError() << endl;
	   if (!FtpPutFile(IntFTP, "lol.txt", "/lsoasal2.txt", FTP_TRANSFER_TYPE_ASCII, 0))
          {
		   
           cout << "4Error: "<< GetLastError() << endl;

          }     
         }
        } 

Funkcja GetLastError() zwraca błąd 12003(w miejscu 3Error i 4Error). Na serwerze FTP pojawia się wyznaczony plik, ale jest on pusty. Próbowałem używać różnych serwerów FTP z miernym skutkiem.

W czym leży problem?

Proszę o pomoc.
Pozdrawiam!

0

nie wiem, co jest nie tak, ale co do błędu to na MSDN piszą:

ERROR_INTERNET_EXTENDED_ERROR
12003

An extended error was returned from the server. This is typically a string or buffer containing a verbose error message. Call InternetGetLastResponseInfo to retrieve the error text.
0

Dziękuję serdecznie!

Wystarczyło zmienić linijkę:

HINTERNET IntFTP=InternetConnect(Int,"serwer",INTERNET_DEFAULT_FTP_PORT,"login","hasło",INTERNET_SERVICE_FTP,0,0);

na:

HINTERNET IntFTP=InternetConnect(Int,"serwer",INTERNET_DEFAULT_FTP_PORT,"login","hasło",INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);

i wszystko działa [browar].

1 użytkowników online, w tym zalogowanych: 0, gości: 1