【发布时间】:2019-10-31 21:29:31
【问题描述】:
我的软件正在写入 c:\users...\documents 中的一个 ini 文件,我不时收到用户的错误报告,其中 WritePrivateProfileString 调用返回 false,然后 GetLastError 返回 2 (ERROR_FILE_NOT_FOUND)。
我不明白这是怎么发生的,我也无法重现它,因为 WritePrivateProfileString 应该在文件丢失时创建文件。 如果目录不存在,则错误为 ERROR_PATH_NOT_FOUND,如果由于权限原因无法创建文件,则错误为 ERROR_ACCESS_DENIED。
那么有谁知道这个函数为什么/什么时候会产生这个错误?我该如何处理呢?如:如有必要,我依赖正在创建的文件。
【问题讨论】:
-
请提供邮政编码。
-
注意 提供此功能仅是为了与 16 位版本的 Windows 兼容。 来自文档。为此使用定制的 ini 文件库。
-
向用户询问他们的反恶意软件的失败之处。也许有一个反复出现的模式。
-
@DavidHeffernan 我们正在使用的ini 是用于第三方应用程序的,我们无法控制它。由于 ini 不是标准化格式,使用 ini 文件库并不能保证它生成的格式可以被其他应用程序实际使用。简而言之:这些功能不会消失,MS 非常清楚这一点。
-
@MichaelChourdakis 要我发布代码,我必须能够重现这个问题,这正是我想要寻求帮助的问题...... ;)
标签: windows winapi ini controlled-folder-access