gpt4 book ai didi

windows - 从 ReplaceFile 重现 ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 错误代码

转载 作者:可可西里 更新时间:2023-11-01 13:47:40 28 4
gpt4 key购买 nike

我正在使用 ReplaceFile Win32 函数作为获取原子行为的操作的一部分。

在该函数的三个特殊错误代码中,我已经能够从两个错误代码中重现和恢复(回滚):ERROR_UNABLE_TO_MOVE_REPLACEMENT 和 ERROR_UNABLE_TO_REMOVE_REPLACED。

我的问题与第三个错误代码有关:ERROR_UNABLE_TO_MOVE_REPLACEMENT_2

  1. 有没有人看到返回此错误代码?在什么条件下是可能的?
  2. 关于如何重现此错误以便我可以测试从错误中恢复的代码中的路径有什么想法吗?
  3. 我从文档中了解到,要从此错误中恢复(回滚),我需要将替换文件重命名回其原始名称,因为 ReplaceFile 将保留备份文件名。任何人都可以验证这实际上是 ReplaceFile 保留文件的状态吗?

如果有帮助,请提供更多详细信息:

  • 使用非 NULL 备份文件名调用 ReplaceFile(实际上,如果给出 NULL 备份名,则不会发生 ERROR_UNABLE_TO_MOVE_REPLACEMENT_2)。
  • 我还传递了 REPLACEFILE_WRITE_THROUGH 标志。
  • 所有文件都存在于同一个 NTFS 卷上。

最佳答案

ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 当属性和辅助数据流已附加到替换文件,但主文件本身无法替换时发生。

您关于恢复的假设是正确的。

关于windows - 从 ReplaceFile 重现 ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6728314/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com