教你WriteFile写磁盘扇区87错误的解决方案
今天在写个工具,功能是将一些数据写到磁盘的绝对扇区上. 但是发现ReadFile没问题,可是WriteFile总是报87错误(参数不正确). Google上查了一会,发现碰到问题的人不少,可惜没有正确答案.... 没辙,还是啃MSDN,终于还是自己解决了~呵呵 赶紧记下来,免得忘了... 其实主要是写入的数据大小,必须是BytesOfSector大小的倍数,一般是512字节,ReadFile却无所谓... 另外,MSDN上还说,WriteFile前最好先用FSCTL_LOCK_VOLUME或者FSCTL_DISMOUNT_VOLUME将磁盘锁定或卸载,不过我试下来好像没什么影响... 代码摘录如下: 1 UINT CDevInfo::Write(LPVOID pData, UINT nSize) (编辑:湘西站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |