<?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[GetOverlappedResult, WaitForSingleObject und Fortschrittsanzeige]]></title><description><![CDATA[<p>hi,</p>
<p>ich verwende ueberlappende lese- (<strong>ReadFile</strong>) und schreiboperationen (<strong>WriteFile</strong>) und wollte nun eine fortschrittsanzeige implementieren (mittels einer Callback-Funktion). jemand ne idee wie man das machen koennte, denn <strong>GetOverlappedResult</strong> liefert in <strong>BytesRead</strong> staendig 0, wenn man fuer den Parameter <strong>bWait = false</strong> angibt?</p>
<pre><code class="language-cpp">while (WaitForSingleObject(OverlappedRead.hEvent, 100) != WAIT_OBJECT_0)
{
  // solange die Operation laeuft die Callback-Funktion aufrufen
  if (!GetOverlappedResult(DeviceHandle, &amp;OverlappedRead, &amp;BytesRead, false))
    CallbackFun(BytesRead, BytesToRead);
}
</code></pre>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/106642/getoverlappedresult-waitforsingleobject-und-fortschrittsanzeige</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 21:31:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/106642.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Apr 2005 10:45:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GetOverlappedResult, WaitForSingleObject und Fortschrittsanzeige on Tue, 12 Apr 2005 11:06:34 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich verwende ueberlappende lese- (<strong>ReadFile</strong>) und schreiboperationen (<strong>WriteFile</strong>) und wollte nun eine fortschrittsanzeige implementieren (mittels einer Callback-Funktion). jemand ne idee wie man das machen koennte, denn <strong>GetOverlappedResult</strong> liefert in <strong>BytesRead</strong> staendig 0, wenn man fuer den Parameter <strong>bWait = false</strong> angibt?</p>
<pre><code class="language-cpp">while (WaitForSingleObject(OverlappedRead.hEvent, 100) != WAIT_OBJECT_0)
{
  // solange die Operation laeuft die Callback-Funktion aufrufen
  if (!GetOverlappedResult(DeviceHandle, &amp;OverlappedRead, &amp;BytesRead, false))
    CallbackFun(BytesRead, BytesToRead);
}
</code></pre>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764664</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Tue, 12 Apr 2005 11:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to GetOverlappedResult, WaitForSingleObject und Fortschrittsanzeige on Tue, 12 Apr 2005 19:36:16 GMT]]></title><description><![CDATA[<p>Asynchrone I/O liefert keine Fortschrittsdaten, nur &quot;fertig oder nicht&quot;.<br />
Für eine realistische Fortschrittsanzeige müßtest du die Anforderungen in einzelne Blöcke teilen, was ohne eigenen Thread wahrscheinlich schwierig ist (zumindest fällt mir keine Lösung ein).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/765113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/765113</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Tue, 12 Apr 2005 19:36:16 GMT</pubDate></item><item><title><![CDATA[Reply to GetOverlappedResult, WaitForSingleObject und Fortschrittsanzeige on Wed, 13 Apr 2005 06:11:53 GMT]]></title><description><![CDATA[<p>so habe ich das jetzt auch gemacht. ich lese immer 4Kb blöcke und rufe danach die callback-funktion auf. das wiederhole ich solange, bis ich alle daten gelesen habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/765269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/765269</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Wed, 13 Apr 2005 06:11:53 GMT</pubDate></item></channel></rss>