请问有人实现了wince6.0下的hive注册表吗?

JasonBUG 2009-06-23 01:00:16
我的wince6编译环境中,我发现在platform.reg和common.reg中都存在; HIVE BOOT SECTION标签,并且都有相同的内容,如下
[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


...全文
596 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
binbinyongai 2009-11-09
  • 打赏
  • 举报
回复
想请问一下我的NAND驱动是用MDD+PDD的架构实现的,可以再实现Hive注册表吗?
shenmou 2009-09-17
  • 打赏
  • 举报
回复
mark
商海连横 2009-06-25
  • 打赏
  • 举报
回复
mark!
JasonBUG 2009-06-24
  • 打赏
  • 举报
回复
一下是我从platform.reg中提取出来的,在“; HIVE BOOT SECTION”标签中的内容


;-------------------------------------------------------------------------
; 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
JasonBUG 2009-06-24
  • 打赏
  • 举报
回复
感谢LH806732提供的帮助,我太粗心了,居然把那个1给删除了,
JasonBUG 2009-06-24
  • 打赏
  • 举报
回复
就只需要改这么一点内容就可以了吗


LanceJin 2009-06-24
  • 打赏
  • 举报
回复
6楼正解
LH806732 2009-06-24
  • 打赏
  • 举报
回复
在批处理文件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才会自动保存新的修改。
gooogleman 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用 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
[/Quote]

我正好要搞,收藏了!
paul_chao 2009-06-23
  • 打赏
  • 举报
回复
Please refer "Implementing the Hive-Based Registry" in the web
http://msdn.microsoft.com/en-us/library/aa914710.aspx

Paul, Chao @ Techware
cq520zw 2009-06-23
  • 打赏
  • 举报
回复
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"
91program 2009-06-23
  • 打赏
  • 举报
回复
CE6.0下的HIVE,应该与CE5.0下的实现没有什么区别的。按CE5.0下的方法试试吧!

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

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