写入文件失败,错误码为87,每个扇区磁盘4096字节

WriteFile Failure with error code 87 in 4096 Bytes per sector Disk

本文关键字:扇区 4096字节 磁盘 误码 文件 失败 错误      更新时间:2023-10-16

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

谁能解释这种行为呢

对于低级I/O操作,缓冲区必须是扇区大小的整数倍。在你的例子中,是k*4096。很可能你的硬盘不是很久以前生产的。它们被称为"高级格式",每个扇区有4096字节。我的不介意我把它设为512,因为它是旧的。尝试使用GetDiskFreeSpace函数来了解硬盘的更多信息。