Hive-Based Registry使用

对于Hive干什么用这里就不多介绍了,根据文档的介绍,Hive形式的注册表分为:Boot hive,System hv和User hive三种。Boot hive就是指那部分在Boot过程中需要使用到的注册表信息,这部分是实在没办法放在System hive中了,所以就把它们单独放在Boot hive中了。System hive是不用放在Boot中的和系统相关的注册表信息,而User hive则是用户相关的注册表信息了。下面就看看这三个部分的具体内容:

 1.Boot hive ,原文是这样介绍的:

The boot hive contains system settings that are applied only during boot. The boot hive is read out of ROM and used to start drivers and file systems needed to reach the system hive file. Once the system hive is mounted, the boot hive is discarded. Changes made to the registry during the boot process are copied into the system hive once it is available. The boot hive in ROM remains unchanged.

从这段介绍中可以理解Boot中的信息是用来在后面获得System hive而在Boot阶段所必需包括的注册表信息。因此Boot hive中的内容只要能让后面获得System hive成为可能就可以了。

 2.System hive,原文如下:

The system hive contains system settings that do not pertain to any one user. The OEM selects the system hive file name and location. The system hive file is typically named System.hv, but the location can vary.

The registry value SystemHive under HKEY_LOCAL_MACHINE\init\BootVars indicates the path and file name of the system hive.

从中可以看出System和用户无关,由OEM来选择System hive的文件名与位置,默认的System hive会被命名为System.hv,但位置不固定。在HKEY_LOCAL_MACHINE\init\BootVars 键下的值SystemHive 指定System hive的名字和路径。

 3.User hive,原文如下:

A user hive contains user-specific settings. All user hives are named User.hv and are located inside separate user directories. Each directory is given the name of the user to which it belongs.

The registry value ProfileDir under HKEY_LOCAL_MACHINE\init\BootVars indicates the location where all user directories are placed.

User hive包括了和用户相关的注册表信息。所有的User hive都是一样的名字:User.hv。但是放在不同的用户目录下,例如有两个用户的目录A,B,两个目录里的User hive都叫做User.hv。但是一个是A/User.hv。另一个是B/User.hv。同System hive类似,在HKEY_LOCAL_MACHINE\init\BootVars 下的ProfileDir 指定了所有用户目录存放的路径。

 有了以上的信息,下面来看如何使能Hive Registry。

 1.在PB中把Hive-based Registry Catalog item加进来。

 2.添加注册表[HKEY_LOCAL_MACHINE\init\BootVars]下的内容:
    "SystemHive"="<your system hive location>"

    "ProfileDir"="<your user hive location>"

    "DefaultUser"="<username>"
    "Flags"=dword:<your value>

 3.把在Boot阶段所需要的注册表信息封装在所示的注释中

   ; HIVE BOOT SECTION
   <your registry settings>
   ; END HIVE BOOT SECTION
 4.在存放System hive的分区,要做相应的设置,在CE5.0之后的要设MountAsBootable = dword:1.对于早期的版本,则需要设置MountFlags =dword :2

分区路径为[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\<MyProfile>\<MyFileSystem>]
 5.如果希望在每次修改后自动保存,那么在[HKEY_LOCAL_MACHINE\init\BootVars]下设置                             "RegistryFlags"=dword:1

 以上都是根据PB的帮助文档和别人的Blog获得的信息,能不能使用起来我还没有验证过。不过应该差不多了,最后说一下自己的一点理解,也算一个例子吧。例如我们的系统使用BINFS和FATFS,System.hv存放在FAT上面,那么在Boot Hive中需要把BINFS和FATFS都使能起来,不然在后面的加载过程中得不到System.hv的话其他驱动就没法加载了。只有在Boot Hive中把BINFS和FATFS都使能起来,这样才能在FAT分区中获得System.hv这样才能保证后面的驱动正常的加载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】matlab与C/C++混合编程——在Windows/Linux上调用Matlab编译的动态库文件

转自&#xff1a;matlab与C/C混合编程——在Windows/Linux上调用Matlab编译的动态库文件_sinat_18131557的博客-CSDN博客 dateversioncomments2019/9/9V0.1Init2019/9/27V0.2添加报错信息写入log的实现文章目录 MATLAB生成Dll文件调用 生成dll文件调用dll文件MATLAB生成.so文件…

WinCE中的RAM-Based Registry与HIVE-Based Registry

WinCE支持两种类型注册表&#xff1a;RAM-BasedHIVE-Based&#xff0c;默认使RAM-Based注册表。 1.RAM-Based注册表 RAM-Based注册表所有注册表数据存储象存储(object store)&#xff0c;就存放RAM里面。般有电池备份RAM系统面&#xff0c;就说&#xff0c;当系统掉电以&#…

验证日期时间的正则表达式

