CopyFileEx и частично заблокированные файлы - PullRequest
4 голосов
/ 24 февраля 2010

Я использую CopyFileEx с начала времен, и он работал отлично. Если файл не заблокирован, он скопирует файл. Если файл заблокирован, он не будет и GetLastError сообщит об ошибке. Все отлично и денди.

Однако есть некоторые файлы, которые частично заблокированы, лучшим примером являются файлы PST outlook. В этом случае CopyFileEx начинает копировать, и когда он попадает в заблокированную часть файла, он зависает и никогда не возвращается (в Windows 7, может быть и в других системах).

Есть ли способ избежать этой проблемы?

Ответы [ 2 ]

2 голосов
/ 24 февраля 2010

Есть способ избежать этого, но нет простого решения. Пожалуйста, смотрите мой ответ здесь .

2 голосов
/ 24 февраля 2010

Вы можете сделать копирование самостоятельно, начиная со звонка на LockFileEx. У него есть флаг для немедленного сбоя, если он не может заблокировать то, что вы просили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...