Glossary
of
Terms

Care&Maintenance
viruses
backup the registry
restore the registry
editing the registry

Editing the Windows Registry (continued...)

The KEYS and Their Subkeys
Each key contains one or more values. These values are the actual configuration data that is associated with the particular key. The data in the values can be represented in three different ways:

String, Binary and DWORDS.

String values are made up of textual entries, words, phrases,letters or any combination thereof. Strings are always enclosed in quotation marks.
eg. "Hello World".

Binary values are just that, a collection of 1s and 0s. These values are not really limited in size and are, of course, more difficult to understand.

DWORD values are 32-bit entries stored in a 4 byte hexidecimal format. Why is it called a DWORD? It takes 8 bits to make a byte, and a single byte to hold a character. Two characters are considered a word, which would take up 2 bytes. 4 bytes will hold 2 words. DWORD stands for Double Word.

examples:
(Default)           (value not set)
ClassGUID      "{4d36e97d-e325-11ce-de432d-10318}"
0000                01100000101011000000101100001
Capabilities    14 00 00 00

String, Binary and DWORD are referred to as the data types.

Although you see 6 root keys when you first enter the Registry Editor, only two of them are actually backed up when you back up the Registry. HKEY_LOCAL_MACHINE and HKEY_USERS.

HKEY_LOCAL_MACHINE and all its subkeys, stores the configuration information that has to do with the computer itself, and the hardware and peripherals attached. Values might include names, types, settings and resource allocations for the motherboard, expansion slots, CPU, and other devices. Anything specific to the computer hardware itself, that won't change from user to user, even if different profiles are used.

HKEY_USERS and it's subkeys store information that has to do with user configurable settings and preferences. Information stored here determines if your background is blue and what icons will appear on the desktop. It includes all the software configuration data that is specific to each individual user that can log onto the computer.

Let's start with a quick look at HKEY_LOCAL_MACHINE. Click on the plus sign beside the key and you'll see several other subkeys:

HKEY_LOCAL_MACHINE\Config - Stores different hardware profiles when multiple hardware profiles have been set up for the machine. Each separate profile will be represented by its own key numbered 0001, 0002, 0003, etc...

HKEY_LOCAL_MACHINE\Enum - Stores configuration settings and information on all the devices that have been installed in the computer, regardless of whether they are included in each hardware profile or not.

HKEY_LOCAL_MACHINE\Hardware - Doesn't store too much info. You might find your processor type and speed in here.

HKEY_LOCAL_MACHINE\Security - Network security information. You'll find values and settings that have to do with network connections, administrative information and file sharing on your computer.

HKEY_LOCAL_MACHINE\Software - These different keys and values contain information and software settings that are specific to the computer, and not changed from user to user. This branch also contains operating system information and upgrade info and status.

HKEY_LOCAL_MACHINE\System - This branch contains the different control sets. These are configurations and settings that determine how Windows starts up, which device drivers and services to load, keyboard layouts, shut down and logon information.

These are all branches that radiate from the one root key, HKEY_LOCAL_MACHINE. If you follow the branches down, and highlight specific keys, you may find some interesting information shown in the values in the right hand pane. Especially HKEY_LOCAL_MACHINE\Enum.

I could elaborate more here but my intention is to have you understand the branching process itself and how some of the values are stored and accessed. Take a look at HKEY_USERS. Follow its branches and subkeys and see what kind of information it stores in its values.

What about the other root keys you see,

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_DYN_DATA.

The first three are called aliases. They are not really separate keys. They are sections or branches of the first two keys we talked about.

Take a look at HKEY_CLASSES_ROOT, then check out HKEY_LOCAL_MACHINE\Software\CLASSES. You'll notice they're the same. This particular branch contains information on the associations between the different programs and their file types.

HKEY_CURRENT_CONFIG will match the information you'll find at HKEY_LOCAL_MACHINE\config\0001, or the number of the current hardware profile in use.

HKEY_CURRENT_USER will match the information in the key HKEY_USERS that corresponds to the user currently logged in.

If you make a change in the alias keys, you'll find that the change has also been made in the corresponding branch of the real root key. For this reason, you'll find that most changes are done in the alias keys.

The last key, HKEY_DYN_DATA is not an alias, but it is a dynamic file that is created while Windows is running and contains information on what's happening with your computer. Things like hardware status, resources and performance.

(continued...)