ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
阅读:1357回复:5

关于regcopyfile函数,wxl_50685330进来看看

楼主#
更多 发布于:2004-09-14 18:38
我想问的是:使用regcopyfile是不是把注册表保存在了外存(指CF,MMC等)中,还是保存flash中也可以啊,另外,使用它保存了注册表文件,怎么在启动时恢复,你说在oeminit中做,请你给出恢复的例子好吗,谢谢!
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-14 22:26
非常不好意思,因为没有实际实践,我原以为regXXX可以工作,但我又仔细看了一下,在oemiocontrol(对了,我说的是这个函数,不是oeminit)里面使用系统定义的IOCTL_HAL_INITREGISTRY可以在filesys.exe起来后对注册表进行修改,但这个时候device.exe并没有起来,所以用存储到外部设备的文件来恢复注册表在这儿应该不能工作,这个时候CE的注册表已经就绪,可以修改,并且在oal层中,要改的话可以利用flash里面保存的数据,你可以在flash里面留一段空间来存放你的数据,在IOCTL_HAL_INITREGISTRY读出来,并利用函数写到注册表中,我看了一下这些函数,有:
NKRegCreateKeyEx
NKRegOpenKeyEx
NKRegQueryValueEx
NKRegCloseKey
NKRegSetValueEx
兄弟试试能否正常工作。
根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-16 14:28
wxl_50685330兄弟:
你的意思是说如果事先使用regcopyfile把注册表保存在了外存(指CF,MMC,DOC等)中,那么在系统重新启动时是无法从外存中恢复注册表信息的,是吗?但如果事先把注册表信息保存在了flash中,那么就可以利用函数oemiocontrol恢复注册表信息,我的理解对吗?
Come on, let us drive the world.
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-16 15:14
恩,看"关于注册表存储(有10分等着你)"里面我也才知道可以告诉ce如果有保存的注册表可以让他先启动保存注册表的设备的驱动,而后ce可以通过文件系统加载这个注册表文件,你说你解决了,是这样做的吗?在oemiocontorl里面是可以预配置注册表,自己在flash里面开一段区域,作为信息存储区。注册表信息需要自己管理,而且修改的内容也需要自己组织,但是没有刚才的办法方便,如果前面说的办法可行的话我觉得那个好:)
根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-17 08:43
没错,实际上我遇到的问题就是如此:在系统恢复注册表的时候,CF卡的驱动还没有加载,所以这时无法访问cf。发现了问题之后,解决起来就容易了。再一次谢谢wxl_50685330兄弟! :D
Come on, let us drive the world.
leo_cyl
驱动牛犊
驱动牛犊
  • 注册日期2001-08-20
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-17 09:18
实际上,还有更简单的方法。
在系统恢复注册表后,再执行一次暖启动(warm boot)。也就是说,要启动两次才能完成注册表恢复。

[编辑 -  9/17/04 by  leo_cyl]
游客

返回顶部