<?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[Herrausfinden der aktuell vorhandenen COM-Schnittstellen]]></title><description><![CDATA[<p>Hab da mal ne Frage zur Seriellen Schnittstelle und zwar will ich wissen wie ich herausfinde welche COM-Schnittstellen aktuell verfügbar sind und diese irgendwie in ein Array anlegen.</p>
<p>bzw. für jede verfügbare COM-Schnittstelle ein RadioButton erzeugt.</p>
<p>Vielen Dank für die Hilfe</p>
<p>MfG Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/125767/herrausfinden-der-aktuell-vorhandenen-com-schnittstellen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 16:44:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/125767.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Nov 2005 11:27:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Wed, 09 Nov 2005 11:27:21 GMT]]></title><description><![CDATA[<p>Hab da mal ne Frage zur Seriellen Schnittstelle und zwar will ich wissen wie ich herausfinde welche COM-Schnittstellen aktuell verfügbar sind und diese irgendwie in ein Array anlegen.</p>
<p>bzw. für jede verfügbare COM-Schnittstelle ein RadioButton erzeugt.</p>
<p>Vielen Dank für die Hilfe</p>
<p>MfG Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912628</guid><dc:creator><![CDATA[bierber]]></dc:creator><pubDate>Wed, 09 Nov 2005 11:27:21 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Wed, 09 Nov 2005 11:29:58 GMT]]></title><description><![CDATA[<p>Gleich noch ne Frage zum verständnis in den ganzen beispielen wird bei der initaliesierung folgender Befehl eingegebn, nur was bedeutet das im einzelnen?</p>
<pre><code>hCom = CreateFile (&quot;COM1&quot;, GENERIC_WRITE | GENERIC_READ, 0, NULL, 
   OPEN_EXISTING, 0, NULL);
</code></pre>
<p>Also merci mal<br />
mfg Felx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912630</guid><dc:creator><![CDATA[bierber]]></dc:creator><pubDate>Wed, 09 Nov 2005 11:29:58 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Wed, 09 Nov 2005 12:21:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Hier mal ein paar Links zum Lesen</p>
<p><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp" rel="nofollow">CreateFile</a><br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/about_communications_resources.asp" rel="nofollow">About Communications Resources</a><br />
Vielleicht hilfts ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912677</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:21:08 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Wed, 09 Nov 2005 12:21:31 GMT]]></title><description><![CDATA[<p>EnumPorts ist da wohl ne passende API Funktion (Siehe <a href="http://msdn.microsoft.com" rel="nofollow">msdn.microsoft.com</a>)</p>
<p>Auch deine zweite Frage, die eignetlich nichts mit dem im Titel angegebenen Thema zu tun hat, (merke bitte für die Zukunft: Pro Frage 1 Thread, 1 Thread Pro Frage) findest du die Antwort in der MSDN, wenn du mal die Funktion nachschlägst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912678</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:21:31 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 08:53:37 GMT]]></title><description><![CDATA[<p>OK erst mal sorry wegen meinem Regel verstoß kommt nicht mehr vor</p>
<p>nun hab ich mir alle Infos von euch durchgelesen aber ich komme da net weiter vielleicht gibt es da ein paar Code Schnippsel die mir mehr sagen als seitenlanges BLABLA</p>
<p><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="😉"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/913637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/913637</guid><dc:creator><![CDATA[bierber]]></dc:creator><pubDate>Thu, 10 Nov 2005 08:53:37 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 10:32:21 GMT]]></title><description><![CDATA[<p>bierber schrieb:</p>
<blockquote>
<p>die mir mehr sagen als seitenlanges BLABLA</p>
</blockquote>
<p>Seitenlages Blabla?!? Das ist die Entwicklerdokumentation, die dir eben Fragen wie diese hier beantwortet:</p>
<blockquote>
<p>was bedeutet das im einzelnen?</p>
</blockquote>
<p>Die Frage kann man ja ned mit Codeschnippseln beantworten?</p>
<p>Was hast du denn an der Dokumentation zu EnumPorts nicht verstanden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/913720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/913720</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Thu, 10 Nov 2005 10:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 10:44:29 GMT]]></title><description><![CDATA[<p>MSDN schrieb:</p>
<blockquote>
<p>The EnumPorts function enumerates the ports that are available for <strong>printing</strong> on a specified server.</p>
</blockquote>
<p>Drucken?</p>
<p>Ich durchsuche HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM, das funktioniert sehr gut unter 2000 und XP. Ein Moderator - ich glaube KlausB - hat mal davon abgeraten, aber auf Nachfrage leider nicht geantwortet. Daher diesen Vorschlag bitte mit Vorsicht genießen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/913737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/913737</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 10 Nov 2005 10:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 15:15:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Habe ich vergessen auf das damalige Posting zu atworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Das Problem liegt doch daran: nicht in allen Windosen liegt es an der Stelle</p>
<pre><code class="language-cpp">HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
</code></pre>
<p>Mfg<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914046</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Thu, 10 Nov 2005 15:15:02 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 15:27:13 GMT]]></title><description><![CDATA[<p>KlausB schrieb:</p>
<blockquote>
<p>Habe ich vergessen auf das damalige Posting zu atworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>Hallo KlausB,</p>
<p>es handelt sich um diesen Thread: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-91717" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-91717</a></p>
<p>Hey, das ist fast genau ein Jahr her <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>
<blockquote>
<p>Das Problem liegt doch daran: nicht in allen Windosen liegt es an der Stelle</p>
<pre><code class="language-cpp">HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
</code></pre>
</blockquote>
<p>Wie gesagt, unter XP und 2000 klappt das bei mir ganz gut. Hast du da nähere Informationen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914066</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 10 Nov 2005 15:27:13 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 15:52:22 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>bei alle Windosen die auf NT basieren stimmt es so<br />
bei Win9X usw ist es nicht ganz so<br />
(oder anderst herum - bin mir nicht mehr ganz sicher wie herum)</p>
<p>Mfg<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914075</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Thu, 10 Nov 2005 15:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Thu, 10 Nov 2005 15:51:35 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>MSDN schrieb:</p>
<blockquote>
<p>The EnumPorts function enumerates the ports that are available for <strong>printing</strong> on a specified server.</p>
</blockquote>
<p>Drucken?</p>
</blockquote>
<p>Ich empfehle damit rumzuspielen, bevor man sich ein Urteil bildet... Vielleicht seid ihr ja alle auch zu jung um zu wissen, das es früher auch COM-Port-Drucker gab? (o;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914085</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Thu, 10 Nov 2005 15:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 06:05:34 GMT]]></title><description><![CDATA[<p>junix schrieb:</p>
<blockquote>
<p>Ich empfehle damit rumzuspielen, bevor man sich ein Urteil bildet...</p>
</blockquote>
<p>Ich habe EnumPorts mal in einem Projekt benutzt und war mit dem Ergebnis nicht zufrieden. Ich wusste nicht mehr, warum, darum habe ich rumgespielt <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>
<p>Ergebnis:<br />
EnumPorts liefert nicht nur serielle Schnittstellen. Das wäre kein Problem, wenn man irgendwie erkennen könnte, welcher Port eine ist und welcher nicht. Dazu habe ich aber auf die Schnelle keine Möglichkeit gefunden.</p>
<p>Außerdem liefert EnumPorts Schnittstellen, <em>die gar nicht vorhanden sind</em>. Mein Rechner hier hat weder COM3 noch COM4, und schon gar nicht LPT1, LPT2 und LPT3.</p>
<p>Damit ist EnumPorts IMHO zu Auffinden serieller Schnittstellen komplett ungeeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914554</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 11 Nov 2005 06:05:34 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 06:35:59 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>EnumPorts liefert nicht nur serielle Schnittstellen. Das wäre kein Problem, wenn man irgendwie erkennen könnte, welcher Port eine ist und welcher nicht. Dazu habe ich aber auf die Schnelle keine Möglichkeit gefunden.</p>
</blockquote>
<p>ganz einfach: Da werden weitere Infos mitgeliefert in denen &quot;COMx&quot; steht... nach COM filtern wirkt wunder (o;</p>
<p>MFK schrieb:</p>
<blockquote>
<p>Außerdem liefert EnumPorts Schnittstellen, <em>die gar nicht vorhanden sind</em>. Mein Rechner hier hat weder COM3 noch COM4, und schon gar nicht LPT1, LPT2 und LPT3.</p>
</blockquote>
<p>Das ist nach meiner Erfahrung betriebssystemabhängig. Bei NT4 z.B. trifft das zu.</p>
<p>MFK schrieb:</p>
<blockquote>
<p>Damit ist EnumPorts IMHO zu Auffinden serieller Schnittstellen komplett ungeeignet.</p>
</blockquote>
<p>Naja einzige alternative wäre das versuchte Öffnen aller Schnittstellen. Nur wo hört man da am Besten auf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914562</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Fri, 11 Nov 2005 06:35:59 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 08:13:23 GMT]]></title><description><![CDATA[<p>OK BLABLA nehme ich zurück aber wenn man halt neu ist in der C++ Welt die englische sprache zwar versteht und auch einigermaßen kann hat man doch Probleme seitenlange Texte aus dem Englischen korrekt zu verstehen.</p>
<p>Was mich an dem Artikel zusätzölich gestört hat war das immer vin Printern gesprochen wurde was meines erachtens ja den LPT1 Port betrifft ich aber die Com Schnittstelle suche.Was ja vom Datenformat extrem unterschiedlich ist(parallel und seriel)</p>
<p>Also vielleicht schaffe ich es selber ansonsten würde es mich freuen wenn man mir noch ein paar hilfreiche Tipps geben kann (</p>
<p>das mit der Regisitry durchsuchen war schonmal net schlecht nur wie sieht das mit usb to Serial adaptern aus stehen die dann dauerhaft drin oder nur wenn sie angeschlossen sind?</p>
<p>Und wie durchsuche ich überhaupt die Registry?</p>
<p>Naja ich hoffe habe jetzt nicht soviel unmut gegen mich geschürt das ich vielleicht noch ein paar weiter dämliche Fragen stellen darf.</p>
<p>MfG Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914614</guid><dc:creator><![CDATA[bierber]]></dc:creator><pubDate>Fri, 11 Nov 2005 08:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 08:55:31 GMT]]></title><description><![CDATA[<p>junix schrieb:</p>
<blockquote>
<p>ganz einfach: Da werden weitere Infos mitgeliefert in denen &quot;COMx&quot; steht... nach COM filtern wirkt wunder (o;</p>
</blockquote>
<p>Ist irgendwo festgelegt, dass der Gerätename einer seriellen Schnittstelle mit COM anfangen muss?</p>
<p>junix schrieb:</p>
<blockquote>
<p>MFK schrieb:</p>
<blockquote>
<p>Außerdem liefert EnumPorts Schnittstellen, <em>die gar nicht vorhanden sind</em>. Mein Rechner hier hat weder COM3 noch COM4, und schon gar nicht LPT1, LPT2 und LPT3.</p>
</blockquote>
<p>Das ist nach meiner Erfahrung betriebssystemabhängig. Bei NT4 z.B. trifft das zu.</p>
</blockquote>
<p>Es kommt noch schlimmer. Ich habe gerade ein wenig mit den BT-Comports herumgespielt. EnumPorts meldet COM5 und COM6, die es nicht gibt. Den frisch eingerichteten COM7 meldet es nicht <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 />
OS: Windows XP Professional, SP 2</p>
<p>junix schrieb:</p>
<blockquote>
<p>Naja einzige alternative wäre das versuchte Öffnen aller Schnittstellen. Nur wo hört man da am Besten auf?</p>
</blockquote>
<p>Einer unserer Kunden hatte serielle Schnittstellen im dreistelligen Bereich. Hinzu kommt, dass ein Fehlschlagen des Öffnens nicht bedeutet, dass die Schnittstelle <em>nicht</em> da ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914651</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 11 Nov 2005 08:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 09:04:51 GMT]]></title><description><![CDATA[<p>Ok sowie es aussieht sind da doch noch mehr Probleme mit dem EnumPorts.</p>
<p>KlausB schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>bei alle Windosen die auf NT basieren stimmt es so<br />
bei Win9X usw ist es nicht ganz so<br />
(oder anderst herum - bin mir nicht mehr ganz sicher wie herum)</p>
<p>Mfg<br />
Klaus</p>
</blockquote>
<p>Wenn ich das richtig verstehe gibt es bei der Registry nur 2 möglichkeiten</p>
<p>entweder 98, me oder 2000 und XP ist es nicht möglich das betriebssystem auszulesen und dann den entsprechenden Registryschlüssel zu durchforsten?</p>
<p>ist auf jedenfall effektiver als 200 Com Ports zu testen.</p>
<p>MfG Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914662</guid><dc:creator><![CDATA[bierber]]></dc:creator><pubDate>Fri, 11 Nov 2005 09:04:51 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 09:23:37 GMT]]></title><description><![CDATA[<p>bierber schrieb:</p>
<blockquote>
<p>ist es nicht möglich das betriebssystem auszulesen</p>
</blockquote>
<p>GetVersionEx</p>
<blockquote>
<p>und dann den entsprechenden Registryschlüssel zu durchforsten?</p>
</blockquote>
<p>RegOpenKeyEx, RegEnumValue usw. Der BCB hat aber bestimmt eine Klasse dafür.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914686</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 11 Nov 2005 09:23:37 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 09:26:16 GMT]]></title><description><![CDATA[<p>TRegistry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914691</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 11 Nov 2005 09:26:16 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 10:07:55 GMT]]></title><description><![CDATA[<p>Ich mache dies immer damit:</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
void TfrmOptions::LoadCommPortsList()
{
   COMMCONFIG CommConfig;
   AnsiString saTemp;
   DWORD dwSize = sizeof(COMMCONFIG);

   CommConfig.dwSize = sizeof(COMMCONFIG);

   for(int iPort = 1; iPort &lt;= MAX_COMM_PORTS; ++iPort)
   {
      saTemp.sprintf(&quot;COM%1u&quot;, iPort);

      if(GetDefaultCommConfig(saTemp.c_str(), &amp;CommConfig, &amp;dwSize))
      {
         saTemp.sprintf(&quot;COM%1u (%s)&quot;, iPort, GetCommProviderSubTypeText(CommConfig.dwProviderSubType).c_str());
         cbxComPort_Imes-&gt;Items-&gt;Add(saTemp);
      }
      else
      {
         saTemp.sprintf(&quot;COM%1u (n/a)&quot;, iPort);
         cbxComPort_Imes-&gt;Items-&gt;Add(saTemp);
      }
   }
}

//---------------------------------------------------------------------------
AnsiString __fastcall TfrmOptions::GetCommProviderSubTypeText(DWORD dwProviderSubType)
{
   switch(dwProviderSubType)
   {
      case PST_FAX:
         return AnsiString(&quot;FAX&quot;);
      case PST_LAT:
         return AnsiString(&quot;LAT&quot;);
      case PST_MODEM:
         return AnsiString(&quot;Modem&quot;);
      case PST_NETWORK_BRIDGE:
         return AnsiString(&quot;Network bridge&quot;);
      case PST_PARALLELPORT:
         return AnsiString(&quot;Parallel&quot;);
      case PST_RS232:
         return AnsiString(&quot;RS232&quot;);
      case PST_RS422:
         return AnsiString(&quot;RS422&quot;);
      case PST_RS423:
         return AnsiString(&quot;RS423&quot;);
      case PST_RS449:
         return AnsiString(&quot;RS449&quot;);
      case PST_SCANNER:
         return AnsiString(&quot;Scanner&quot;);
      case PST_TCPIP_TELNET:
         return AnsiString(&quot;Telnet®&quot;);
      case PST_X25:
         return AnsiString(&quot;X.25&quot;);
      case PST_UNSPECIFIED:
      default:
         return AnsiString(&quot;?&quot;);
   }
}
</code></pre>
<p>Gruß Nighthero</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914738</guid><dc:creator><![CDATA[Nighthero]]></dc:creator><pubDate>Fri, 11 Nov 2005 10:07:55 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 10:25:39 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>junix schrieb:</p>
<blockquote>
<p>ganz einfach: Da werden weitere Infos mitgeliefert in denen &quot;COMx&quot; steht... nach COM filtern wirkt wunder (o;</p>
</blockquote>
<p>Ist irgendwo festgelegt, dass der Gerätename einer seriellen Schnittstelle mit COM anfangen muss?</p>
</blockquote>
<p>Nicht das ich wüsste. Ging bis dato aber immer davon aus...</p>
<p>MFK schrieb:</p>
<blockquote>
<p>junix schrieb:</p>
<blockquote>
<p>MFK schrieb:</p>
<blockquote>
<p>Außerdem liefert EnumPorts Schnittstellen, <em>die gar nicht vorhanden sind</em>. Mein Rechner hier hat weder COM3 noch COM4, und schon gar nicht LPT1, LPT2 und LPT3.</p>
</blockquote>
<p>Das ist nach meiner Erfahrung betriebssystemabhängig. Bei NT4 z.B. trifft das zu.</p>
</blockquote>
<p>Es kommt noch schlimmer. Ich habe gerade ein wenig mit den BT-Comports herumgespielt. EnumPorts meldet COM5 und COM6, die es nicht gibt. Den frisch eingerichteten COM7 meldet es nicht <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 />
OS: Windows XP Professional, SP 2</p>
</blockquote>
<p>Das ist schlecht. Wusste ich bis jetzt auch nicht so. Überrascht mich ehrlich gesagt etwas...</p>
<p>MFK schrieb:</p>
<blockquote>
<p>junix schrieb:</p>
<blockquote>
<p>Naja einzige alternative wäre das versuchte Öffnen aller Schnittstellen. Nur wo hört man da am Besten auf?</p>
</blockquote>
<p>Einer unserer Kunden hatte serielle Schnittstellen im dreistelligen Bereich. Hinzu kommt, dass ein Fehlschlagen des Öffnens nicht bedeutet, dass die Schnittstelle <em>nicht</em> da ist.</p>
</blockquote>
<p>Korrekt. Aber zumindest bedeutet es, dass die Schnittstelle nicht verfügbar ist, da sie belegt wird. Und das reicht ja eigentlich schon. Denn es macht ja keinen Sinn, dem Benutzer die Möglichkeit zu geben, Schnittstellen zu kopnfigurieren, die nicht verfügbar sind?</p>
<p>Nightheros Ansatz hat 2 Nasen:<br />
a) er geht ebenfalls davon aus, dass die Schnittstellen mit COM anfangen<br />
b) Woher krieg ich MAX_COMM_PORTS?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914816</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Fri, 11 Nov 2005 10:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 10:42:34 GMT]]></title><description><![CDATA[<p>junix schrieb:</p>
<blockquote>
<p>Nicht das ich wüsste. Ging bis dato aber immer davon aus...</p>
</blockquote>
<p>Ich eigentlich auch...</p>
<p>junix schrieb:</p>
<blockquote>
<p>Überrascht mich ehrlich gesagt etwas...</p>
</blockquote>
<p>Mich wundert gerade bei den Funktionen, die mit seriellen Schnittstellen zu tun haben, gar nichts mehr. Ich habe z.B. auch feststellen müssen, dass auf einigen Maschinen BuildCommDCB bei COM-Ports über 9 nicht mehr funtionierte <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>MFK schrieb:</p>
<blockquote>
<p>Aber zumindest bedeutet es, dass die Schnittstelle nicht verfügbar ist, da sie belegt wird. Und das reicht ja eigentlich schon. Denn es macht ja keinen Sinn, dem Benutzer die Möglichkeit zu geben, Schnittstellen zu kopnfigurieren, die nicht verfügbar sind?</p>
</blockquote>
<p>In dem konkreten Projekt war es ein Problem. Ich brauchte für einen Konfigurationsdialog die tatsächlich vorhandenen Schnittstellen, auch wenn die gerade durch irgendeine andere Anwendung belegt war. Denn so was ist ja nicht zwangsläufig von Dauer.</p>
<blockquote>
<p>Nightheros Ansatz hat 2 Nasen:<br />
a) er geht ebenfalls davon aus, dass die Schnittstellen mit COM anfangen<br />
b) Woher krieg ich MAX_COMM_PORTS?</p>
</blockquote>
<p>Ich hab das gerade mal getestet: GetDefaultCommConfig liefert mir für alles, was über &quot;COM1&quot; hinausgeht, FALSE. GetLastError ist 87, Invalid Parameter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914842</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 11 Nov 2005 10:42:34 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 12:05:16 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Mich wundert gerade bei den Funktionen, die mit seriellen Schnittstellen zu tun haben, gar nichts mehr. Ich habe z.B. auch feststellen müssen, dass auf einigen Maschinen BuildCommDCB bei COM-Ports über 9 nicht mehr funtionierte <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>
</blockquote>
<p>Das liegt daran, das bei comports ab com10 der Gereätebezeichner so auusehen muß:</p>
<pre><code class="language-cpp">&quot;\\\\.\\Com10&quot;
</code></pre>
<p>Es funzt aber auch ab Comport 1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914950</guid><dc:creator><![CDATA[Burkhi]]></dc:creator><pubDate>Fri, 11 Nov 2005 12:05:16 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 12:16:11 GMT]]></title><description><![CDATA[<p>Burkhi schrieb:</p>
<blockquote>
<p>Das liegt daran, das bei comports ab com10 der Gereätebezeichner so auusehen muß:</p>
<pre><code class="language-cpp">&quot;\\\\.\\Com10&quot;
</code></pre>
</blockquote>
<p>Ich weiß. Aber auch damit schlug BuildCommDCB fehl. Wie gesagt, nicht auf allen Maschinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914970</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 11 Nov 2005 12:16:11 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 12:17:45 GMT]]></title><description><![CDATA[<p>MAX_COMM_PORTS ist einfach ein #define, je nach dem, wie weit man die Suche ausdehnen möchte.</p>
<p>&quot;\\\.\\Com10&quot; funktioniert bei mir überhaupt nicht, da bekomme ich immer GetLastError() == 87</p>
<p>Gruß Nighthero</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914972</guid><dc:creator><![CDATA[Nighthero]]></dc:creator><pubDate>Fri, 11 Nov 2005 12:17:45 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Fri, 11 Nov 2005 12:28:20 GMT]]></title><description><![CDATA[<p>Auf Code Project ist ein recht ausführliches Beispiel, sollte man sich vielleicht mal ansehen: <a href="http://codeproject.com/system/setupdi.asp?df=100&amp;forumid=4368&amp;exp=0&amp;select=240059" rel="nofollow">http://codeproject.com/system/setupdi.asp?df=100&amp;forumid=4368&amp;exp=0&amp;select=240059</a></p>
<p>Gruß Nighthero</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914993</guid><dc:creator><![CDATA[Nighthero]]></dc:creator><pubDate>Fri, 11 Nov 2005 12:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to Herrausfinden der aktuell vorhandenen COM-Schnittstellen on Mon, 14 Nov 2005 12:43:51 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>hab mal den Link von Nighthero besucht und die Datei heruntergeladen nur das steht was drin was ich nicht verstehe damit das läuft und zwar folgendes.</p>
<p>Ich soll die EnumalSerial.cpp mit der setupapi.lib verlinken</p>
<p>hört sich erstmal gut an aber wie verlinke ich etwas mit etwas anderem er hat nur angegeben wie man es unter Visual C++ macht</p>
<p>Vielleicht weiß einer von euch wie es geht oder was man wo machen kann?</p>
<p>Merci schonmal Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917237</guid><dc:creator><![CDATA[bierber]]></dc:creator><pubDate>Mon, 14 Nov 2005 12:43:51 GMT</pubDate></item></channel></rss>