用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

Windows NT中的登记项及其完整性

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:54:20
【本文由PB创新网为您整理】

摘要: 该文结合Windows中的.INI文件,较全面、深入地介绍了Windows NT中的配置数据库——登记项,最后就Windows NT如何维护登记项的完整性加以讨论。


目前,许多Windows用户升级到Windows NT。Windows通过.INI文件来记录系统运行参数,那么,对于Windows NT,它又是如何保证系统协调一致工作的呢?
登记项(Registry)是Windows NT配置数据库——结构化的记录集,它类似于Windows中的.INI文件。登记项提供了一个安全而统一的数据库,在其中以分层格式存储配置,而不像Windows那样用大量的.INI文件。这样,有助于简化管理,使管理员易于在Windows NT中使用管理工具提供本地或远程服务。
1.登记项的使用
@@12A06700.GIF;图1@@
Windows NT组件以下述方法使用登记项。
硬件数据(NTDETECT) 启动Windows NT时,登记项接收易失硬件配置数据——计算机中检测到的硬件信息。在基于X86的计算机上,NTDETECT.COM程序做这些事情。在基于RISC的计算机上,此信息从固件中抽取。
Windows NT内核(NTOSKRNL) 启动期间,Windows NT内核从登记项选取信息,包括要装入什么设备驱动程序,以及用什么次序装入,内核传送回它自身的信息,例如版权号等。
设备驱动程序 设备驱动程序也向登记项传送数据,并从登记项接收装入和配置参数。性能良好的设备驱动程序告诉登记项它在使用什么系统资源,例如,硬件中断或DMA通道。设备驱动程序还报告所发现的配置数据。
管理/配置工具 Windows NT还提供大量其它接口,允许管理员修改系统配置数据,例如Control Panel、User Manager和Windows NT Setup。
Setup 程序 为应用程序或硬件运行Windows NT Setup程序或其它设置程序时,程序可以对登记项增加新的配置数据。
Win16 应用程序 Windows NT为了与一些应用程序和相关工具(如setup程序)兼容也支持.INI文件。因为,一些应用程序(特别是16位Windows应用程序)现阶段将继续使用.INI文件。AUTOEXEC.BAT和CONFIG.SYS文件也将存在,以提供对MS-DOS和Windows 3.1应用的兼容。当安装一个基于Windows3.1的应用时,应用的setup程序像在Windows中一样创建它自己的.INI文件或在WIN.INI或SYSTEM.INI文件中创建入口。但是,这些入口不能在登记项中升级,因为这些应用不知道如何访问登记项。因此,基本的SYSTEM.INI、WIN.INI和WINFILE.INI文件在Windows NT中放于根目录下。
2.登记项的层次结构
@@12A06701.GIF;图2@@
登记项以类似磁盘上的目录和文件那样的层次结构进行组织。
@@12A06702.GIF;表1@@
登记项与Windows中的.INI文件有许多相似之处。关键字类似于.INI文件中的小节,一个值项对应于.INI文件中小节里的一条设置项。然而,登记项可以包含次关键字,而.INI文件不支持小节的嵌套;登记项中的值项还可以包含可执行代码,而在.INI文件中设置项只是简单的串。同一台计算机上有多个用户,登记项可以存储每个用户的特性,而.INI文件中却不可能。
3.登记项子树
登记项结构化为4个关键字子树的集合。这些关键字包括每个计算机和每个用户的配置信息。每个计算机信息包括安装的软硬件信息,以及特定计算机上的网络设置。每个用户信息包括桌面设置、软件选择和打印机设置。访问任何关键字都要通过以下4个子树。
(1)HKEY-LOCAL-MACHINE
包括有关本地机器的所有配置信息。这个子树不管哪个用户登录以及使用什么软件而保留相同。在这个子树中的信息由应用程序、设备驱动程序和Windows NT操作系统使用,以确定本地机器的配置数据。其中部分信息用于引导Windows NT。
HKEY-LOCAL-MACHINE关键字有5个次关键字——Hardware、Security Account Manager (SAM)、Security、Software和System。其中后4个次关键字都看作是配置元,因为,它们在/winnt-root/SYSTEM 32/CONFIG目录中有相应的文件。应用程序可以查询所有5个关键字,但只可以对Software和System关键字增加信息。
(2)KKEY-USERS
容纳了当前登录用户的配置设置和缺省的用户配置文件。因此,HKEY-USERS关键字包括DEFAULT次关键字和一个或多个以用户的SIDs (Windows NT用以识别用户的安全身份号)为名称的次关键字。DEFAULT关键字分配信息给本地机器上的新用户,它对应的文件为/winnt-root/SYSTEM32/CONFIG目录下的USERDEF文件。登记项中每个用户的信息分别保存在/winnt-root/SYSTEM32/CONFIG目录下的USERxxx和USERxxx.LOG文件中。当一个用户登录时,用户的配置信息拷贝到HKEY-CURRENT-USER中,直到用户退出登录。在这期间,用户改变的任何设置都记录在HKEY-CURRENT-USER和HKEY-USERS的相应入口中。
缺省情况下,用户的配置文件保存在/winnt-root/SYSTEM32/CONFIG目录中,但对于Windows NT Advanced Server的域管理,它们可以放在本地机器上或存储在远程主机上。
(3)HKEY-CURRENT-USER
当前登录到机器上用户的有关信息。这些信息以前是存储在WIN.INI初始化文件中。这个子树有一份拷贝作为单个文件或配置元存储在机器上。当一个用户登录时,用户的安全身份号(SID)与登记项中的已知的SIDs进行比较,如果系统识别了用户登录的SID,系统就装载这个

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:49,828.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号