0

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

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

4

1 回答 1

3

对于低级 I/O 操作,您的缓冲区必须是扇区大小的整数倍。在你的情况下,k*4096. 很可能您的硬盘驱动器不是很久以前生产的。它们被称为“高级格式”,每个扇区有 4096 个字节。我的不介意我是否将其设置为 512,因为它很旧。尝试使用该GetDiskFreeSpace功能来了解有关您的硬盘的更多信息。

于 2013-03-09T07:10:47.487 回答