<?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[Bug in QueryDosDevice()?]]></title><description><![CDATA[<p>Hi Community,</p>
<p>Habe gestern mit Erstaunen festgestellt, daß QueryDosDevice() <a href="http://msdn2.microsoft.com/en-us/library/aa365461.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/aa365461.aspx</a> meckerte, der Buffer sei zu klein...</p>
<pre><code class="language-cpp">DWORD dword_chars;
TCHAR tcharsz_temp_65536stellen[65536 + 1];

dword_chars = QueryDosDevice( NULL, tcharsz_temp_65536stellen, 65536 );  :warning: 
                                                                //65535 ist vermutlich die höchstzulässige Zahl.
                                                                //Offensichtlich werden die oberen 16 Bits des
                                                                //Parameters ucchMax abgeschnitten?
printf( TEXT( &quot;%lX chars &quot; ), dword_chars );
if ( dword_chars == 0 )
{
  err = GetLastError();
}
</code></pre>
<p>Ich wollte alle verfügbaren MS-DOS Device-Namen abrufen und hatte dafür einen sehr großen Buffer spendiert <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="😉"
    /><br />
Bis 65535 TCHARs funktionierts einwandfrei, ab Größe 65536 meckert die Funktion über GetLastError() der Buffer sei zu klein!<br />
In der Doku ist nix derartiges über eingeschränkte Buffer-Größe zu lesen... dort steht sogar &quot;DWORD ucchMax&quot; also ein 32-Bit Wert als Übergabeparameter.</p>
<p>Habt auch Ihr solche Erfahrungen gemacht?</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196088/bug-in-querydosdevice</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 19:49:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196088.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Oct 2007 10:47:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bug in QueryDosDevice()? on Thu, 25 Oct 2007 10:47:06 GMT]]></title><description><![CDATA[<p>Hi Community,</p>
<p>Habe gestern mit Erstaunen festgestellt, daß QueryDosDevice() <a href="http://msdn2.microsoft.com/en-us/library/aa365461.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/aa365461.aspx</a> meckerte, der Buffer sei zu klein...</p>
<pre><code class="language-cpp">DWORD dword_chars;
TCHAR tcharsz_temp_65536stellen[65536 + 1];

dword_chars = QueryDosDevice( NULL, tcharsz_temp_65536stellen, 65536 );  :warning: 
                                                                //65535 ist vermutlich die höchstzulässige Zahl.
                                                                //Offensichtlich werden die oberen 16 Bits des
                                                                //Parameters ucchMax abgeschnitten?
printf( TEXT( &quot;%lX chars &quot; ), dword_chars );
if ( dword_chars == 0 )
{
  err = GetLastError();
}
</code></pre>
<p>Ich wollte alle verfügbaren MS-DOS Device-Namen abrufen und hatte dafür einen sehr großen Buffer spendiert <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="😉"
    /><br />
Bis 65535 TCHARs funktionierts einwandfrei, ab Größe 65536 meckert die Funktion über GetLastError() der Buffer sei zu klein!<br />
In der Doku ist nix derartiges über eingeschränkte Buffer-Größe zu lesen... dort steht sogar &quot;DWORD ucchMax&quot; also ein 32-Bit Wert als Übergabeparameter.</p>
<p>Habt auch Ihr solche Erfahrungen gemacht?</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391744</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Thu, 25 Oct 2007 10:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to Bug in QueryDosDevice()? on Fri, 26 Oct 2007 15:18:15 GMT]]></title><description><![CDATA[<p>Hmmm,<br />
keiner da, der meine Beobachtung bestätigen könnte? <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="😕"
    /></p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392618</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Fri, 26 Oct 2007 15:18:15 GMT</pubDate></item></channel></rss>