Wes*_*ill
5
windows
error-handling
winapi
error-code
我使用ReplaceFile Win32函数作为获取原子行为的操作的一部分.
在该函数的三个特殊错误代码中,我已经能够从两个重现和恢复(回滚):ERROR_UNABLE_TO_MOVE_REPLACEMENT和ERROR_UNABLE_TO_REMOVE_REPLACED.
我的问题与第三个错误代码有关:ERROR_UNABLE_TO_MOVE_REPLACEMENT _2.
- 有没有人看到这个错误代码返回?在什么条件下可能?
- 有关如何重新生成此错误的任何想法,以便我可以测试从我的代码中恢复的路径?
- 我从文档中收集到要从此错误中恢复(回滚),我需要将替换后的文件重命名为其原始名称,因为ReplaceFile会将其留下备份文件名.任何人都可以验证这实际上是ReplaceFile离开文件的状态吗?
如果有帮助,可以提供更多细节:
- 使用非NULL备份文件名调用ReplaceFile(实际上,如果给出NULL备份名称,则不会发生ERROR_UNABLE_TO_MOVE_REPLACEMENT_2).
- 我还传递了REPLACEFILE_WRITE_THROUGH标志.
- 这些文件都存在于同一个NTFS卷上.