WritePrivateProfileStruct是否有大小限制?

时间:2010-03-22 17:33:00

标签: c++ winapi registry

我正在尝试使用WritePrivateProfileStringWritePrivateProfileStruct函数编写INI文件。

我发现当字节数相对较低时,WritePrivateProfileStructGetPrivateProfileStruct工作正常,但字节数较多(在我的情况下为62554字节),Write函数似乎工作,但Get功能没有。

我没有在MS文档中找到这些函数的任何大小限制。为什么会这样?

1 个答案:

答案 0 :(得分:3)

是的,我责备。我能读回的最大缓冲区是32766字节。较大的值会产生ERROR_BAD_LENGTH。使用校验和和终止零,看起来它使用的内部缓冲区为(32766 + 2)* 2 = 65536字节长。有点道理,这是一个传统的16位API。

确实应该考虑使用常规文件。但解决方法是将缓冲区拆分为两个。