wince600下实现hive注册表

来源:互联网 发布:程序员数学2pdf下载 编辑:程序博客网 时间:2024/04/28 10:47

  • 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


  
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
回复次数:12

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

    8

    6

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

没有做过,提点建议,呵呵~
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐:关于ARM中断处理的问题----《ARM嵌入式系统开发-软件设计与优化》第九章中疑问

  • cq520zw用户头像
  • cq520zw
  • (cq520zw)
  • 等 级:
#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"
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐:有经验的请进来,高分请教:驱动开发与嵌入式开发的区别

  • 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
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐:开机密码时startui.cpp加了ipShowIM(SIPF_ON)软键盘为什么还不出来?

  • 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


我正好要搞,收藏了!
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐:请教关于系统自动进入深度休眠的问题

  • 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:0ENDIF IMGHIVEREG; END HIVE BOOT SECTION;-------------------------------------------------------------------------;-------------------------------------------------------------------------; @CESYSGEN IF CE_MODULES_DEVICE;-------------- NAND Flash Block Device Driver ----------------------------------; @CESYSGEN IF CE_MODULES_FSDMGR; HIVE BOOT SECTIONIF 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:1000ENDIF IMGHIVEREG[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/NANDFLASH] "DriverPath"="Drivers//BuiltIn//NANDFLASH" "LoadFlags"=dword:1 ; load synchronously "BootPhase"=dword:0 "Order"=dword:0IF IMGHIVEREG "MountAsBootable"=dword:1 ; for Hive-based registryENDIF 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:1ENDIF BSP_NONANDFS !; END HIVE BOOT SECTION; @CESYSGEN ENDIF CE_MODULES_FSDMGR
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐:KITL遇到问题,请大家帮忙分析一下

  • LH806732用户头像
  • LH806732
  • (OneOnce)
  • 等 级:
#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才会自动保存新的修改。
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP

  • jlctt用户头像
  • jlctt
  • (Lance.Jin)
  • 等 级:
#7楼 得分:0回复于:2009-06-24 22:52:08
6楼正解
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP

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


 
  • 对我有用[1]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP

  • so927用户头像
  • so927
  • (so_zhou)
  • 等 级:
#9楼 得分:0回复于:2009-06-24 23:36:32
感谢LH806732提供的帮助,我太粗心了,居然把那个1给删除了,
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP

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

原创粉丝点击