Überprüfen Sie die Festplatte auf fehlerhafte Sektoren

Vor kurzem, nach ein paar Stromausfällen, ist mein Computer ziemlich durcheinander geraten (BSODs verhalten sich von Zeit zu Zeit ganz seltsam).

Jetzt habe ich ein Programm, das einwandfrei lief, bevor mein Computer kaputt ging. Dieses Programm erstellt im Grunde genommen eine Datei mitCreateFile und schreibt mitWriteFile. Dieses Programm hat auch andere Dinge zu tun, die auf dieser Datei basieren. Mir ist aufgefallen, dass das gesamte Programm auch seltsam wirkte.

Meine Debugging-Ergebnisse:

Ich habe das nachher bemerktCreateFilewird die Datei dort erstellt, wo sie sein soll (Prüfung mit Explorer und Kommandozeile).WriteFile habe nicht in die Datei geschrieben (erneut mit Explorer und Kommandozeile überprüft).Nach demWriteFileWenn ich im Explorer auf die Datei doppelklickte oder etwas mit dieser Datei machte, verhielt sich alles so, als ob die Datei nicht existierte.Alle APIs gaben ihre jeweiligen Erfolgscodes zurück. Absolut kein Fehler.

Nachdem ich mein Programm beendet und die IDE beendet hatte, ging ich zum Explorer und versuchte, den Ordner zu löschen, der die oben erstellte Datei enthält.

Die Datei wurde jedoch gelöscht.

Hinweis: Das obige passiert nicht immer.

Aufgrund des obigen Debuggens bin ich zu dem Schluss gekommen, dass mein Programm dank meines gesamten seltsam wirkenden Betriebssystems auch seltsam wirkt. Kein Fehler in meinem Programm (da vor diesen verdammten Stromausfällen alles perfekt funktionierte).

Wie auch immer, Microsoft hatdies über diesen Fehler zu sagen. Grundsätzlich hat meine Festplatte viele defekte Sektoren.

Meine Frage: Gibt es eine Möglichkeit, programmgesteuert zu überprüfen, ob eine Festplatte in C in Ordnung ist? Diese Erkennung muss nicht zu 100% korrekt sein. Ich möchte jedoch, dass diese Überprüfung ziemlich schnell ist (da ich viele Schreibvorgänge und ähnliches mache).

Ich möchte diese Überprüfung, da der Rest meines Programms ab sofort der Meinung ist, dass die Datei vorhanden und bereit ist (da nichts einen Fehler zurückgegeben hat) und alle möglichen seltsamen Verhaltensweisen auftreten. Als Benutzer, der möglicherweise nicht weiß, dass seine Festplatte zonked ist, möchte ich, dass mein Programm eine Festplattenprüfung durchführt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage