Probleme mit wininetapi Fehlercode 12110

soeni1987

Mitglied
Hallo,

ich habe folgendes Problem. Bei FtpFindNextFile wird die Datei nicht geöffnet. Der Fehlercode ist 12110. Leider werd ich daraus nicht schlau. Ich verwende die WininetApi

Mein Code sieht wiefolgt aus:
Code:
bool ::sync::ReadAll(HWND hwnd){
     status s;
     init in;
     
     s.iArt=1;
     s.SetStatus("Verbinden mit...",hwnd);
///////////////////////////////////////////////////////////////////////////////////////////////
     HINTERNET hInetOpen, hInetConnect;
     FILE* datei; 
     char szUserPfad[255], szMemberPfad[255], szNotesPfad[255], directory_ftp[]="intern/users", szBuff[255];
     std::string pfad, status, statuss;
     HINTERNET file, notes;
     char buff[4096] = "";
     DWORD dwBytesRead;     

 GetPrivateProfileString(szBenutzer,"ftp","NULL",host,255,in.Pfad());
 GetPrivateProfileString(szBenutzer,"benutzer","NULL",user,255,in.Pfad());     
 GetPrivateProfileString(szBenutzer,"passw","NULL",pass,255,in.Pfad());      
 GetPrivateProfileString(szBenutzer,"users","NULL",szUserPfad,255,in.Pfad());
 GetPrivateProfileString(szBenutzer,"notes","NULL",szNotesPfad,255,in.Pfad());     
 GetPrivateProfileString(szBenutzer,"member","NULL",szMemberPfad,255,in.Pfad());       

        hInetOpen = InternetOpen("FTP",INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); 
        hInetConnect = InternetConnect(hInetOpen, host, INTERNET_DEFAULT_FTP_PORT,
                   user, pass, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);



        if((hInetOpen || hInetConnect) == 0){
            s.SetStatus("Keine Verbindung",hwnd);
        }else{
            s.SetStatus(host,hwnd);          
            if(FtpSetCurrentDirectory(hInetConnect, directory_ftp)){
                status  = "In Ordner ";                                    
                status += directory_ftp;
                status += " gewechselt";
                s.SetStatus(const_cast<char*>(status.c_str()),hwnd);                                           
            }
            ///Hier User updaten
               WIN32_FIND_DATA wfd;      
               HINTERNET hFile = FtpFindFirstFile(hInetConnect, TEXT("*"), &wfd, 0, (DWORD_PTR)this);
               
               //hFile = hTemp;
               if (hFile == NULL)
               {
                     s.SetStatus("Fehler Dateien nicht geöffnet",hwnd);
                     return 0;
               }
               BOOL bResult = TRUE;
                while (bResult)
                {
                   if(strcmp(wfd.cFileName, "..")){
                       sprintf(szBuff, "Datei:  %s wird behandelt.", wfd.cFileName);                                   
                       status = szBuff;
                       s.SetStatus(const_cast<char*>(status.c_str()),hwnd);

                       file =  FtpOpenFile(hInetConnect, // Handle to the ftp session 
                               wfd.cFileName, // filename (aud find first file)
                               GENERIC_READ, // dwAccess 
                               FTP_TRANSFER_TYPE_BINARY, // dwFlags 
                               0); // This is the context used for callbacks.    
                       if(file){
                        s.SetStatus("Datei geöffnet",hwnd);                       
                       // Read the response
                       if(InternetReadFile(file, 
                                           buff,
                                           4095,
                                           &dwBytesRead))
                       s.SetStatus("Datei gelesen",hwnd);   
   
                       pfad  = szUserPfad;
                       pfad += wfd.cFileName;
      
                       datei = fopen(pfad.c_str(),"w+"); 
                       if(datei==NULL) 
                          s.SetStatus("Fehler beim Schreiben",hwnd);  
                       else{

                       fprintf(datei,"%s", buff); 
                       fclose(datei);                                   
                       }
                       }else{
                             ///////////////////////////////////




                             //////////////////////////////
                             char ab[500];
                             sprintf(ab,"%d",GetLastError());
                             if(GetLastError() == ERROR_FILE_NOT_FOUND) sprintf(ab,"Datei nicht gefunden");
                             statuss  = "Fehler: ";
                             statuss += ab;
                             statuss += " (Datei öffnen)";
                             s.SetStatus(const_cast<char*>(statuss.c_str()),hwnd);
                             }  
                       }
                bResult = InternetFindNextFile(hFile, &wfd);
                }
                InternetCloseHandle(hFile);
            
            ///Hier User updaten            
            sprintf(directory_ftp,"../notes");            
            if(FtpSetCurrentDirectory(hInetConnect, directory_ftp)){
                status  = "In Ordner ";                                    
                status += directory_ftp;
                status += " gewechselt";
                s.SetStatus(const_cast<char*>(status.c_str()),hwnd);                                           
            }
            ///Hier Notizen updaten
            ///Hier Notizen updaten            
            sprintf(directory_ftp,"../member");
            if(FtpSetCurrentDirectory(hInetConnect, directory_ftp)){
                status  = "In Ordner ";                                    
                status += directory_ftp;
                status += " gewechselt";
                s.SetStatus(const_cast<char*>(status.c_str()),hwnd);                                           
            }
            ///Hier Beiträge updaten                        
            ///Hier Beiträge updaten             
            
            
            s.SetStatus("Erfolgreich aktualisiert",hwnd);  
            }

        InternetCloseHandle(hInetOpen);
        InternetCloseHandle(hInetConnect);
        
        s.iArt=0;
        s.SetStatus("Verbindungen Getrennt!",hwnd);
     
     MessageBox(NULL, "Die Vereinsmitglieder wurden erfolgreich vom Server geladen!","Geladen",MB_OK);
     }

Der Dateiname wird richtig ausgelesen nur kann die date nicht geöffnet werden, wie gesagt.

Danke für die Hilfe im Vorraus und noch schöne Restweihnachtsfeiertage

Sönke
 
Zurück