FTP problem :(
-
Hi,
ich will mich etwas mit FTP auseinandersetzen, doch bei FtpSetCurrentDirectory geht einfahc nichts mehr

Verbinden tut er, Connecten ebenfalls aber ich komme nicht auf den Root-Ordner

#include <windows.h> #include <wininet.h> #include <iostream> #pragma comment(lib, "wininet.lib") int main (void) { // INTERNET CONNECTION ÖFFNEN! ######################## HINTERNET connection = NULL; connection = InternetOpen ("Anwendungsname", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC); if (connection != NULL) std::cout << "Verbindung hergestellt" << std::endl; else std::cout << "Verbindung konnte nicht hergestellt werden!" << std::endl; // FTP CONNECTION ÖFFNEN! ############################# HINTERNET ftp = NULL; ftp = InternetConnect (connection, "xxx", 21, "xxx", "xxx", 1, 0, 0); if (ftp != NULL) std::cout << "FTP-Verbindung hergestellt" << std::endl; else std::cout << "FTP-Verbindung konnte nicht hergestellt werden!" << std::endl; // FTP kram if (FtpSetCurrentDirectory (connection, "/")) std::cout << "FTP-Ordner gesetzt" << std::endl; else std::cout << "FTP-Ordner konnte nicht gesetzt werden!" << std::endl; return 0; }Zugangsdaten wurden natürlich geändert!
Weiß jemand weiter?
-
sollte es nicht ftp sein
FtpSetCurrentDirectory(ftp, "/");
-
hab das connection durch ftp ersetzt, es kommt einfach nix

-
was sagt
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetgetlastresponseinfo.asp
dazu
-
char buffer[512]; DWORD xxx = 512; InternetGetLastResponseInfo (NULL, buffer, &xxx); std::cout << buffer << std::endl;spuckt nix aus

-
Hab jetzt mal diese Funktion aus der MSDN dahinter aufgerufen:
void ErrorExit(LPTSTR lpszFunction) { TCHAR szBuf[80]; LPVOID lpMsgBuf; DWORD dw = GetLastError(); FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); wsprintf(szBuf, "%s failed with error %d: %s", lpszFunction, dw, lpMsgBuf); MessageBox(NULL, szBuf, "Error", MB_OK); LocalFree(lpMsgBuf); ExitProcess(dw); }Der sagt mir
"997: Überlappender E/A-Vorgang wird verarbeitet"?????
-
Probier mal anstelle von INTERNET_FLAG_ASYNC den Wert 0