<?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[Performance Probleme beim Kopieren auf Netzwerk-Freigabe]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade an einem Programm bei, mit dem ich Dateien auf ein Verzeichnis im Netzwerk kopiere.<br />
Dieses remote Verzeichnis ist per Passwort geschützt.<br />
Um nun die Dateien kopieren zu können, melde ich mich per LogonUser an, kopiere die Datei dorthin und melde mich per RevertoSelf wieder ab.<br />
Das klappt auch alles.</p>
<p>Mein Problem ist nur die Performance.<br />
Wenn ich mit meinem Programm die Dateien kopiere, geht es ziemlich langsam.</p>
<p>Wenn ich mich jedoch vorher über den Windows Explorer auf dem Remote Verzeichnis anmelde, dann geht es sehr viel schneller.</p>
<p>Woran kann das liegen?<br />
Wisst ihr vielleicht eine Lösung dafür?</p>
<p>mfg</p>
<p>plugnpray</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208428/performance-probleme-beim-kopieren-auf-netzwerk-freigabe</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 02:31:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208428.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Mar 2008 12:41:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Performance Probleme beim Kopieren auf Netzwerk-Freigabe on Tue, 18 Mar 2008 12:41:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade an einem Programm bei, mit dem ich Dateien auf ein Verzeichnis im Netzwerk kopiere.<br />
Dieses remote Verzeichnis ist per Passwort geschützt.<br />
Um nun die Dateien kopieren zu können, melde ich mich per LogonUser an, kopiere die Datei dorthin und melde mich per RevertoSelf wieder ab.<br />
Das klappt auch alles.</p>
<p>Mein Problem ist nur die Performance.<br />
Wenn ich mit meinem Programm die Dateien kopiere, geht es ziemlich langsam.</p>
<p>Wenn ich mich jedoch vorher über den Windows Explorer auf dem Remote Verzeichnis anmelde, dann geht es sehr viel schneller.</p>
<p>Woran kann das liegen?<br />
Wisst ihr vielleicht eine Lösung dafür?</p>
<p>mfg</p>
<p>plugnpray</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476520</guid><dc:creator><![CDATA[plugnpray]]></dc:creator><pubDate>Tue, 18 Mar 2008 12:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Probleme beim Kopieren auf Netzwerk-Freigabe on Tue, 18 Mar 2008 16:59:13 GMT]]></title><description><![CDATA[<p>_WIE_ kopierst du denn? Ohne das zu wissen, kann man nur raten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476759</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Tue, 18 Mar 2008 16:59:13 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Probleme beim Kopieren auf Netzwerk-Freigabe on Wed, 19 Mar 2008 08:32:51 GMT]]></title><description><![CDATA[<p>Ich kopiere ganz normal mit der CopyFileEx-Funktion.</p>
<p>Und in der CopyProgressRoutine sind keine großartigen Berechnungen drin.</p>
<p>mfg</p>
<p>plugnpray</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477057</guid><dc:creator><![CDATA[plugnpray]]></dc:creator><pubDate>Wed, 19 Mar 2008 08:32:51 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Probleme beim Kopieren auf Netzwerk-Freigabe on Wed, 19 Mar 2008 08:41:44 GMT]]></title><description><![CDATA[<p>also ich hatte das auchmal gebraucht mit dem kopieren und hatte da rausgefunden, dass es am schnellsten ist, wenn man die datei ausliest und neu schreibt...<br />
in der art:</p>
<pre><code class="language-cpp">bool CThread::CopySH(LPCTSTR pFromFolder, LPCTSTR pToFolder)
{
	//--- copy - routine ---
	CString from = pFromFolder;
	CString to   = pToFolder;

	CString sRoot = to.Left( to.Find(_T(&quot;\\&quot;)) );
	AddDirBackSlash(sRoot);

	__int64 i64FreeBytesToCaller, i64TotalBytes, i64FreeBytes;

	GetDiskFreeSpaceEx (sRoot, (PULARGE_INTEGER)&amp;i64FreeBytesToCaller, (PULARGE_INTEGER)&amp;i64TotalBytes,(PULARGE_INTEGER)&amp;i64FreeBytes);

	//check if more than 500 MB (512000 KB)(524288000 B) available on destination drive
	if(i64FreeBytes &lt;= 524288000)
		SendMessage(m_params.hwndNotify, WM_APP_THREAD_DISK_FULL, NULL, NULL);

	if(GetTerminate() == TRUE) { return 0; } //terminate thread if user cancels

	CString toDir = ExtractDir(to);

	if(! DirectoryExists(toDir))
	{
		int iPos = 0;
		while(true)
		{
			if(GetTerminate() == TRUE) { return 0; } //terminate thread if user cancels

			iPos = toDir.Find( _T(&quot;\\&quot;), iPos + 1 );

			if(iPos == -1)
				break;

			CString sTemp = toDir.Mid(0, iPos);
			::CreateDirectory(sTemp,NULL);
		}
	}

	CFile fromFile(from, CFile::modeRead | CFile::typeBinary  | CFile::shareDenyWrite);
	CFile toFile(to, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);

	int iFileSize = fromFile.GetLength() / 1024;
	SendMessage(m_params.hwndNotify, WM_APP_THREAD_SET_FILEBAR, NULL, iFileSize);

	fromFile.SeekToBegin();
	DWORD dwRead;

	const int BUFSIZE = 1024;
	BYTE buffer[BUFSIZE];

	do
    {
		if(GetTerminate() == TRUE) { return 0; } //terminate thread if user cancels

		dwRead = fromFile.Read(buffer, BUFSIZE);
        toFile.Write(buffer, dwRead);

		SendMessage(m_params.hwndNotify, WM_APP_THREAD_FILEPROGRESS, NULL, NULL);

    }
    while (dwRead &gt; 0);

	//Set file attributes for new file
	SetFileAttributes(to, GetFileAttributes(from));

	return true;
}
</code></pre>
<p>da is jetz auch gleich noch ne routine drin, die checkt ob auf der platte weniger als 500mb frei sind <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Die SendMessage() kannst du erstmal weglassen, das war meine eigene Bimmelei mit Progress, Fileprogress usw... :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477059</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Wed, 19 Mar 2008 08:41:44 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Probleme beim Kopieren auf Netzwerk-Freigabe on Wed, 19 Mar 2008 10:32:20 GMT]]></title><description><![CDATA[<p>Okay, danke erstmal für den Auszug.</p>
<p>Aber mein Problem ist, dass wenn ich mich über den Windows Explorer an dem Remote Computer mit Nutzername und Passwort dort annmelde, dann geht das Kopieren viel schneller, als wenn ich das nicht mache.</p>
<p>Da versuche ich gerade durchzusteigen, wieso das so ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> .</p>
<p>mfg</p>
<p>plugnpray</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477138</guid><dc:creator><![CDATA[plugnpray]]></dc:creator><pubDate>Wed, 19 Mar 2008 10:32:20 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Probleme beim Kopieren auf Netzwerk-Freigabe on Wed, 19 Mar 2008 10:34:51 GMT]]></title><description><![CDATA[<p>wahrscheinlich wird für jede datei dann neu die berechtigung zum kopieren geprüft.. oder für jedes byte oder so <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477142</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Wed, 19 Mar 2008 10:34:51 GMT</pubDate></item></channel></rss>