可以不要秒数的: ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][123…

【转】Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现

转自&#xff1a;Linux下c调用自己编写的matlab函数&#xff1a;通过mcc动态链接库.so实现_Jaster_wisdom的专栏-CSDN博客 之前在这里和这里调用了matlab自带的一些函数&#xff0c;是通过matlab引擎来实现的。那里调用的是matlab自带的函数&#xff0c;那么如果想调用自己写的…

C#连接数据库SQL(2005)

首先来总结一下进行数据库编程的全过程,这里用的是SQL SERVER(1) 建立SqlConnection对象以连接数据库SqlConnection mysqlconnectionnew SqlConnection("Serverlocalhost; databaseyourdatabase;uidsa;pwdsa");(2) 建立SqlCommand对象SqlCommand mysqlcommandmysqlco…

MULTI BIN的wince 5.0,smdk2440下的实现

原本早就要发出来了&#xff0c;但是看到king_sundi网友已经发过一个帖子了&#xff0c;所以犹豫了没有发&#xff0c;相对而言&#xff0c;我这个总结更具有实用性&#xff0c;基本上照着这个步骤来就能成功&#xff0c;我给我几个朋友试过了&#xff0c;他们一开始对这个基本…

【转】gcc/g++ 链接库的编译与链接

转自&#xff1a;gcc/g 链接库的编译与链接_Surge-CSDN博客_g 链接 gcc/g 链接库的编译与链接 surgewonggmail.com Surge_surgewong_CSDN博客 程序编译一般需要经预处理、编译、汇编和链接几个步骤。在实际应用中&#xff0c;有些公共代码需要反复使用&#xff0c;就把这些代…

常用WebServices返回数据的4种方法比较

以前经常在群里听到朋友们说WebServices的性能特别的慢&#xff0c;说的如何如何。说实话&#xff0c;WebServices的确比调用本地数据要慢一些&#xff0c;可是究竟有多慢&#xff0c;真的如朋友们说的那么难以忍受吗&#xff1f;我个人感觉&#xff0c;多半原因在处理的方式上…

让S3c2410里拥有HIVE注册表的 全部步骤

首先&#xff0c;我是花了几天的时间才搞好的&#xff0c;当然我也在网上找了很多资料&#xff0c;可是网上朋友说可行的方法&#xff0c;我试来试去就是不行&#xff0c;这我也不清楚为什么&#xff0c;一开始有说用到BINFS格式的[指NandFlash分区格式]&#xff0c;后来又看到…

【转】vscode下编译告警“undefined reference”?三步教你如何解决

转自&#xff1a;vscode下编译告警“undefined reference”&#xff1f;三步教你如何解决_squall0984的博客-CSDN博客 近些年来&#xff0c;由于VS Studio体积庞大、价格昂贵等原因&#xff0c;越来越多的C/C开发者转投VSCode的怀抱。VSCode有着免费1、开源2、多平台支持、占…

写在S3C2440A平台+winCE5.0+NAND +HIVE注册表的实现

最近一直弄这个注册表的永久保存&#xff0c;在网上看到很多相关的贴子&#xff0c;就像大部分人说的一样&#xff0c;很少有人照着做就可以成功的。 今天总算成功了&#xff0c;总结经验如下&#xff0c;但愿对后来者有所帮助。 首先&#xff0c;要实现注册表的永久保存&…

非常实用的Asp.net常用的51个代码

1.弹出对话框.点击转向指定页面 Code: Response.Write("<script>window.alert(该会员没有提交申请,请重新提交&#xff01;)</script>");Response.Write("<script>window.location http://www.msproject.cn/index.asp</script>");…

【转】VScode tasks.json和launch.json的设置

转自&#xff1a;VScode tasks.json和launch.json的设置 - 知乎 目录 C&#xff08;方法1&#xff1a;不使用VSCode插件&#xff0c;较繁琐&#xff09;C&#xff08;方法2&#xff1a;使用Native Debug插件&#xff09;C&#xff08;方法3&#xff1a;使用C/C Compile Run插…

小处见大问题

如果有以下几种很简单的需求&#xff0c;可是小需要中隐藏着大问题。 给页面添加4个web按钮&#xff0c;点击4个按钮分别实现 &#xff08;1&#xff09;打开一个摸态对话框 &#xff08;2&#xff09;页面在客户端转向 &#xff08;3&#xff09;页面转向并且进行一个服务器端…

巧手定制Windows CE系统

嵌入式系统正在日益广泛的应用于各个方面&#xff0c;嵌入式系统的最大特点在于其精简和实时性。公司近期委派我负责一个新的嵌入式系统项目&#xff0c;因为是小型设备&#xff0c;所以我面临的第一个难题是需要找一个体积少&#xff0c;但非常灵活添加外围接口的嵌入式系统。…

【转】vscode配置C/C++环境

转自&#xff1a;vscode配置C/C环境 - 知乎 VS Code配置作者&#xff1a;谭九鼎 链接&#xff1a;Visual Studio Code 如何编写运行 C、C 程序&#xff1f; - 知乎 有改动。个人按照步骤后&#xff0c;做到复制上三个json那一步&#xff0c;就可以运行了。 我将settings.json…

Boot Loader的启动流程和开发经验总结

Windows CE最大程度继承了桌面版Windows的丰富功能&#xff0c;但是Windows CE并不是一个通用的安装版操作系统。在形形色色的嵌入式设备世界里&#xff0c;一款CE系统通常只会针对某一种硬件平台生成。 一般来说&#xff0c;Windows CE的开发过程可以分为&#xff1a;0AL…

c# 相对路径的一些文献

1.获取和设置当前目录的完全限定路径。string str System.Environment.CurrentDirectory;Result: C:\xxx\xxx2.获取启动了应用程序的可执行文件的路径&#xff0c;不包括可执行文件的名称。string str System. Windows .Forms.Application.StartupPath;Result: C:\xxx\xxx3.获…

【转】dicom网络通讯入门(1)

转自&#xff1a;dicom网络通讯入门&#xff08;1&#xff09; - assassinx - 博客园 如果只看标准就会越看越糊涂&#xff0c;根本原因就是因为dicom抽象得太严重&#xff0c;是“专家”弄的。没办法。 那么到底服务类是什么&#xff1f;sop 又是什么&#xff1f;&#xff0…

三种嵌入式操作系统的分析与比析

1.1 嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心&#xff0c;面向用户、面向产品、面向应用&#xff0c;软硬件可裁减的&#xff0c;适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。 嵌入式系统应具有的特点是&#xff1a;高可靠性&#…