首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MoveFileEx -返回GetLastError():17

MoveFileEx -返回GetLastError():17
EN

Stack Overflow用户
提问于 2014-02-24 01:06:09
回答 1查看 2.6K关注 0票数 2

我使用MoveFileEx来移动一个文件。取决于用户输入的内容,文件的移动位置可能位于单独的硬盘驱动器上。在这种情况下,MoveFileEx在GetLastError报告错误ID 17时失败,即:

ERROR_NOT_SAME_DEVICE 17 (0x11)系统无法将文件移动到不同的磁盘驱动器。(http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

那么,在VC++中,我将如何处理这样的情况,并移动文件,即使它在一个单独的硬盘上?

我使用的代码是:https://gist.github.com/Whitetigerswt/9180030 (虽然我认为它与此无关,但除了将文件移动到另一个硬盘驱动器之外,一切都运行得很好)。

EN

回答 1

Stack Overflow用户

发布于 2014-02-24 01:11:27

MoveFileEx的文档说明了这一点:

移动文件时,目标可以位于不同的文件系统或卷上。如果目标位于另一个驱动器上,则必须在dwFlags.中设置MOVEFILE_COPY_ALLOWED标志。

因此,如果源驱动器与目标驱动器不相同,只需将MOVEFILE_COPY_ALLOWED标志转到dwFlags中即可。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21977090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档