本文主要是介绍编程实现对硬盘全盘数据进行读写数据擦除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景
在 XP 系统下下,我们可以直接调用 WirteFile 函数对磁盘写入数据,但到了 Windows 7 以及 Windows 7 版本以上的系统,就已经开始变得不那么简单了。
在 Windows 7 及以上版本中,对文件系统和存储堆栈进行的更改,限制对磁盘和卷的直接访问,但是,在以下情况,存储驱动器可以写入磁盘句柄:
-
正要写入的扇区不位于卷内(空隙块与分区表)。注意:程序使用卷之外的扇区来存储元数据。分区表也位于卷之外的扇区中。由于这些扇区不受任何文件系统的控制,因此没有理由阻止对这些扇区的访问
-
已经通过锁定请求或卸载请求显式锁定卷
-
正要写入的扇区位于未安装或者无文件系统的卷内(这个是原生磁盘块,没有受操作系统的管理,当然可以随便写)
本文介绍的是使用第 2 种方法,通过锁定请求或卸载请求显式锁定卷来实现对磁盘数据的读写。现在把实现过程的实现原理整理成文档,分享给大家。
点击此处下载文档和源码
这篇关于编程实现对硬盘全盘数据进行读写数据擦除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!