CopyFileEx和部分锁定的文件

时间:2010-02-24 14:02:55

标签: winapi

我从一开始就一直在使用CopyFileEx,它一直很好用。如果文件未锁定,则会复制该文件。如果文件被锁定,则不会,GetLastError将报告错误。一切都很好,花花公子。

但是,有些文件被部分锁定,PST Outlook文件就是最好的例子。在这种情况下,CopyFileEx开始复制,当它到达锁定的文件部分时,它将挂起并且永远不会返回(在Windows 7上,也可能在其他系统上)。

有没有办法避免这个问题?

2 个答案:

答案 0 :(得分:2)

您可以自己进行复制,从致电LockFileEx开始。如果它无法锁定您要求的内容,它会立即失败。

答案 1 :(得分:2)

有一种方法可以避免它,但没有简单的解决方案。 请参阅我的answer here