WritePrivateProfileString 产生 ERROR_FILE_NOT_FOUND

WritePrivateProfileString produces ERROR_FILE_NOT_FOUND

我的软件正在写入 c:\users...\documents 中的 ini 文件,我不时收到用户的错误报告,其中 WritePrivateProfileString 调用 returns false 然后 GetLastError returns 2 (ERROR_FILE_NOT_FOUND).

我不明白这是怎么发生的,我无法重现它,因为 WritePrivateProfileString 应该在文件丢失时创建它。 如果目录不存在,则错误为 ERROR_PATH_NOT_FOUND,如果由于权限原因无法创建文件,则错误为 ERROR_ACCESS_DENIED.

那么有人知道 why/when 这个函数会产生这个错误吗?我该如何处理?如:我依赖于必要时创建的文件。

我想我自己可能已经找到了答案。 当 Windows 安全 -> 勒索软件保护 -> 受控文件夹访问已启用且应用程序不是 white-listed。

时,似乎会出现此问题

ERROR_FILE_NOT_FOUND 对于这种情况恕我直言,这是一个非常令人困惑的错误消息...