深入 WIN2000 注册表 (1)

2024-03-21 08:18
文章标签 深入 注册表 win2000

本文主要是介绍深入 WIN2000 注册表 (1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                                           2000注册表的结构
因为注册表非常庞大,而且必须快速访问以避免降低系统性能,所以Windows 2000注册表中的信息以二进制格式保存,而不像Windows 3.x的I N I文件或者M S - D O S系统文件那样以文本格式保存。为了使从庞大的数据库中获取某一指定信息的时间最少,数据库的组织结构更像是硬盘上的文件系统。
Windows 2000注册表分为四层,而且呈层叠式的结构:
• 配置单元:有五个系统定义的配置单元,它们名称的第一部分是: H K E Y _。

• 项:分为用户定义的项和系统定义的项。这些项没有特殊的命名约定,它们以主
HKEY_ 配置单元的子目录形式存在。项和子项没有附带数据—它们只负责组织对数
据的访问。
• 子项:分为用户定义的子项和系统定义的子项。这些子项没有特殊的命名约定,它们是作为用户定义或者系统定义的项的子目录形式存在的。项和子项没有相关的数据—它们只是用来组织对数据的访问(注意,某些文档不区分项和子项)。

• 值:这些元素位于结构链的末端,就像是文件系统中的文件一样。它们包含着计算机及其应用程序执行时使用的实际数据。它们可分为小而有效的几种数据类型,本章稍后将对其进行介绍。
现在,让我们来看一下每个配置单元所包含的信息,以及它们如何同Windows 2000相互作用。
1. HKEY_LOCAL_MACHINE
H K E Y _ L O C A L _ M A C H I N E ( H K L M )是包含操作系统及硬件相关信息(例如计算机总线类型,系统可用内存,当前装载了哪些设备驱动程序以及启动控制数据等)的配置单元。实际上,H K L M保存着注册表中的大部分信息,因为另外四个配置单元都是其子项的别名。提示配置单元通常简写为H K加上它们以下划线分隔的单词的首字母。

2. HKEY_CURRENT_USER
H K E Y _ C U R R E N T _ U S E R ( H K C U )配置单元包含着当前登录到由这个注册表服务的计算机上的用户的配置文件。其子项包含着环境变量、个人程序组、桌面设置、网络连接、打印机和应用程序首选项(环境变量在Windows 2000中被用来允许脚本、注册表条目,以及其它应用程序使用通配符来代替可能会发生改变的重要的系统信息)。这些信息是HKEY_USERS 配置单元当前登录用户的Security ID(SID)子项的映射。
3. HKEY_CLASSES_ROOT
H K E Y _ C L A S S E S _ R O O T ( H K C R )配置单元包含的子项列出了当前已在计算机上注册的所有C O M服务器和与应用程序相关联的所有文件扩展名。这些信息是H K E Y _ L O C A L _M A C H I N E / S O F T WA R E / C l a s s e s子项的映射。
4. HKEY_USERS
H K E Y _ U S E R S ( H K U )配置单元包含的子项含有当前计算机上所有的用户配置文件。其中一个子项总是映射为H K E Y _ C U R R E N T _ U S E R (通过用户的S I D值)。另一个子项H K E Y _U S E R S / D E FA U LT包含用户登录前使用的信息。
5. HKEY_CURRENT_CONFIG
H K E Y _ C U R R E N T _ C O N F I G ( H K C C )配置单元包含的子项列出了计算机当前会话的所有硬件配置信息。硬件配置文件出现于Windows NT版本4,它允许你选择在机器某个指定的会话中支持哪些设备驱动程序。这些信息是H K E Y _ L O C A L _ M A C H I N E / S Y S T E M / C u r r e n t C o n t r o l S e t子
项的映射。

    因为注册表是一个小型关系数据库,所以从逻辑上就需要有一个能定义其组织结构的模式。除了上面介绍的之外,这个结构还应该提供有限的数据类型集以便包含注册表值。
Windows 2000注册表条目共有11种可识别的数据类型,表1 - 1提供了其名称和功能。
每一种原始数据格式类型(名称分别为D Wo r d、二进制、字符串、多重字符串) ,在
R e g e d t 3 2 . e x e中都有一个专门的编辑器。这些编辑器将在直接解决方案(Immediate Solutions)
部分介绍。

Windows 2000注册表可识别的数据类型 数据类型原始数据类型功能
R E G _ N O N E       未知加密数据
R E G _ S Z               字符串文本字符
R E G _ E X PA N D _ S Z  字符串带有变量的文本
R E G _ B I N A RY  二进制二进制数据
R E G _ D W O R D  数值数值数据
R E G _ D W O R D _ B I G _ E N D I A N  数值非I n t e l数值
R E G _ L I N K     字符串文件路径
R E G _ M U LT I _ S Z     多重字符串字符串数组
R E G _ F U L L _ R E S O U R C E _ D E S C R I P TO R 字符串硬件资源I D
R E G _ R E S O U R C E _ R E Q U I R E M E N T S _ L I S T 字符串硬件资源I D

 

待续



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=5731


这篇关于深入 WIN2000 注册表 (1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832186

相关文章

MySQL数据库约束深入详解

《MySQL数据库约束深入详解》:本文主要介绍MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友... 目录一、数据库约束的概念二、约束类型三、NOT NULL 非空约束四、DEFAULT 默认值约束五、UN

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规