wince添加Hive-based Registry

=============================================================

标题:wince添加Hive-based Registry

摘要:

备注:Windows CE 5.0

日期:2010.5.5

姓名:朱铭雷

=============================================================

       wince有两种注册表,RAM-based RegistryHive-based Registry。基于RAM的注册表,对其的所有修改都会在掉电后丢失。而蜂窝注册表(Hive-based Registry)则能够保存住对注册表的修改。使用Hive-based Registrywince在启动的时候,会到FLASH读取修改的注册表项。所以使用蜂窝注册表的时候,如果修改了注册表的内容,并希望保存住,还要通过某种方法将内存中的注册表保存到FLASH中。一种方法是应用程序调用RegFlushKey函数,一种方法是注册表中"RegistryFlags"=dword:1,系统自动保存注册表。

       首先添加Hive-based Registry组件,相关的注册表参考如下:

; HIVE BOOT SECTION

 

[HKEY_LOCAL_MACHINE/init/BootVars]

   "SYSTEMHIVE"="//Registry//system.hv"

   "PROFILEDIR"="//Registry//usr.hv"

   "Start DevMgr"=dword:1

   "RegistryFlags"=dword:1

[HKEY_LOCAL_MACHINE/init/BootVars]

   "DefaultUser"="default"

[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/FlashDrv]

  "DriverPath"="Drivers//BlockDevice//FlashDrv"

  "LoadFlags"=dword:1

  "MountFlags"=dword:11

  "BootPhase"=dword:1

  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE/Drivers/BlockDevice/FlashDrv]

  "Prefix"="DSK"

  "Dll"="FLASHDRV.dll"

  "Order"=dword:0

  "Ioctl"=dword:4

  "Profile"="FlashDrv"

  "FriendlyName"="MS Flash Driver"

  "MountFlags"=dword:11

  "BootPhase"=dword:1

  "Flags"=dword:1000

; Bind BINFS to the block driver

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDrv]

  "DefaultFileSystem"="FATFS"

  "PartitionDriver"="mspart.dll"

  "AutoMount"=dword:1

  "AutoPart"=dword:1

  "AutoFormat"=dword:1

 

  "Folder"="NTFlash"

  "Name"="Microsoft Flash Disk"

  "BootPhase"=dword:0

  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDrv/FATFS]

  "FriendlyName"="FAT FileSystem"

  "Dll"="fatfsd.dll"

  "Flags"=dword:00280014

  "Paging"=dword:1

  "CacheSize"=dword:0

  "EnableCacheWarm"=dword:0

  "EnableCache"=dword:1

  "MountFlags"=dword:2

 

; HIVE BOOT SECTION

       其中:

[HKEY_LOCAL_MACHINE/init/BootVars]

   "SYSTEMHIVE"="//Registry//system.hv"

   "PROFILEDIR"="//Registry//usr.hv"

       定义了system.hvusr.hvFLASH中的存储位置。蜂窝注册表由boot.hvsystem.hvusr.hv等几部分组成。启动阶段需要的注册表内容存放在boot.hv中,其他的注册表内容存放在system.hvusr.hv中。如上面的注册表,在“; HIVE BOOT SECTION; 和“HIVE BOOT SECTION”注释之间的注册表项在编译时会放置在boot.hv中,诸如FAT文件系统驱动,mspart分区驱动等需要放置在boot.hv中的内容,都要放在这个注释对之间。

       对于Hive-based Registry"Start DevMgr"键值要设置为1"RegistryFlags"=dword:1

,使操作系统在注册表修改之后自动刷新到FLASH中。

    重新生成NK,烧进板子测试了一下,改变了与声音有关的注册表设置,重新开电,已经保存住了。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值