|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
alexm Mini JLI'ler
Anmeldedatum: 20.11.2005 Beiträge: 15 Wohnort: Wien Medaillen: Keine
|
Verfasst am: 31.10.2008, 17:49 Titel: FTP Probleme mit Win32-API - FtpCommand |
|
|
hallo allerseits!
irgendwie hab ich ein problem mit dem FtpCommand.
ich verwende es wie folgt:
CPP: | HINTERNET hFtpCommand = NULL;
BOOL resFtpCommandW = FtpCommandW(
CFTP::_connectionData.hInternet, //HINTERNET hConnect,
TRUE, //BOOL fExpectResponse,
FTP_TRANSFER_TYPE_BINARY, //DWORD dwFlags, FTP_TRANSFER_TYPE_ASCII (Type A) | FTP_TRANSFER_TYPE_BINARY (Type I)
L"LIST", //LPCTSTR lpszCommand,
NULL, //DWORD_PTR dwContext,
&hFtpCommand //HINTERNET* phFtpCommand
);
// ---- danach ruf ich folgendes auf:
if ( !resFtpCommandW )
{
CFTP::exit( L"ERROR: Sending Ftp Command LIST failed!" );
}
CFTP::Print( L"Ftp response:\n" + CFTP::getLastFTP_Response() );
|
meine Print funktion leitet mir lediglich die ausgabe an die console weiter.
die funktion CFTP::getLastFTP_Response() sieht so aus
CPP: | const wstring CFTP::getLastFTP_Response()
{
DWORD le = GetLastError();
WCHAR lpszBuffer[1024];
DWORD lpdwBufferLength = 1024;
ZeroMemory(lpszBuffer,sizeof(lpszBuffer));
InternetGetLastResponseInfoW( &le , lpszBuffer, &lpdwBufferLength);
std::wostringstream ss;
ss << L"ErrorId = " << le << L" Error Message: " << lpszBuffer;
return ss.str();
}
|
meine probleme bei dem ganzen:
A) Was bitte ist dieser parameter DWORD_PTR dwContext beim FtpCommand - finde nirgendwo ein beispiel, in dem dieser parameter verwendet oder erklärt wird.
B) ich bekomme überhaupt keine rückmeldung, ob der server nun den LIST befehl ausgeführt hat. sollte ich das nicht über InternetGetLastResponseInfoW() bekommen? mein text der ausgegeben wird besagt nur ErrorId = 0 Error Message: <<LEER>>
C) rufe ich hier nirgendwo
InternetCloseHandle( CFTP::_connectionData.hFtpConnect );
InternetCloseHandle( CFTP::_connectionData.hInternet );
( meine InternetOpen und InternetConnect - handles )
auf - dennoch werden nach der ausführung von FtpCommandW offenbar beide geschlossen - erst dann wird der responsetext ausgegeben. verwende hier aber keinerlei threads. was ist da los !?
wäre für jeden weiterführenden tipp sehr dankbar !
vielleicht hat ja einer von euch schon seine erfahrungen mit dem zeugs gesammelt.
lg
|
|
Nach oben |
|
|
DirectXer Dark JLI'ler
Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 01.11.2008, 21:50 Titel: Re: FTP Probleme mit Win32-API - FtpCommand |
|
|
alexm hat Folgendes geschrieben: | ...
A) Was bitte ist dieser parameter DWORD_PTR dwContext beim FtpCommand - finde nirgendwo ein beispiel, in dem dieser parameter verwendet oder erklärt wird. |
DWORD_PTR ist definiert als ULONG_PTR und das ist eine (64-bit große) unsigned long Variable, also ein vorzeichenloser Integer mit 64-bit Größe. Das stammt noch aus C-Zeiten. der Parameter dwContext von FtpCommand() ist Zitat: | A pointer to a variable that contains an application-defined value used to identify the application context in callback operations. | Das hat was mit der Funktion InternetStatusCallback() zu tun, und zwar kannst du eine Callback (Funktion von dir, die Windows hin und wieder aufruft) definieren. Diese hat einen Context der eine bestimmte Nummer hat. Mit dwContext kannst du dich nun auf diesen Kontext beziehen, lies dir einfach [url=http://msdn.microsoft.com/en-us/library/aa383976(VS.85).aspx]diesen Link[/url] durch, da steht das ziemlich genau.
Gruß DXer |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|