Baurine's Blog

WriteFile 错误码为 87 的一种原因

December 15, 2013

在使用 WriteFile 直接操作 U 盘的扇区时,总是失败,错误码是 87,意思是说参数不正确。反复检查,也看不出参数错在哪。
百思不得其解,网上搜索,大部分都是说要用异步代替同步,但我的程序就是要用同步。

只有这篇博客说到,是因为当操作硬件时,写入的数据长度必须是一个扇区大小 (一般是 512 字节) 的倍数。

如获至宝,一试,如果是这样。把写入长度改成 512 的倍数后就 OK 了。

因此写下这篇博文特来支援一下上面这篇博客的作者。


Comments