我正在为sqlite添加功能,以处理防病毒或备份程序干扰数据库功能的情况。
基本上,我在sqlite中覆盖VFS的写入和读取文件函数,当我看到错误代码ERROR_SHARING_VIOLATION或ERROR_LOCK_VIOLATION时,使用重试循环实现它们。
最近发生的事情是,我发现我没有在该集合中包含另一个错误代码:ERROR_ACCESS_DENIED。
但是,我想知道我是否全部拿到了它们?是否存在其他错误代码,如果有问题的外部进程(我正在查看您,Symantec Enterprise Backup)放弃文件,是否允许我重试写入/读取?
这些函数返回的可能错误代码是否很好(WriteFile,ReadFile)我可以查看吗? Windows错误代码的一般列表似乎太大,我无法检查,msdn文档不是特别有用。