<?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[Probleme beim Lesen von IStream]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>in einem Programm bekomme ich nach dem Ablauf eines Verfahrens einen Zeiger zurück vom Typ IStream.<br />
Bis dahin läuft alles ok ist(auch getestet).</p>
<p>jetzt will ich den IStream lesen das geht aber schief :</p>
<p>Dataobject ss;</p>
<p>IStream *is = NULL;</p>
<p>is = ss.getMyData();</p>
<p>//Bis hier alles ok</p>
<p>string *sbuff;</p>
<p>sbuff = NULL;<br />
sbuff = new string();</p>
<p>ULONG cb = 1024;</p>
<p>ULONG *pcbRead = NULL;</p>
<p>ULONG var = 0;</p>
<p>pcbRead = &amp;var;</p>
<p>//hier fängt das übel an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
is-&gt;Read(sbuff,cb,pcbRead);</p>
<p>Danach ist sbuff == NULL und die Variable pcRead soll die anzahl der gelesenen Bytes beinhalten. Ist aber 0.</p>
<p>Hat jemand Erfahrung mit IStream ? ich will die Daten aus dem Stream als String vorliegen haben weil die anschließend über ein Sockel versendet wirden.</p>
<p>Für Beispiele wäre ich sehr dankbar.</p>
<p>Oder Vieleicht eine bessere Idee wie ich den IStream über Sockets versenden kann.</p>
<p>Die Sache soll schon auf einer Windows kiste laufen :p aber kein .NET oder sowas nur WINAPI und Standart.</p>
<p>Vielen Dank im Voraus</p>
<p>bis dann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208953/probleme-beim-lesen-von-istream</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 11:31:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208953.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Mar 2008 00:05:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Tue, 25 Mar 2008 00:05:28 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>in einem Programm bekomme ich nach dem Ablauf eines Verfahrens einen Zeiger zurück vom Typ IStream.<br />
Bis dahin läuft alles ok ist(auch getestet).</p>
<p>jetzt will ich den IStream lesen das geht aber schief :</p>
<p>Dataobject ss;</p>
<p>IStream *is = NULL;</p>
<p>is = ss.getMyData();</p>
<p>//Bis hier alles ok</p>
<p>string *sbuff;</p>
<p>sbuff = NULL;<br />
sbuff = new string();</p>
<p>ULONG cb = 1024;</p>
<p>ULONG *pcbRead = NULL;</p>
<p>ULONG var = 0;</p>
<p>pcbRead = &amp;var;</p>
<p>//hier fängt das übel an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
is-&gt;Read(sbuff,cb,pcbRead);</p>
<p>Danach ist sbuff == NULL und die Variable pcRead soll die anzahl der gelesenen Bytes beinhalten. Ist aber 0.</p>
<p>Hat jemand Erfahrung mit IStream ? ich will die Daten aus dem Stream als String vorliegen haben weil die anschließend über ein Sockel versendet wirden.</p>
<p>Für Beispiele wäre ich sehr dankbar.</p>
<p>Oder Vieleicht eine bessere Idee wie ich den IStream über Sockets versenden kann.</p>
<p>Die Sache soll schon auf einer Windows kiste laufen :p aber kein .NET oder sowas nur WINAPI und Standart.</p>
<p>Vielen Dank im Voraus</p>
<p>bis dann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1479836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479836</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Tue, 25 Mar 2008 00:05:28 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Tue, 25 Mar 2008 00:11:10 GMT]]></title><description><![CDATA[<p>hast du schonmal versucht im WinAPI-Forum zu fragen?</p>
<p>da wärst du sicher besser aufgehoben <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/1479838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479838</guid><dc:creator><![CDATA[DrakoXP]]></dc:creator><pubDate>Tue, 25 Mar 2008 00:11:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Tue, 25 Mar 2008 00:16:08 GMT]]></title><description><![CDATA[<p>es must nicht Win API sein es darf, nur .NET ist ein &quot;nogo&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1479840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479840</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Tue, 25 Mar 2008 00:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Tue, 25 Mar 2008 09:00:02 GMT]]></title><description><![CDATA[<p>daarko schrieb:</p>
<blockquote>
<p>in einem Programm bekomme ich nach dem Ablauf eines Verfahrens einen Zeiger zurück vom Typ IStream.</p>
<p>Die Sache soll schon auf einer Windows kiste laufen :p aber kein .NET oder sowas nur WINAPI und stan****.</p>
</blockquote>
<p>Was bitte ist ein IStream?</p>
<p>In ANSI C++ gibt es wenn nur die Klasse istream (klein geschrieben), nach suche in der MSDN würde ich darauf tippen das IStream vermutlich COM ist. Mit Standard C++ ist daher eh nichts zu machen, wenn benötigst du ohnehin mindestens die Windows API. Daher falsches Forum (es gibt ein WindowsAPI-Unterforum, und vermutlich wirst du verschoben).</p>
<p>Zu Dataobject habe ich wiederum auf Anhieb nur die Schreibweise DataObject gefunden, letzteres wäre aber .Net Framework.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1479883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479883</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 25 Mar 2008 09:00:02 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Tue, 25 Mar 2008 22:58:45 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ja Sorry Ihr habt recht, wenn möglich bitte verschieben.</p>
<p>Also Istream das &quot;I&quot; groß.nicht &quot;istream&quot;. ja das kommt aus der COM<br />
habe aber leider auch mit der COM keine Erfahrung, vieleicht weist jemand<br />
das was genaues ?</p>
<p>Mit dem IStream würde mir ein Beispiel genügen.</p>
<p>Vielen Dank euch.</p>
<p>Gruß Darko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480376</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Tue, 25 Mar 2008 22:58:45 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Tue, 25 Mar 2008 23:02:14 GMT]]></title><description><![CDATA[<p>PS: ich habe auch schon die MSDN durchwühlt und auch gegoogelt leider keine entsprechenden Beispiele.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480378</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Tue, 25 Mar 2008 23:02:14 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 00:19:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char buffer[1024];
ULONG numberOfBytesRead;
is-&gt;Read(buffer, sizeof(buffer), &amp;numberOfBytesRead);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1480390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480390</guid><dc:creator><![CDATA[.........]]></dc:creator><pubDate>Wed, 26 Mar 2008 00:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 18:46:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Vielen Dank für die Antworten.</p>
<p>//funktioniert nicht</p>
<p>......... schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char buffer[1024];
ULONG numberOfBytesRead;
is-&gt;Read(buffer, sizeof(buffer), &amp;numberOfBytesRead);
</code></pre>
</blockquote>
<p>Mein Code:</p>
<p>char buffer[1024000];</p>
<p>ULONG numberOfBytesRead;</p>
<p>HRESULT hr;</p>
<p>hr = is-&gt;Read(buffer,sizeof(buffer),&amp;numberOfBytesRead);</p>
<p>if(hr==S_OK)</p>
<p>cout &lt;&lt; &quot;HRESULT war : S_OK &quot; &lt;&lt; &quot;\n&quot;;</p>
<p>if(hr==S_FALSE)</p>
<p>cout &lt;&lt; &quot;HRESULT war : S_FALSE &quot; &lt;&lt; &quot;\n&quot;;</p>
<p>if(hr==E_PENDING)</p>
<p>cout &lt;&lt; &quot;HRESULT war : E_PENDING &quot; &lt;&lt; &quot;\n&quot;;</p>
<p>if(hr==STG_E_ACCESSDENIED)</p>
<p>cout &lt;&lt; &quot;HRESULT war : STG_E_ACCESDENIED &quot; &lt;&lt; &quot;\n&quot;;</p>
<p>if(hr==STG_E_INVALIDPOINTER)</p>
<p>cout &lt;&lt; &quot;HRESULT war : STG_E_INVALIDPOINTER &quot; &lt;&lt; &quot;\n&quot;;</p>
<p>if(hr==STG_E_REVERTED)</p>
<p>cout &lt;&lt; &quot;HRESULT war : STG_E_REVERTED &quot; &lt;&lt; &quot;\n&quot;;</p>
<p>-----------------------------------------------------------------------</p>
<p>Es kommt raus :</p>
<p>HRESULT war : S_OK</p>
<p>aber numberOfBytesRead = 0</p>
<p>eigentlich müsste das genau so laufen macht er aber nicht.<br />
Der Zeiger is ist auf jeden fall ok sieht man auch an HRESULT war : S_OK</p>
<p>vieleicht weist jemand noch eine Möglichkeit oder sieht den Fehler.</p>
<p>vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480889</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Wed, 26 Mar 2008 18:46:53 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 19:24:00 GMT]]></title><description><![CDATA[<p>Wer schreibt denn in den Stream?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480926</guid><dc:creator><![CDATA[##]]></dc:creator><pubDate>Wed, 26 Mar 2008 19:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 20:00:36 GMT]]></title><description><![CDATA[<p>Die main methode, aus einer Klasse rufe ich eine Methode auf die einen zeiger auf IStream zurückt gibt hier &quot;is&quot;. der is zeiger ist aufjeden fall ok.(Getestet).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480964</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Wed, 26 Mar 2008 20:00:36 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 20:39:42 GMT]]></title><description><![CDATA[<p>Dann zeig mal wie du Write aufrufst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480992</guid><dc:creator><![CDATA[##]]></dc:creator><pubDate>Wed, 26 Mar 2008 20:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 21:34:08 GMT]]></title><description><![CDATA[<h2>schrieb:</h2>
<blockquote>
<p>Dann zeig mal wie du Write aufrufst.</p>
</blockquote>
<p>gar nicht, im stream wird ein Bitmap gespeichert.</p>
<p>die Methode in der Klasse :</p>
<p>.....<br />
.....<br />
..<br />
IStream *speicher;<br />
......<br />
......</p>
<p>Bitmap *bitmap = Bitmap:: ................</p>
<p>bitmap-&gt;Save(speicher,....);</p>
<p>return speicher;</p>
<p>-----------------------<br />
Das läuft alles automatisch in der Klasse, die Methode gibt mir nur einen zeiger auf ein IStream zurück.</p>
<p>IStream *is = meinObject.GetBitmap();</p>
<p>wie schon gesagt der &quot;is&quot; ist ok das geht auch alles glad.</p>
<p>nur jetzt will ich aus dem IStream lesen, und da ist das Problem</p>
<p>is-&gt;Read(........);</p>
<p>Ich vermute dass die Parameter von Read falsch sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481022</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Wed, 26 Mar 2008 21:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 21:47:07 GMT]]></title><description><![CDATA[<p>Wird zwischen</p>
<p>IStream *speicher;</p>
<p>und</p>
<p>bitmap-&gt;Save(speicher,....);</p>
<p>noch irgendwas mit &quot;speicher&quot; gemacht? Wenn nicht ist es ja wohl sehr klar das es nicht funktioniert. <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/1481033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481033</guid><dc:creator><![CDATA[##]]></dc:creator><pubDate>Wed, 26 Mar 2008 21:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 21:55:44 GMT]]></title><description><![CDATA[<p>Ja natürlich :</p>
<p>.....<br />
.....<br />
.....</p>
<p>//Speicher für IStream allocieren</p>
<p>HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE,1024);</p>
<p>CreateStreamOnHGLOBAL(hGlobal,TRUE,&amp;is);<br />
.....<br />
....</p>
<p>und dann bitmap-&gt;Save(is,.....);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481038</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Wed, 26 Mar 2008 21:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 21:58:09 GMT]]></title><description><![CDATA[<p>sorry name verwechselt</p>
<p>an dieser stelle heist der IStream nicht &quot;is&quot; sondern &quot;speicher&quot;.</p>
<p>also IStream *speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481039</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Wed, 26 Mar 2008 21:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 22:12:17 GMT]]></title><description><![CDATA[<p>Hier findest du ein funktionierendes Beispiel: <a href="http://www.codeproject.com/KB/GDI-plus/MemImage.aspx" rel="nofollow">http://www.codeproject.com/KB/GDI-plus/MemImage.aspx</a></p>
<p>Mit dessen Hilfe müsstest du doch eigentlich den Fehler finden können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481043</guid><dc:creator><![CDATA[memoryimage]]></dc:creator><pubDate>Wed, 26 Mar 2008 22:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Wed, 26 Mar 2008 22:37:36 GMT]]></title><description><![CDATA[<p>So habs mir selbst mal angeguckt, ich denke mal in deinem Code fehlt der Seek-Aufruf mit dem man an den Anfang springt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481055</guid><dc:creator><![CDATA[memoryimage]]></dc:creator><pubDate>Wed, 26 Mar 2008 22:37:36 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Lesen von IStream on Thu, 27 Mar 2008 21:57:24 GMT]]></title><description><![CDATA[<p>Genau das war das Problem : &quot;Seek&quot; fehlt bei mir. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>also so wird aus einem IStream gelesen.</p>
<p>//ich bekomme einen Zeiger auf einen IStream von einer methode<br />
IStrem* is = myobejct.getDataIStream();</p>
<p>Variablen für die Größe definiern :<br />
ULARGE_INTEGER size;<br />
LARGE_INTEGER myoffset;<br />
myoffset.QuadPart = 0;</p>
<p>//JETZT WICHTIG mit Seek die Pointer setzen! Mein Hauptproblem!<br />
//größe bestimmen<br />
is-&gt;Seek(myoffset,STREAM_SEEK_END,&amp;size);<br />
//und jetzt wieder an den Anfang springen<br />
is-&gt;Seek(myoffset,STREAM_SEEK_SET,NULL);</p>
<p>//Char Array erzeugen mit entsprechender Größe<br />
char *mybuffer = new char[size.QuadPart];</p>
<p>//Aus dem Stream lesen<br />
ULONG readBytes;<br />
is-&gt;Read(mybuffer,size.QuadPart,&amp;readBytes);</p>
<p>:p :p :p</p>
<p>Vielen Dank für die Hilfe.</p>
<p>Danke für den Link.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481764</guid><dc:creator><![CDATA[daarko]]></dc:creator><pubDate>Thu, 27 Mar 2008 21:57:24 GMT</pubDate></item></channel></rss>