因此,MoveFileEx 的 msdn 页面声明了 MOVEFILE_COPY_ALLOWED:
如果要将文件移动到不同的卷,则该函数通过使用 CopyFile 和 DeleteFile 函数来模拟移动。如果文件被成功复制到不同的卷并且无法删除原始文件,则该函数成功保留源文件不变。
现在我的问题是首先,当它说音量时,我认为这只是意味着你的硬盘上的不同位置?按照这个假设,如果我制作了一个只读文件。然后我调用 MoveFileEx 并设置 MOVEFILE_COPY_ALLOWED 标志,它是否应该不只是使用 CopyFile 移动文件。那么当它试图删除文件时它应该会失败,因为 DeleteFile 不能删除只读文件。
我正在执行上述操作,只是文件正在从旧位置删除。我唯一的想法是音量与我上面所说的不同。