WriteFile失败,错误代码87,每扇区磁盘4096字节

时间:2013-03-05 05:18:47

标签: c++ winapi visual-c++ disk hard-drive

WriteFile()输入缓冲区大小= 512的Win32调用失败。当我尝试写入每扇区有字节数= 4096的磁盘时。[3 TB磁盘]。输入缓冲区大小= 4096的相同WriteFile工作正常。

任何机构都可以解释这种行为。

1 个答案:

答案 0 :(得分:3)

对于低级I / O操作,缓冲区必须是扇区大小的整数倍。在您的情况下,k*4096。很可能你的硬盘很久以前就没有制造过。它们被称为“高级格式”,每个扇区有4096个字节。我不介意我把它设置为512因为它已经老了。尝试使用GetDiskFreeSpace功能了解有关硬盘的更多信息。

相关问题