最近,在几次断电之后,我的电脑变得非常混乱(时不时地出现蓝屏死机,整个操作系统的行为非常奇怪)。
现在我的程序在我的计算机出问题之前运行得非常好。该程序基本上只是使用以下命令创建一个文件CreateFile并使用写入WriteFile。这个程序还有其他东西基于这个文件做他们的事情。我注意到整个程序的行为也很奇怪。
我的调试结果:
Note:上述情况并不总是发生。
通过上述调试,我得出的结论是,由于我的整个操作系统表现得很奇怪,所以我的程序也表现得很奇怪。我的程序没有任何错误(因为在那些该死的停电之前一切都很完美)。
无论如何,微软已经这是关于那个错误的说明。基本上我的硬盘有很多坏扇区。
我的问题:有没有什么方法可以用 C 语言以编程方式检查硬盘驱动器是否正常?此检测不必 100% 正确。然而,我确实希望这次检查能够非常快(因为我做了很多写入等操作)。
我想要进行此检查,因为到目前为止,我的程序的其余部分认为该文件已存在并准备就绪(因为没有返回错误),并且随之而来的是各种奇怪的行为。作为一个可能不知道他/她的硬盘驱动器已分区的用户,我希望我的程序建议运行磁盘检查。
您最好通过 API 查看 S.M.A.R.T 故障前通知,以便在驱动器问题发生之前发出预警。Here是我很快找到的一种实现,它似乎适用于您的平台,但我尚未对其进行测试。
我怀疑还有更好的可用。这种 SMART 方法的主要优点是在问题变得重要之前发现问题。然而,许多操作系统都内置了此功能,除了磁盘实用程序之外,很少在应用程序级别上执行此功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)