Under versions of Windows for MS-DOS, starting the
system, connecting to the network, and running applications involves multiple
configuration files with some form of synchronization between them. With
Windows NT, the operating system stores and checks the configuration information
at only one location: the Registry.
The following figure shows how various Windows NT components and applications
use the Registry. The numbered explanations below this illustration provide
details.
Although Microsoft discourages using .INI files in favor of using Registry
entries, some applications (particularly 16-bit Windows-based applications)
will continue using .INI files for the time being. Windows NT supports
.INI files solely for compatibility with those applications and related
tools (such as setup programs). Some form of the files AUTOEXEC.BAT and
CONFIG.SYS also still exist to provide compatibility with applications
created for MS-DOS and Windows 3.1. For details about how Windows NT uses
such files in conjunction with the Registry, see Chapter 14, "Initialization
Files and the Registry."
First, a discussion of basic terminology and structure of the Windows NT Registry is in order. As viewed with REGEDT32.EXE , the diagram above illustrates a simplified outline of the NT Registry as it would be presented to the user. Displayed in the left pane is the subtree (tree) and associated keys / subkeys.
The Registry Editor uses a display function similar to NT Explorer or File Manager, where a double-click of the mouse will either expand the selected key to display its subkeys or collapse the display to hide them. Displayed in the right pane is the value entry, or entries, associated with the selected key in the left pane.
Possible Data Types are:
REG_NONE | No value type |
REG_SZ | Unicode NULL terminated string |
REG_EXPAND_SZ | Unicode NULL terminated string that can have embedded environment variables |
REG_BINARY | Arbitrary length binary data |
REG_DWORD | 32-bit number |
REG_DWORD_BIG_ENDIAN | 32-bit number, high byte first |
REG_LINK | Unicode symbolic link |
REG_MULTI_SZ | Array of Unicode strings |
REG_RESOURCE_LIST | Hardware resource description |
REG_FULL_RESOURCE_DESCRIPTOR | Hardware resource description |
REG_RESOURCE_REQUIREMENTS_LIST | Resource requirements |
The NT Registry is composed of up to six subtrees of keys. Where
appropriate, two of these are mapped to other subtrees contained in the
other four.
Note that the number of subtrees may vary, depending on the version
of NT. The six subtrees are as follows:
Information about hard and soft of this machine Information about all the accounts on the machine Some information about the current hardware profile. Points to the current hardware configuration at HKEY_LOCAL_MACHINE File association and Object Linking and Embedding (OLE) registration information. Points to HKEY_LOCAL_MACHINE\SOFTWARE\Classes Data associated with the currently logged-on user. Points to the HKEY_USERS appropiate for the current user Performance data. Points to a branch of HKEY_LOCAL_MACHINE that contains the dynamic status information for use with the P&P feature |
Each value entry in the right pane is generally made up of three parts:
the Value Name, the Data Type, and the Data. The Value Name is a
variable, of sorts, associated with the selected key. The Data Type
specifies the nature of data associated with the Value Name. The
Data is the value assigned to the Value Name and will take the form of
the Data Type.