Здравствуйте, m2user, Вы писали:
>> с включенной привилегией SE_BACKUP_NAME
M>в токене потока или процесса через AdjustTokenPrivileges?
через AdjustTokenPrivileges.
>> ERROR_SHARING_VIOLATION
M>как я понимаю, если файл открыт в эксклюзивном режиме, то второй дескриптор уже не открыть. Лучше проверить экспериментом.
Если в другой процесс открывает файл через CreateFile(AFileName, GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0), то такой файл нормально копируется через BackupRead.
У меня такое ощущение, что проблема в том, что файлы, на которых происходят ошибки, открываются и удерживаются более крутыми пользователями нежели admin. Например, файл %ProgramData%\Microsoft\Windows Defender\Scans\MpDiag.bin относится к Windows Defender, и его я не могу скопировать (у меня нет задачи копировать именно его, просто пример).