<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FtpCommand erklärung?]]></title><description><![CDATA[<p>hi!</p>
<p>irgendwie hab ich ein problem mit dem FtpCommand.</p>
<p>ich verwende es wie folgt:</p>
<pre><code class="language-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&quot;LIST&quot;,							//LPCTSTR lpszCommand,
		NULL,								//DWORD_PTR dwContext,
		&amp;hFtpCommand						//HINTERNET* phFtpCommand
		);

// ---- danach ruf ich folgendes auf:

	if ( !resFtpCommandW )
	{
		CFTP::exit( L&quot;ERROR: Sending Ftp Command LIST failed!&quot;  );
	}

	CFTP::Print( L&quot;Ftp response:\n&quot; + CFTP::getLastFTP_Response()  );
</code></pre>
<p>meine Print funktion leitet mir lediglich die ausgabe an die console weiter.</p>
<p>die funktion CFTP::getLastFTP_Response() sieht so aus</p>
<pre><code class="language-cpp">const wstring CFTP::getLastFTP_Response()
{
	DWORD le =  GetLastError();
	WCHAR lpszBuffer[1024];
	DWORD lpdwBufferLength = 1024;

	ZeroMemory(lpszBuffer,sizeof(lpszBuffer));
	InternetGetLastResponseInfoW( &amp;le , lpszBuffer, &amp;lpdwBufferLength);

	std::wostringstream ss;
	ss &lt;&lt; L&quot;ErrorId = &quot; &lt;&lt; le &lt;&lt; L&quot; Error Message: &quot; &lt;&lt; lpszBuffer;

	return ss.str();
}
</code></pre>
<p>meine probleme bei dem ganzen:</p>
<p>A) Was bitte ist dieser parameter DWORD_PTR dwContext beim FtpCommand - finde nirgendwo ein beispiel, in dem dieser parameter verwendet oder erklärt wird.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> 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: &lt;&lt;LEER&gt;&gt;</p>
<p>C) rufe ich hier nirgendwo<br />
InternetCloseHandle( CFTP::_connectionData.hFtpConnect );<br />
InternetCloseHandle( CFTP::_connectionData.hInternet );<br />
( meine InternetOpen und InternetConnect - handles )<br />
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 !?</p>
<p>hoffe, ich bekomme hierzu überhaupt eine antwort. wäre für jeden tipp sehr dankbar !</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226215/ftpcommand-erklärung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 10:46:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226215.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Oct 2008 17:31:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FtpCommand erklärung? on Thu, 30 Oct 2008 17:31:13 GMT]]></title><description><![CDATA[<p>hi!</p>
<p>irgendwie hab ich ein problem mit dem FtpCommand.</p>
<p>ich verwende es wie folgt:</p>
<pre><code class="language-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&quot;LIST&quot;,							//LPCTSTR lpszCommand,
		NULL,								//DWORD_PTR dwContext,
		&amp;hFtpCommand						//HINTERNET* phFtpCommand
		);

// ---- danach ruf ich folgendes auf:

	if ( !resFtpCommandW )
	{
		CFTP::exit( L&quot;ERROR: Sending Ftp Command LIST failed!&quot;  );
	}

	CFTP::Print( L&quot;Ftp response:\n&quot; + CFTP::getLastFTP_Response()  );
</code></pre>
<p>meine Print funktion leitet mir lediglich die ausgabe an die console weiter.</p>
<p>die funktion CFTP::getLastFTP_Response() sieht so aus</p>
<pre><code class="language-cpp">const wstring CFTP::getLastFTP_Response()
{
	DWORD le =  GetLastError();
	WCHAR lpszBuffer[1024];
	DWORD lpdwBufferLength = 1024;

	ZeroMemory(lpszBuffer,sizeof(lpszBuffer));
	InternetGetLastResponseInfoW( &amp;le , lpszBuffer, &amp;lpdwBufferLength);

	std::wostringstream ss;
	ss &lt;&lt; L&quot;ErrorId = &quot; &lt;&lt; le &lt;&lt; L&quot; Error Message: &quot; &lt;&lt; lpszBuffer;

	return ss.str();
}
</code></pre>
<p>meine probleme bei dem ganzen:</p>
<p>A) Was bitte ist dieser parameter DWORD_PTR dwContext beim FtpCommand - finde nirgendwo ein beispiel, in dem dieser parameter verwendet oder erklärt wird.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> 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: &lt;&lt;LEER&gt;&gt;</p>
<p>C) rufe ich hier nirgendwo<br />
InternetCloseHandle( CFTP::_connectionData.hFtpConnect );<br />
InternetCloseHandle( CFTP::_connectionData.hInternet );<br />
( meine InternetOpen und InternetConnect - handles )<br />
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 !?</p>
<p>hoffe, ich bekomme hierzu überhaupt eine antwort. wäre für jeden tipp sehr dankbar !</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1607359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1607359</guid><dc:creator><![CDATA[alexm]]></dc:creator><pubDate>Thu, 30 Oct 2008 17:31:13 GMT</pubDate></item></channel></rss>