<?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[CreateFile()?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit CreateFile(). Und zwar wollte ich den Programmcode für serielle Schnittstellen von Anton Zechner benutzen. (siehe <a href="http://members.inode.at/anton.zechner/az/index.html" rel="nofollow">http://members.inode.at/anton.zechner/az/index.html</a> unter serielle Schnittstelle)</p>
<p>Das Problem tritt auf, wenn ich mit CreateFile die COM1-Schnittstelle öffnen möchte:</p>
<pre><code class="language-cpp">char cName[] = &quot;\\\\.\\COM1&quot;;

cName[7] = '1' + Nr;

CreateFile(cName,
           GENERIC_READ|GENERIC_WRITE,
           0,
           0,
           OPEN_EXISTING,
           FILE_ATTRIBUTE_NORMAL,
           0);
</code></pre>
<p>Wenn ich den Programmcode so übersetze bekomme ich die Fehlermeldung:</p>
<p>Konvertierung des Parameters 1 von char[9] in 'LPCWSTR' nicht möglich</p>
<p>Also habe ich versucht cName zu casten:</p>
<pre><code class="language-cpp">CreateFile((LPCWSTR)cName,
           GENERIC_READ|GENERIC_WRITE,
           0,
           0,
           OPEN_EXISTING,
           FILE_ATTRIBUTE_NORMAL,
           0);
</code></pre>
<p>Dann bekomme ich keine Fehlermeldung mehr, aber im Debug-Modus bekomme ich, vermutlich durch ein falsches casten, ein verkehrtes Handle zurück.</p>
<p>Wenn ich die Schnittstelle versuche so zu öffnen wie im folgenden Programmcode geht alles ohne Probleme:</p>
<pre><code class="language-cpp">CreateFile(_T(&quot;COM1&quot;),
           GENERIC_READ|GENERIC_WRITE,
           0,
           0,
           OPEN_EXISTING,
           FILE_ATTRIBUTE_NORMAL,
           0);
</code></pre>
<p>Ich habe leider noch nicht soviel Ahnung vom Typecasting und bin auch im Internet noch nicht fündig geworden. Vielleicht kann mir ja jemand helfen.</p>
<p>Gruss</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170411/createfile</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 05:08:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170411.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Jan 2007 15:46:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CreateFile()? on Mon, 15 Jan 2007 15:46:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit CreateFile(). Und zwar wollte ich den Programmcode für serielle Schnittstellen von Anton Zechner benutzen. (siehe <a href="http://members.inode.at/anton.zechner/az/index.html" rel="nofollow">http://members.inode.at/anton.zechner/az/index.html</a> unter serielle Schnittstelle)</p>
<p>Das Problem tritt auf, wenn ich mit CreateFile die COM1-Schnittstelle öffnen möchte:</p>
<pre><code class="language-cpp">char cName[] = &quot;\\\\.\\COM1&quot;;

cName[7] = '1' + Nr;

CreateFile(cName,
           GENERIC_READ|GENERIC_WRITE,
           0,
           0,
           OPEN_EXISTING,
           FILE_ATTRIBUTE_NORMAL,
           0);
</code></pre>
<p>Wenn ich den Programmcode so übersetze bekomme ich die Fehlermeldung:</p>
<p>Konvertierung des Parameters 1 von char[9] in 'LPCWSTR' nicht möglich</p>
<p>Also habe ich versucht cName zu casten:</p>
<pre><code class="language-cpp">CreateFile((LPCWSTR)cName,
           GENERIC_READ|GENERIC_WRITE,
           0,
           0,
           OPEN_EXISTING,
           FILE_ATTRIBUTE_NORMAL,
           0);
</code></pre>
<p>Dann bekomme ich keine Fehlermeldung mehr, aber im Debug-Modus bekomme ich, vermutlich durch ein falsches casten, ein verkehrtes Handle zurück.</p>
<p>Wenn ich die Schnittstelle versuche so zu öffnen wie im folgenden Programmcode geht alles ohne Probleme:</p>
<pre><code class="language-cpp">CreateFile(_T(&quot;COM1&quot;),
           GENERIC_READ|GENERIC_WRITE,
           0,
           0,
           OPEN_EXISTING,
           FILE_ATTRIBUTE_NORMAL,
           0);
</code></pre>
<p>Ich habe leider noch nicht soviel Ahnung vom Typecasting und bin auch im Internet noch nicht fündig geworden. Vielleicht kann mir ja jemand helfen.</p>
<p>Gruss</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210332</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Mon, 15 Jan 2007 15:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to CreateFile()? on Mon, 15 Jan 2007 15:54:27 GMT]]></title><description><![CDATA[<p>Der Unterschied zwischen dem ersten und dem letzten ist, dass du im letzten einen CString im Unicode verwendest und im ersten einen char. Ein char betsteht meißt nur aus einem zeichen und der Array den du da erstellst wird dir auch nicht weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210336</guid><dc:creator><![CDATA[Uruk-h4j]]></dc:creator><pubDate>Mon, 15 Jan 2007 15:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to CreateFile()? on Mon, 15 Jan 2007 15:59:09 GMT]]></title><description><![CDATA[<p>Versuchs mal mit:</p>
<p>CreateFileA, der Ansi Version <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/1210339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210339</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 15 Jan 2007 15:59:09 GMT</pubDate></item><item><title><![CDATA[Reply to CreateFile()? on Mon, 15 Jan 2007 15:59:10 GMT]]></title><description><![CDATA[<p>Ja, OK. Nur hast Du eine Idee wie man das Problem lösen kann?</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210340</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Mon, 15 Jan 2007 15:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to CreateFile()? on Mon, 15 Jan 2007 16:00:06 GMT]]></title><description><![CDATA[<p>Ah Ja, danke das werde ich gleich probieren</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210341</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Mon, 15 Jan 2007 16:00:06 GMT</pubDate></item><item><title><![CDATA[Reply to CreateFile()? on Mon, 15 Jan 2007 16:03:31 GMT]]></title><description><![CDATA[<p>Das sieht gut aus! Freu.</p>
<p>Vielen Dank für Deine Hilfe Frank!</p>
<p>Gruss</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210343</guid><dc:creator><![CDATA[oliher]]></dc:creator><pubDate>Mon, 15 Jan 2007 16:03:31 GMT</pubDate></item></channel></rss>