wince600下实现hive注册表

  • so927
  • (so_zhou)
  • 等 级:
  • 结帖率:
楼主发表于:2009-06-23 13:00:16
我的wince6编译环境中,我发现在platform.reg和common.reg中都存在; HIVE BOOT SECTION标签,并且都有相同的内容,如下
HTML code
            
            
[HKEY_LOCAL_MACHINE/Init/BootVars] "SystemHive"="//NandFlash//system.hv" "ProfileDir"="//NandFlash//user.hv"

我按照网上的说法将platform.reg中的修改之后,任然没有任何改变,后来将common.reg中的也更改为相同设置,系统启动之后发现,system.hv和user.hv并没有像期望的那样保存到了NANDFLASH,而是自己在系统根目录下创建了一个NANDFLASH目录,并将这两个.hv文件保存在当中,而剩余的flash内存则被命名为了NANDFLASH2,更改注册表设置之后,并不能保存。



一头雾水!

希望实现了wince6的朋友提供一点帮助。感激不尽。

我的QQ:877970105
E_Mail:so_zhou@qq.com


 
 
回复次数: 12

  • 91program用户头像
  • 91program
  • (走自己的路,让别人去说吧)
  • 等 级:
  • 10

    8

    6

#1楼 得分:0回复于:2009-06-23 13:27:21
CE6.0下的HIVE,应该与CE5.0下的实现没有什么区别的。按CE5.0下的方法试试吧!

没有做过,提点建议,呵呵~
 

#2楼 得分:2回复于:2009-06-23 14:02:05
nandflash 的驱动的"order"是不是 0,还有"BootPhase"=dword:0。从你的现象来看:NANDFLASH分区是后加载的。而不是在hive之前加载的。[HKEY_LOCAL_MACHINE/init/BootVars]
  "Start DevMgr"=dword:1
  "RegistryFlags"=dword:0
  "Flags"=dword:F
  "SystemHive"="//NandFlash//system.hv"
  "ProfileDir"="//NandFlash//user.hv"
 

  • paul_chao用户头像
  • paul_chao
  • (子曰:老而不死是為賊,我是賊)
  • 等 级:
#3楼 得分:5回复于:2009-06-23 14:14:43
Please refer "Implementing the Hive-Based Registry" in the web
http://msdn.microsoft.com/en-us/library/aa914710.aspx

Paul, Chao @ Techware
 

  • gooogleman用户头像
  • gooogleman
  • (有啥问题博客留言)
  • 等 级:
  • 5

    5

    3

#4楼 得分:3回复于:2009-06-23 14:18:33
引用 3 楼 paul_chao 的回复:
Please refer "Implementing the Hive-Based Registry" in the web
http://msdn.microsoft.com/en-us/library/aa914710.aspx

Paul, Chao @ Techware


我正好要搞,收藏了!
 

  • so927用户头像
  • so927
  • (so_zhou)
  • 等 级:
#5楼 得分:0回复于:2009-06-24 12:38:15
一下是我从platform.reg中提取出来的,在“; HIVE BOOT SECTION”标签中的内容


