InternetWriteFile schreibt immer 4 Bytes?



  • abend,
    habe en problem mit der InternetWriteFile() Funktion sie schreibt immer 4 Bytes auf den FTP.
    kann mir jemand sagen was an folgendem code verkehrt ist:

    do {			  
    			r = fgets(buf,512,f);
    
    			rtn = InternetWriteFile(ftp,buf,strlen(buf),&err); 
    			 if(rtn == 0)
    			   break;
    
    		}while(r != NULL);
    


  • Also es hängt an dem 3. Parameter von InternetWriteFile(),wenn strlen() 0 zurück gibt erhalte ich immer den Fehlercode:

    ERROR_INVALID_PARAMETER
    87 (0x57)

    The parameter is incorrect.



  • Habe das Problem nun wie folgt gelöst:

    ReadFile(h,buf,sizeof(buf),&len,NULL);
    
    		while(len!=0) {
    				rtn = InternetWriteFile(ftp,buf,len,&err); 
    
    				if(rtn != TRUE) {
    				   printf("GetLastError: %i\n",GetLastError());
    				   return 0;
    				}
    				ReadFile(h,buf,sizeof(buf),&len,NULL);
    
    		}
    

    Für Verbesserungen bin ich immer offen..
    😉


Anmelden zum Antworten