我一直在使用 VSS 编写备份程序,并从 Windows SDK 6.1 示例中的 VSHADOW.EXE 开始。它通常可以工作,但我很惊讶地看到某些文件仍被锁定在它创建的卷影副本中,例如
C:\Users\Felix\NtUser.dat
C:\Users\Felix\NtUser.dat.log1
C:\Users\Felix\AppData\Local\Microsoft\Windows\UsrClass.dat
C:\Users\Felix\AppData\Local\Microsoft\Windows\UsrClass.dat.log1
...
访问卷影副本中的这些文件(使用CreateFileEx
、CopyFileEx
或使用Total Commander或任何其他工具)通常会给我一个错误 32(该进程无法访问该文件,因为它正在被另一个进程使用)。它似乎是任意发生的。怎么可能?
我之前的编辑(事件日志消息)结果不是这个问题的核心,因为我修复了它但没有帮助。