<?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[Named Pipe]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich suche in Windows eine Möglichkeit festzustellen ob Daten in einer Named-Pipe anliegen ohne sie auszulesen.</p>
<p>So soll zb ein Event ausgelöst werden, sobald Daten zum auslesen vorhanden sind.</p>
<p>Ich möchte gleichzeitig auf den Seriellen Port sowie die Named-Pipe warten. Treffen nun in einem der Beiden Schnittstellen Daten ein sollen diese ausgewertet werden. Das verhalten soll dem select() unter Unix ähnlich sein.</p>
<p>Beim ComPort kann dies ja mit WaitCommEvent erreicht werden. Jedoch suche ich solch ein Verhalten auch für eine Named-Pipe. Wie ist so etwas zu realisieren?</p>
<p>Vielen Dank...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167643/named-pipe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:10:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167643.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Dec 2006 11:18:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Named Pipe on Wed, 13 Dec 2006 11:18:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich suche in Windows eine Möglichkeit festzustellen ob Daten in einer Named-Pipe anliegen ohne sie auszulesen.</p>
<p>So soll zb ein Event ausgelöst werden, sobald Daten zum auslesen vorhanden sind.</p>
<p>Ich möchte gleichzeitig auf den Seriellen Port sowie die Named-Pipe warten. Treffen nun in einem der Beiden Schnittstellen Daten ein sollen diese ausgewertet werden. Das verhalten soll dem select() unter Unix ähnlich sein.</p>
<p>Beim ComPort kann dies ja mit WaitCommEvent erreicht werden. Jedoch suche ich solch ein Verhalten auch für eine Named-Pipe. Wie ist so etwas zu realisieren?</p>
<p>Vielen Dank...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191116</guid><dc:creator><![CDATA[DieBrille]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to Named Pipe on Wed, 13 Dec 2006 14:04:25 GMT]]></title><description><![CDATA[<p>Tja du kannst es mit <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createevent.asp" rel="nofollow">CreateEvent</a> und <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/waitforsingleobject.asp" rel="nofollow">WaitForSingleObject</a> machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191227</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Wed, 13 Dec 2006 14:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to Named Pipe on Wed, 13 Dec 2006 14:18:12 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Schau dir bitte diese Seite an: <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/synchronous_and_overlapped_input_and_output.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/synchronous_and_overlapped_input_and_output.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191239</guid><dc:creator><![CDATA[Andromeda]]></dc:creator><pubDate>Wed, 13 Dec 2006 14:18:12 GMT</pubDate></item><item><title><![CDATA[Reply to Named Pipe on Thu, 14 Dec 2006 14:51:53 GMT]]></title><description><![CDATA[<p>Hallo...</p>
<p>danke für die Tips. Die Seiten kannte ich jedoch schon.</p>
<p>Vielleicht sollte ich das Problem nochmal besser erklären:</p>
<p>Ich starte für beide ein asynchrones ReadFile() mit einem Event in der overlap Struktur. Jetzt werte ich die Daten der Pipe aus und Sende sie an den Com-Port. Jedoch läuft währenddessen ja noch mein asynchrones ReadFile() auf die Com Schnittstelle.</p>
<p>Will ich jetzt abermals ein asnychrones ReadFile starten um die Antwort zu erhalten, kann es ja sein, dass inzwischen schon Daten aus dem Com-Port gelesen wurden. Diese wären dann gelöscht.</p>
<p>ICh habe nun versucht zu prüfen ob das Event der ComPort overlap struktur gesetzt wurde und somit Daten eingegangen sind. Dies habe ich mit einem WaitForSingleObejct() mit einem Timeout von 1 versucht.<br />
Jedoch war das Event fast immer gesetzt obwohl der ComPort keine Daten geliefert hatte.<br />
Auch habe ich versucht die asynchronen Lesezugriffe mit einem CancelIo() abzubrechen bevor ich eines neuen starte. Das hatte aber keine Wirkung.</p>
<p>Gibt es noch eine andere Möglichkeit festzustellen ob ein Event gesetzt wurde ohne es zu beeinflussen?<br />
Oder ist ein komplett anderes vorgehen vielleicht die bessere Alternative?</p>
<p>Vielleicht versuche ich einmal in einem anderen Thread synchron von der Com zu lesen und dann ein Event oder Mutex zu signalisieren. Jedoch wär mir eine andere Lösung lieber.</p>
<p>vielen dank<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191828</guid><dc:creator><![CDATA[DieBrille]]></dc:creator><pubDate>Thu, 14 Dec 2006 14:51:53 GMT</pubDate></item></channel></rss>