首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从卷影副本中通过RegLoadKey连接到配置单元文件

从卷影副本中通过RegLoadKey连接到配置单元文件
EN

Stack Overflow用户
提问于 2012-10-18 23:19:47
回答 2查看 588关注 0票数 1

我正在创建一个卷影副本,并且我想使用RegLoadKey()从该卷影副本装载一个注册表配置单元,因此我使用普通的注册表函数检查它的内容。

这通常工作得很好,除非在某些机器上它根本不能工作。

我创建了卷影副本并获得了它的挂载点-类似于

\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8

然后我会打电话给

代码语言:javascript
复制
RegLoadKeyW(HKEY_LOCAL_MACHINE, "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\Windows\System32\config\SOFTWARE", "mntpoint");

此调用返回1009 - The configuration registry database is corrupt.

如果我使用CreateFileW(),我可以使用该路径成功打开该文件,因此它肯定在那里。

我已经确定卷影副本是使用注册表编写器创建的,所以我认为这不是问题所在。

如果我创建卷影副本并在重新启动后尝试此操作,则没有区别。

这种情况只发生在某些机器上。在大多数情况下,它工作得很好。我不确定它不能工作的机器有什么不同。

这台机器是64位的windows 2008。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-22 06:50:17

原来问题是,要使用RegLoadKeyW(),加载的hive必须是可写的。由于卷影副本是只读的,因此失败。

当我将挂载的文件复制到卷影副本之外时,它工作得很好。

票数 0
EN

Stack Overflow用户

发布于 2012-10-19 05:00:33

是否在创建卷影副本的同一台计算机上进行加载?

其中一条RegLoadKeyW()评论说:

有两种注册表配置单元文件格式。在当前操作系统上创建的注册表配置单元通常不能由早期操作系统加载。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12958039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档