用于操作系统的灵活层级设置注册表技术方案

技术编号:7155899 阅读:277 留言:0更新日期:2012-04-11 18:40
各种实施例包含提供具有可由应用程序开发人员定义的存取保护的分布式设置注册表的方法和系统。可用可定制特权和将不同节点插入到注册表树中的动态能力来跨不同技术实施分布式设置注册表。所述设置注册表可存在于注册表接口下,使得调用注册表的应用程序无需考虑设置数据是何时或者如何存储的。所述注册表树中的每一节点可定义其自身的特权要求和存储技术。节点可为“原生的”(即,在设置注册表系统软件内得到完全支持)或“非原生的”(即,由开发人员针对特定应用程序而定义)。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及计算机操作系统,且更明确地说,涉及在用于移动计算装置的操作系统上实施的注册表系统。
技术介绍
注册表是操作系统内用于存储软件操作设置和选项的目录。举例来说,由微软公司(Microsoft Corporation)开发的Windows 操作系统包含被称为"Windows注册表”的目录文件,所述目录文件含有硬件、操作系统软件和应用程序软件所需要的信息和设置,并存储用户偏好和设置。注册表文件用于在单个文件结构中定位所有程序和硬件设置和常量值。Windows注册表含有两个基本元素机码和值。注册表机码类似于文件夹。除了值之外,每一机码可含有子机码,子机码可含有进一步的子机码。在类似于Windows路径名的语法中使用反斜杠指示层级等级来引用机码。注册表值是存储在机码内的名称/数据对。 对值的引用是独立于机码而进行的。在Windows注册表中,值可为串值、二进制数据、未签名的32位整数、统一代码(UNICODE)值、多串值、列表和64位整数值(在Windows 2000和更高版本中)。Windows注册表被构造成提供数据库类型的函数的数据库。附图说明并入本文中并构成本说明书的一部分的附图说明本专利技术的示范性实施例,且连同上文所给出的概括描述和下文所给出的详细描述一起用以阐释本专利技术的特征。图1提供用于在实施例内实施设置对象的实例代码框。图2提供用于在实施例内实施原生设置对象的其它实例代码框。图3是说明两个应用程序针对原生设置对象的过程调用的过程调用图。图4提供用于在实施例内实施非原生设置对象的实例代码框。图5是说明两个应用程序针对非原生设置对象的过程调用的过程调用图。图6是说明在实施例内对设置对象调用进行的处理的过程流程图。图7是适于实施各种实施例的移动手持机的组成框图。具体实施例方式将参看附图来详细地描述各种实施例。只要有可能,将在所有图式中使用相同的参考标号来指代相同或相似的部分。对具体实例和实施方案做出的参考是出于说明性目的,且不希望限制本专利技术或权利要求书的范围。在此描述中,术语“实例”和“示范性”是用于指“充当实例、例子或说明”。在本文中描述为“实例”或“示范性”的任何实施方案不一定解释为比其它实施方案优选或有利。如本文所使用,术语“移动手持机”和“移动装置”可互换使用,且指代以下各项中的任一者各种蜂窝式电话、个人数据助理(PDA)、掌上型计算机、具有无线调制解调器的膝上型计算机、无线电子邮件接收器(例如,Bladcberry 和Treo 装置)、蜂窝式电话以及具有多媒体因特网功能的蜂窝式电话(例如,Bladiberry Storm )以及类似的个人电子装置。移动装置可包含如下文参看图7更完全地描述的可编程处理器和存储器。现代移动装置可存储大量的数字信息,且用户通常将其移动装置用作信息和娱乐器具。因此,针对移动装置而开发的应用程序的复杂性和完善度现在可与针对个人计算机而开发的应用程序匹敌。各种实施例通过提供具有可定义存取保护的灵活设置注册表来促进移动装置应用程序的开发。各种实施例提供一种具有可由应用程序开发人员定义的存取保护的分布式设置注册表。分布式设置注册表在不同技术中提供可定制特权和将不同节点插入到注册表树中的动态能力。所述设置注册表可存在于注册表接口下,使得调用注册表的应用程序无需考虑设置值是何时或者如何存储的。在所述注册表树中的每一节点可定义其自身的特权要求和存储技术。节点可为“原生的”(即,在设置注册表系统软件内得到完全支持)或“非原生的”(即,由开发人员针对特定应用程序而定义)。设置对象经由模块信息文件(mif)而向设置注册表注册其自身,所述模块信息文件在本文被称为.mif文件。众所周知,可由以下两个文件来定义驻留在移动装置上的应用程序扩展名为.mif的模块信息文件和扩展名为.mod的模块文件。如果应用程序需要设置信息,那么此类设置值便可存储在设置注册表内,以供应用程序在其开始或正在运行时存取。举例来说, 可将设置存储在扩展名为.ini文件的初始化文件中。在此实施方案中,开发人员必须提供含有已编译应用程序代码的.mod文件、含有已编译模块信息(包含设置注册信息)的.mif 文件和含有设置值的.ini文件。各种实施例提供应用程序编程接口(API)(有时在本文被称为“Bettings”)和 API的设置注册表实施方案(有时在本文被称为“kttingsReg”),其使得能够以串值获得/设置指定的机码、支持层级机码结构、允许在机码的树上进行列举以及在值变化时支持通知。可将数据作为文本文件而存储在设置注册表中,这简化了读取、写入和列举操作。 SettingsReg的实施例提供两种类型的功能性公用设置和私用设置。公用设置是应用程序或组件希望能够经由全局设置注册表而可供系统的其余部分使用的设置文件。公用设置大体上可供在操作系统内运行的所有应用程序使用。私用设置是可供选择性识别的应用程序或应用程序类型或类别使用的设置文件。各种实施例的设置注册表利用基于URI的设置树,例如,“path/to/a/setting” (/ 路径/到/ 一 /设置)。各种实施例的设置注册表不是较大的单片注册表(例如,在Windows 注册表的情况下),而是包括若干较小的子注册表,由简单地“插入”到最高等级的注册表的任何数目的模块提供所述子注册表,其中每一子注册表“拥有”树的特定部分。此结构使得能够易于维持设置注册表,因为每一子注册表以可定制方式管理其自身的数据存储装置(data store) 0所述结构还允许各种类型的数据存储机构可缩放,这是因为易于添加新的子注册表。所述结构还提供可定义的安全性,因为每一子注册表可管理其自身的特权准则。 另外,所述结构支持跨应用程序/域的变化通知。设置注册表具有原生和非原生数据存储装置的概念。原生存储装置是ISetings 注册表对其具有内建支持的存储装置。举例来说,在实施例中,设置注册表支持基于.ini 文件的数据存储装置和基于堆的数据存储装置,所述基于.ini文件的数据存储装置是存在于.ini文件中且留存在扩展文件系统(ER5)中的设置,所述基于堆的数据存储装置是存在于堆存储器中且不跨电源(即,系统接通/断开)循环留存的设置。非原生存储装置是使用不同于由原生设置对象数据存储装置所支持的存储技术或文件类型的存储技术或文件类型的独立实施方案。开发人员可自由定义非原生设置对象,包含那些对象的特权执行。在原生存储装置的情况下,若干组件在其.mif文件中主张对树的特定节点的所有权,其还在所述.mif文件中向注册表提供关于其存储装置的一些信息(例如,对于基于.ini文件的存储装置,组件将指定存储装置类型(在此情况下是基于.ini的存储装置) 和到.ini文件的EFS路径)。注册表将管理对数据存储装置的所有操作(在.ini文件的情况下,注册表是曾对文件进行读取/写入的唯一组件),因此存在例如设置存取控制列表 (ACL)等单独的机构,组件可通过所述机构定义特权,以允许或拒绝对其存储装置的存取。 设置ACL (存取控制列表)与文件系统(FS)ACL的运作完全相同。在原生存储装置的情况下,没有用以写入以定义/管理存储装置的代码。在原生存储装置中,注册表过程具有创建存储装置并与其交互的本文档来自技高网...

【技术保护点】
1.一种用于在注册表内对软件设置进行存储和存取的方法,其包括:产生含有设置值的原生设置对象,并用机码将所述原生设置对象存储在存储器中;接收来自应用程序的呈应用程序编程接口(API)调用形式的对所述设置值的调用;实施与所述注册表相关联的单独服务以获得所述设置值;在所述单独服务内从所述原生设置对象获得所述设置值;将所述设置值从所述单独服务返回到所述API;以及将所述设置值从所述API返回到所述应用程序。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:米迦勒·马格
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1