C/C++ code
            
            
; ------------------------------------------------------------------------- ; HIVE BOOT SECTION [HKEY_LOCAL_MACHINE/Drivers/Resources/IRQ] " Identifier " = dword: 1 " Minimum " = dword: 1 " Space " = dword: 20 " Ranges " = " 1-0x20 " [HKEY_LOCAL_MACHINE/Drivers/Resources/IO] " Identifier " = dword: 2 " Minimum " = dword: 0 " Space " = dword: 10000 " Ranges " = " 0-0xFFFF " IF IMGHIVEREG [HKEY_LOCAL_MACHINE/Init/BootVars] " SystemHive " = " //NandFlash//system.hv " " ProfileDir " = " //NandFlash//user.hv " " Start DevMgr " = dword: 1 " DefaultUser " = " default " " Flags " = dword:F " RegistryFlags " = dword: 0 ENDIF IMGHIVEREG ; END HIVE BOOT SECTION ; ------------------------------------------------------------------------- ; ------------------------------------------------------------------------- ; @CESYSGEN IF CE_MODULES_DEVICE ; -------------- NAND Flash Block Device Driver ---------------------------------- ; @CESYSGEN IF CE_MODULES_FSDMGR ; HIVE BOOT SECTION IF BSP_NONANDFS ! [HKEY_LOCAL_MACHINE/Drivers/BuiltIn/NANDFLASH] " Prefix " = " DSK " " Dll " = " nandflash.dll " " Index " = dword: 1 " Order " = dword: 0 " Profile " = " NANDFLASH " " IClass " = " {A4E7EDDA-E575-4252-9D6B-4195D48BB865} " IF IMGHIVEREG " Flags " = dword: 1000 ENDIF IMGHIVEREG [HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/NANDFLASH] " DriverPath " = " Drivers//BuiltIn//NANDFLASH " " LoadFlags " = dword: 1 ; load synchronously " BootPhase " = dword: 0 " Order " = dword: 0 IF IMGHIVEREG " MountAsBootable " = dword: 1 ; for Hive - based registry ENDIF IMGHIVEREG [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/NANDFLASH] " DefaultFileSystem " = " BINFS " " PartitionDriver " = " mspart.dll " " Name " = " Microsoft Flash Disk " " Folder " = " NANDFlash " " AutoMount " = dword: 1 " AutoPart " = dword: 1 " AutoFormat " = dword: 1 " MountFlags " = dword: 2 [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/NANDFLASH/BINFS] " MountHidden " = dword: 1 " MountAsROM " = dword: 1 [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/NANDFLASH/FATFS] " MountFlags " = dword: 2 ;unmask this line when enable HIVE " EnableCache " = dword: 1 " CacheSize " = dword: 1000 " MountBootable " = dword: 1 " Flags " = dword: 00000024 " CheckForFormat " = dword: 1 [HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/NANDFLASH/Filters/CacheFilt] " Dll " = " cachefilt.dll " " LockIOBuffers " = dword: 1 [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/NANDFLASH/FATFS/Filters/CacheFilt] " Dll " = " cachefilt.dll " " LockIOBuffers " = dword: 1 ENDIF BSP_NONANDFS ! ; END HIVE BOOT SECTION ; @CESYSGEN ENDIF CE_MODULES_FSDMGR
 

#6楼 得分:10回复于:2009-06-24 20:29:36
在批处理文件XXX.bat中按照以下:
set IMGHIVEREG=1

if /i "%IMGHIVEREG%"=="1" set PRJ_ENABLE_FSREGHIVE=1
if /i "%IMGHIVEREG%"=="1" set PRJ_ENABLE_REGFLUSH_THREAD=1


在Platform.reg中按照以下:
IF IMGHIVEREG
[HKEY_LOCAL_MACHINE/Init/BootVars]
"Flags"=dword:3
  "SYSTEMHIVE"="Documents and Settings//system.hv" ;system.hv will save to : /HDD/Documents and Settings/system.hv
  ;"PROFILEDIR"="Documents and Settings" ;user.hv will save to : /HDD/Documents and Settings/default/user.hv
  "Start DevMgr"=dword:1 ;auto startup device.exe
  "DefaultUser"="default"
  "RegistryFlags"=dword:1
ENDIF IMGHIVEREG

其中"RegistryFlags"=dword:1很重要,只有为1才会自动保存新的修改。
 

  • jlctt用户头像
  • jlctt
  • (Lance.Jin)
  • 等 级:
#7楼 得分:0回复于:2009-06-24 22:52:08
6楼正解
 

  • so927用户头像
  • so927
  • (so_zhou)
  • 等 级:
#8楼 得分:0回复于:2009-06-24 23:25:10
就只需要改这么一点内容就可以了吗


 

  • so927用户头像
  • so927
  • (so_zhou)
  • 等 级:
#9楼 得分:0回复于:2009-06-24 23:36:32
感谢LH806732提供的帮助,我太粗心了,居然把那个1给删除了,
 

http://topic.csdn.net/u/20090623/13/331a8386-ffde-4f66-9618-9fc455578b21.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值