<?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[Problem mit WriteFile]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgendes Problem:</p>
<p>Ich öffne mit CreateFile das Diskettenlaufwerk und möchte anschließend etwas darauf schreiben. Jedoch schlägt WriteFile immer fehl. GetLastError liefert mir den Fehlercode 87: The parameter is incorrect.</p>
<p>Hier mein Code:</p>
<pre><code class="language-cpp">DWORD dwBytes;
    HANDLE hDrive;
    char data[12] = &quot;Hello World&quot;;

    hDrive = CreateFile(&quot;\\\\.\\A:&quot;, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

    if (hDrive == INVALID_HANDLE_VALUE)
    {
        printf(&quot;Fehler bei CreateFile&quot;);
        return 0;
    }

    if (WriteFile(hDrive, (PCVOID)data, 11, &amp;dwBytes, NULL) == 0)
    {
        printf(&quot;Fehler bei WriteFile: %d&quot;, GetLastError());
        return 0;
    }

    CloseHandle(hDrive);
</code></pre>
<p>Gibt es da noch irgendetwas zu beachten, wenn man ohne Dateisystem auf die Diskette schreibt? Wollte nämlich ein kleines Programm schreiben, das mir etwas in den ersten Sektor der Diskette schreibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136110/problem-mit-writefile</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 08:02:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136110.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Feb 2006 13:06:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit WriteFile on Tue, 07 Feb 2006 13:06:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgendes Problem:</p>
<p>Ich öffne mit CreateFile das Diskettenlaufwerk und möchte anschließend etwas darauf schreiben. Jedoch schlägt WriteFile immer fehl. GetLastError liefert mir den Fehlercode 87: The parameter is incorrect.</p>
<p>Hier mein Code:</p>
<pre><code class="language-cpp">DWORD dwBytes;
    HANDLE hDrive;
    char data[12] = &quot;Hello World&quot;;

    hDrive = CreateFile(&quot;\\\\.\\A:&quot;, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

    if (hDrive == INVALID_HANDLE_VALUE)
    {
        printf(&quot;Fehler bei CreateFile&quot;);
        return 0;
    }

    if (WriteFile(hDrive, (PCVOID)data, 11, &amp;dwBytes, NULL) == 0)
    {
        printf(&quot;Fehler bei WriteFile: %d&quot;, GetLastError());
        return 0;
    }

    CloseHandle(hDrive);
</code></pre>
<p>Gibt es da noch irgendetwas zu beachten, wenn man ohne Dateisystem auf die Diskette schreibt? Wollte nämlich ein kleines Programm schreiben, das mir etwas in den ersten Sektor der Diskette schreibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/988466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988466</guid><dc:creator><![CDATA[WriteFile]]></dc:creator><pubDate>Tue, 07 Feb 2006 13:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit WriteFile on Tue, 07 Feb 2006 16:42:00 GMT]]></title><description><![CDATA[<p>Du kannst immer nur ein vielfaches von 512 (Sektorgröße) auf eine Diskette/Festplatte schreiben...</p>
<p><strong>Add:</strong> Um ganz korrekt zu sein: Du solltest &quot;GetDiskFreeSpace&quot; verwenden um die Sektor größe zu erfragen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/988697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988697</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 07 Feb 2006 16:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit WriteFile on Tue, 07 Feb 2006 16:47:34 GMT]]></title><description><![CDATA[<p>Stimmt. Da hätte ich auch selbst drauf kommen können. Großes Danke Schön Jochen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p><strong>Add:</strong> Um ganz korrekt zu sein: Du solltest &quot;GetDiskFreeSpace&quot; verwenden um die Sektor größe zu erfragen...</p>
</blockquote>
<p>Naja, da ich davon ausgehe, dass ich nie mehr als 1,44 MB Daten auf die Diskette packen werde, brauch ich das eigentlich nicht. Aber wenn du mich schon auf die Idee bringst, werde ich das mit einbauen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/988705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988705</guid><dc:creator><![CDATA[WriteFile]]></dc:creator><pubDate>Tue, 07 Feb 2006 16:47:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit WriteFile on Tue, 07 Feb 2006 21:40:26 GMT]]></title><description><![CDATA[<p>Oh, hab mich vertan. Ich dachte du meintest, ich solle mit GetDiskFreeSpace die Größe der Diskette ermitteln <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>
<p>Aber mit der Sektorgröße ermitteln hast du Recht. Nur das will nicht beim Diskettenlaufwerk funktionieren. Das funktioniert bei der Festplatte, aber wenn ich das Diskettenlaufwerk angebe, kommt wieder Fehler 87 <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>
<pre><code class="language-cpp">DWORD dwSectorsPerCluster,
DWORD dwBytesPerSector,
DWORD dwNumberOfFreeClusters,
DWORD dwTotalNumberOfClusters

// funktioniert nicht:
GetDiskFreeSpace(&quot;A:\\&quot;,
                 &amp;dwSectorsPerCluster,
                 &amp;dwBytesPerSector,
                 &amp;dwNumberOfFreeClusters,
                 &amp;dwTotalNumberOfClusters);

// funktioniert:
GetDiskFreeSpace(&quot;C:\\&quot;,
                 &amp;dwSectorsPerCluster,
                 &amp;dwBytesPerSector,
                 &amp;dwNumberOfFreeClusters,
                 &amp;dwTotalNumberOfClusters);
</code></pre>
<p>Hab ich schon wieder was übersehen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/989001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/989001</guid><dc:creator><![CDATA[WriteFile]]></dc:creator><pubDate>Tue, 07 Feb 2006 21:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit WriteFile on Wed, 08 Feb 2006 07:00:25 GMT]]></title><description><![CDATA[<p>Ich denke Du kannst bei Disketten von 512 Bytes ausgehen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/989085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/989085</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 08 Feb 2006 07:00:25 GMT</pubDate></item></channel></rss>