1.通过CreateFile系列来完成

读写扇区可以通过CreateFile打开磁盘逻辑分区,还要通过SetFilePointer以文件操作的方式把指针移到要操作的磁盘扇区开始处,在定位到要访问的扇区开始位置后就可以通过ReadFile或WriteFile函数实施相应的读写访问了,具体操作与文件读写并没有什么太大的差别。

示例代码:

BOOL CDirectAccessHDDlg::WriteSectors(BYTE bDrive, DWORD dwStartSector,

WORD wSectors, LPBYTE lpSectBuff)

// 对磁盘扇区数据的写入

{

if (bDrive == 0) return 0;

char devName[] = "\.\A:";

devName[4] ='A' + bDrive - 1;

HANDLE hDev = CreateFile(devName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL,

OPEN_EXISTING, 0, NULL);

if (hDev == INVALID_HANDLE_VALUE) return 0;

SetFilePointer(hDev, 512 dwStartSector, 0, FILE_BEGIN);

DWORD dwCB;

BOOL bRet = WriteFile(hDev, lpSectBuff, 512 wSectors, &dwCB, NULL);

CloseHandle(hDev);

return bRet;

}

BOOL CDirectAccessHDDlg::ReadSectors(BYTE bDrive, DWORD dwStartSector,

WORD wSectors, LPBYTE lpSectBuff)

// 对磁盘扇区数据的读取

{

if (bDrive == 0) return 0;

char devName[] = "\.\A:";

devName[4] ='A' + bDrive - 1;

HANDLE hDev = CreateFile(devName, GENERIC_READ, FILE_SHARE_WRITE,

NULL, OPEN_EXISTING, 0, NULL);

if (hDev == INVALID_HANDLE_VALUE) return 0;

SetFilePointer(hDev, 512 dwStartSector, 0, FILE_BEGIN);

DWORD dwCB;

BOOL bRet = ReadFile(hDev, lpSectBuff, 512 wSectors, &dwCB, NULL);

CloseHandle(hDev);

return bRet;

}

2.通过ReadSectors直接读写磁盘扇区数据

示例代码:

if (ReadSectors(uDiskID, m_uFrom, (UINT)dwSectorNum, bBuf) == FALSE) {

MessageBox("所选磁盘分区不存在!", "错误", MB_OK | MB_IConERROR);

return;

}

//为了方便数据的显示,可做如下处理以完成格式转换等工作:

for (DWORD i = 0; i < dwSectorNum * 512; i++) {

sprintf(cBuf, "%s%02X ", cBuf, bBuf[i]);

if ((i % 512) == 511)

sprintf(cBuf, "%srn第%d扇区rn", cBuf, (int)(i / 512) + m_uFrom);

if ((i % 16) == 15)

sprintf(cBuf, "%srn", cBuf);

else if ((i % 16) == 7)

sprintf(cBuf, "%s- ", cBuf);

}

python读写磁盘扇区数据_C++-如何直接读取Windows磁盘扇区的数据?相关推荐

  1. linux下读取ntfs数据,在Linux中读取NTFS分区上的数据

    在Linux中读取NTFS分区上的数据 在有些情况下,系统需要访问本地NTFS分区上的数据,也可能需要访问网络上NTFS文件格式的数据.而使用mount -t挂载文件系统时,系统报告不支持NTFS错误 ...

  2. MATLAB中把Excel数据矩阵化,excel将表格数据矩阵-MATLAB怎么读取EXCEL中矩阵形式的数据,并存放在一......

    求EXCEL表格高手,如何在已知矩阵中,符合矩阵内条... =SUM((B$8=TRANSPOSE(OFFSET($B$1:$C$1,MATCH($A9,$A$2:$A$6,),)))*1) 数组公输 ...

  3. matlab批量导入excel表格数据,matlab导入excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......

    如何用matlab读取多个excel表格数据,将每个表格数... 一xlsread()函数,比import简单的多,具体语句:A = xlsread('yourfilename.xls')望高手支招! ...

  4. matlab批量合并表格数据,用matlab合并excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......

    用matlab如何识别excel里的单元格是否为合并单元格 方法如下: 使用函数xlsread读取单个文件. num=xlsread(filename) filename是单引号括起来的带路径的文件名 ...

  5. 【量化投资】02.数据接口初探——excel读取新浪股票api数据

    [目标] 使用vba程序获取新浪股票api的实时行情数据.K线,以及macd等技术指标数据. [新浪api介绍]  获取实时行情数据接口,http://hq.sinajs.cn/list=sz0022 ...

  6. listview显示mysql数据_C#在listview控件中显示数据库数据

    一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 ...

  7. python读取文本数据保存为excel_python 读取txt中每行数据,并且保存到excel

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  8. Python读写文件(txt, csv等)小结

    参考文章:python文件读写小结 - 周洋 - 博客园 Python读取文件的几种方法 - poowicat - 博客园 python读取文件 - 刘丧失 - 博客园 Python File(文件) ...

  9. python读写压缩文件使用gzip和bz2

    python读写压缩文件使用gzip和bz2 #读取压缩文件 # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as ...

最新文章

  1. 职称计算机证是继续教育的内容吗,豆腐网教你一分钟弄懂继续教育学时认定表及上传注意事项~...
  2. Win7与其它Windows的双系统问题
  3. linux怎么知道ping命令,教程方法;通过ping命令查看服务器类型(linux还是windows系列)电脑技巧-琪琪词资源网...
  4. 基于嵌入式linux的数码相框的设计,基于Linux NFS的Web数码相框设计
  5. RiPro子主题V8.0 – V8.1,开心版
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的仿百度网盘系统
  7. 约数之和(分治,公式变形)
  8. [APK签名] .pk8、.x509.pem转化为.keystore签名
  9. 徽州区数字城管平台智慧管理城市
  10. C语言输入某年某月某日,判断这一天是这一年的第几天(含判断闰年)
  11. 3个基于 Spring Boot 的图片识别处理系统
  12. 幼儿园保育员好吗 就业前景如何
  13. Consul Sessions
  14. Jmeter dubbo插件测试dubbo接口
  15. turtle的函数及使用
  16. android平板开发板,基于ARM Cortex A9开发板平板电脑实战项目
  17. MS Visio软件的XML文档结构
  18. 从月薪3000 到 IBM 高级顾问:时间管理助力开挂的人生
  19. PathAFL论文阅读+源码分析
  20. 关于高德地图定位到非洲

热门文章

  1. turtle 20秒画完小猪佩奇“社会人”
  2. 制作一个大风车加载条
  3. linux rsync 远程同步
  4. pyramid新建项目
  5. Vxworks增加system call
  6. 芒果云接吗_芒果糯米饭是生产力的关键吗?
  7. 带有postgres和jupyter笔记本的Titanic数据集
  8. 如何成为一名有效的软件工程师
  9. TensorFlow.js快速入门
  10. 大数据对社交媒体的影响_数据如何影响媒体,广告和娱乐职业