我正在创建一个卷影副本,我想从该卷影副本安装一个注册表配置单元,RegLoadKey()
因此我使用普通的注册表函数检查其内容。
这通常工作得很好,除了在某些根本不工作的机器上。
我创建了卷影副本并获得了它的挂载点——就像
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8
我然后调用 的那样
RegLoadKeyW(HKEY_LOCAL_MACHINE, "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\Windows\System32\config\SOFTWARE", "mntpoint");
此调用返回1009 - The configuration registry database is corrupt.
如果我使用CreateFileW()
,我可以使用该路径成功打开此文件,因此它肯定存在。
我已经确保卷影副本是使用注册表编写器创建的,所以我认为这不是问题。
如果我创建卷影副本并在重新启动后尝试这个没有区别。
这只发生在某些机器上。大多数情况下它工作得很好。我不确定它不能运行的机器有什么区别。
本机为windows 2008 64位。