Es reicht ja, das Schreiben ein kleines bissel zu "verlangsamen".
Und wenn die Software dann das Schreiben abbricht -> Dateifehler.
Eigentlich nicht.
Du gehst hier über den FileCache des
OS, außerdem wartet dein Programm auf das Ende der Schreiboperation (Write/Close), da hier keine overlapped/asynchrone
API benutzt wird.
Wenn es einen Fehler gibt und die Rückgabewerte ausgewertet werden, dann gibt es eine Fehlermeldung/
Exception, falls z.B. der Virenscanner oder ein defektes Laufwerk sich meldet.
Und ist das Write zurückgekommen, dann steht es im WindowsFileCache ... selbst wenn du dann schnell das Programm abschießst, so lange du nicht auch Windows hart beendest, wird immernoch gespeichert ... kommt es da nochmal zu einem Fehler, dann poppt ein Popup auf und Windows meldet sich. (eigene Erfahrung, mit defekter USB-Platte, bzw. bei Fehlbedinung)
Es gab nur einen Fall, wo ich jahrelang Datenfehler hatte, aber da war es ein defekter USB 3-Treiber für meinen Intel-Chipsatz, der auf USB-Platten und bei USB-LAN-Adaptern alle paar MB immer mal paar Byte falsch übertagen hat und das nicht merkte.
Oder natürlich die Schuld des Benutzers ... Festplatte/USBStick abziehen, bevor fertig gespeichert wurde.