阅读:2115回复:4
请教物理扇区直接读写问题
用writefile和readfile两个函数时,有时会出现错误。
我采用异步io方式,打开文件createfile是用独占模式和FILE_FLAG_OVERLAPPED, writefile后也判断和处理了getlasterror()==ERROR_IO_PENDING的情况, 我的代码是一直对可移动盘物理扇区0进行读写,奇怪的是读写几次到几十次后就数据就写不下去了, getlasterror()得到23, ERROR_CRC。 请高手指教, 谢谢了!~ |
|
沙发#
发布于:2007-12-03 19:09
问题描述的太模糊,你用的是Windows API函数中的WriteFile和ReadFile么?这两个函数能进行物理扇区读写?不是开玩笑吧?
|
|
板凳#
发布于:2007-12-04 10:28
引用第1楼zhenlongyang于2007-12-03 19:09发表的 : 是你在开玩笑。WriteFile,ReadFile一样能读写物理扇区的. |
|
|
地板#
发布于:2007-12-04 10:52
另外,检查一下你读写的大小是不是扇区的倍数
|
|
|
地下室#
发布于:2007-12-04 18:08
哦?倒要讨教楼上的,给个读写物理硬盘0磁头0柱面0扇区的代码,我还真不知道Windows API能直接操作硬件的,谢谢。
|
|