Description of the Microsoft Windows registry (256986)
The information in this article applies to:
- Microsoft Windows Server 2003, 64-Bit Datacenter Edition
- Microsoft Windows Server 2003, 64-Bit Enterprise Edition
- Microsoft Windows Server 2003, Datacenter Edition
- Microsoft Windows Server 2003, Enterprise Edition
- Microsoft Windows Server 2003, Standard Edition
- Microsoft Windows Server 2003, Web Edition
- Microsoft Windows XP 64-Bit Edition
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Professional
- Microsoft Windows XP Media Center Edition
- Microsoft Windows XP Tablet PC Edition
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional
- Microsoft Windows 2000 Datacenter Server
- Microsoft Windows NT Server 4.0
- Microsoft Windows NT Server, Enterprise Edition 4.0
- Microsoft Windows NT Workstation 4.0
- Microsoft Windows Millennium Edition
- Microsoft Windows 98 Second Edition
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows Small Business Server 2003, Premium Edition
- Microsoft Windows Small Business Server 2003, Standard Edition
This article was previously published under Q256986 SUMMARYThis article describes the registry. This article also
includes information about how to edit the registry, and lists references for
additional information.
back to the top
MORE INFORMATIONDescription of the registry The Microsoft Computer Dictionary, Fifth Edition, defines the registry as:
A central hierarchical database used in Microsoft Windows 9x, Windows CE,
Windows NT, and Windows 2000 used to store information necessary to configure
the system for one or more users, applications and hardware devices.
The Registry contains information that Windows continually references during
operation, such as profiles for each user, the applications installed on the
computer and the types of documents that each can create, property sheet
settings for folders and application icons, what hardware exists on the system,
and the ports that are being used.
The Registry replaces most of the text-based .ini files used in Windows 3.x and
MS-DOS configuration files, such as the Autoexec.bat and Config.sys. Although
the Registry is common to several Windows operating systems, there are some
differences among them. Registry data is stored in binary files.
back to the top
Information about editing the registry To edit the registry, Microsoft recommends that you follow the
steps in the Microsoft documentation only. If you can, use the Windows user
interface instead of directly editing the registry. You can edit the
registry by using Registry Editor (Regedit.exe or Regedt32.exe). If you use
Registry Editor incorrectly, you can cause serious problems that may require
you to reinstall your operating system. Microsoft does not guarantee that
problems that you cause by using Registry Editor incorrectly can be resolved.
Use Registry Editor at your own risk.
For additional information about the differences
between Regedit.exe and Regedt32.exe, click the following article number to
view the article in the Microsoft Knowledge Base: 141377
Differences between Regedit.exe and Regedt32.exe
Before you modify the registry, make sure to back
up the registry, and make sure that you understand how to restore the registry
if a problem occurs.
For additional information about backing up and
restoring the registry, click the following article numbers to view the
articles in the Microsoft Knowledge Base: 322756
How to back up, edit, and restore the registry in Windows XP and Windows Server 2003
322755 How to back up, edit, and restore the registry in Windows 2000
323170 How to back up, edit, and restore the registry in Windows NT 4.0
322754 How to back up, edit, and restore the registry in Windows 95, Windows 98, and Windows Me
To modify registry data, a program must use the
registry functions that are defined in the following MSDN Web site: Administrators can modify the registry by using Registry Editor
(Regedit.exe or Regedt32.exe), Group Policy, System Policy, Registry (.reg)
files or by running scripts (such as VisualBasic script files). Note The registry in 64-Bit versions of Windows XP and Windows Server
2003 is divided into 32-bit and 64-bit keys. Many of the 32-bit keys have the
same names as their 64-bit counterparts, and vice versa. The default 64-bit
version of Registry Editor that is included with 64-Bit versions of Windows XP
and Windows Server 2003 displays the 32-bit keys under the following node: HKEY_LOCAL_MACHINE\Software\WOW6432 For additional information about
how to view the registry on 64-Bit versions of Windows, click the following
article number to view the article in the Microsoft Knowledge Base: 305097
How to view the system registry by using 64-bit versions of Windows
The navigation area of Registry Editor displays
folders. Each folder represents a predefined key on the local computer. When
you access the registry of a remote computer, only two predefined keys appear:
HKEY_USERS and HKEY_LOCAL_MACHINE. The following table lists the predefined
keys that are used by the system. The maximum size of a key name is 255
characters.
Folder/predefined key | Description | HKEY_CURRENT_USER | Contains the root of the
configuration information for the user who is currently logged on. The user's
folders, screen colors, and Control Panel settings are stored here. This
information is associated with the user's profile. This key is sometimes
abbreviated as "HKCU." | HKEY_USERS | Contains all the actively loaded user
profiles on the computer. HKEY_CURRENT_USER is a subkey of HKEY_USERS.
HKEY_USERS is sometimes abbreviated as "HKU." | HKEY_LOCAL_MACHINE | Contains configuration information
particular to the computer (for any user). This key is sometimes abbreviated as
"HKLM." | HKEY_CLASSES_ROOT | Is a subkey of
HKEY_LOCAL_MACHINE\Software. The information stored here makes sure that the
correct program opens when you open a file by using Windows Explorer. This key
is sometimes abbreviated as "HKCR." Starting with Windows 2000, this
information is stored under both the HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER
keys. The HKEY_LOCAL_MACHINE\Software\Classes key contains default settings
that can apply to all users on the local computer. The
HKEY_CURRENT_USER\Software\Classes key contains settings that override the
default settings and apply only to the interactive user. The HKEY_CLASSES_ROOT
key provides a view of the registry that merges the information from these two
sources. HKEY_CLASSES_ROOT also provides this merged view for programs designed
for earlier versions of Windows. To change the settings for the interactive
user, changes must be made under HKEY_CURRENT_USER\Software\Classes instead of
under HKEY_CLASSES_ROOT. To change the default settings, changes must be made
under HKEY_LOCAL_MACHINE\Software\Classes. If you write keys to a key under
HKEY_CLASSES_ROOT, the system stores the information under
HKEY_LOCAL_MACHINE\Software\Classes. If you write values to a key under
HKEY_CLASSES_ROOT, and the key already exists under
HKEY_CURRENT_USER\Software\Classes, the system will store the information there
instead of under HKEY_LOCAL_MACHINE\Software\Classes. | HKEY_CURRENT_CONFIG | Contains information about the
hardware profile that is used by the local computer at system startup. |
The following table lists the data types that are currently
defined and that are used by Windows. The maximum size of a value name is as
follows:
- Windows Server 2003 and Windows XP: 16,383
characters
- Windows 2000: 260 ANSI characters or 16,383 Unicode
characters
- Windows Millennium Edition/Windows 98/Windows 95: 255
characters
Long values (more than 2,048 bytes) must be stored as files with
the file names stored in the registry. This helps the registry perform
efficiently. The maximum size of a value is as follows:
- Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003:
Available memory
- Windows Millennium Edition/Windows 98/Windows 95: 16,300
bytes
Note There is a 64K limit for the total size of all values of a key.
Name | Data type | Description | Binary Value | REG_BINARY | Raw binary data. Most
hardware component information is stored as binary data and is displayed in
Registry Editor in hexadecimal format. | DWORD Value | REG_DWORD | Data represented by a
number that is 4 bytes long (a 32-bit integer). Many parameters for device
drivers and services are this type and are displayed in Registry Editor in
binary, hexadecimal, or decimal format. Related values are DWORD_LITTLE_ENDIAN
(least significant byte is at the lowest address) and REG_DWORD_BIG_ENDIAN
(least significant byte is at the highest address). | Expandable String Value | REG_EXPAND_SZ | A
variable-length data string. This data type includes variables that are
resolved when a program or service uses the data. | Multi-String Value | REG_MULTI_SZ | A multiple
string. Values that contain lists or multiple values in a form that people can
read are generally this type. Entries are separated by spaces, commas, or other
marks. | String Value | REG_SZ | A fixed-length text
string. | Binary Value | REG_RESOURCE_LIST | A series of
nested arrays that is designed to store a resource list that is used by a
hardware device driver or one of the physical devices it controls. This data is
detected and written in the \ResourceMap tree by the system and is displayed in
Registry Editor in hexadecimal format as a Binary Value. | Binary Value | REG_RESOURCE_REQUIREMENTS_LIST | A
series of nested arrays that is designed to store a device driver's list of
possible hardware resources the driver or one of the physical devices it
controls can use. The system writes a subset of this list in the \ResourceMap
tree. This data is detected by the system and is displayed in Registry Editor
in hexadecimal format as a Binary Value. | Binary Value | REG_FULL_RESOURCE_DESCRIPTOR | A
series of nested arrays that is designed to store a resource list that is used
by a physical hardware device. This data is detected and written in the
\HardwareDescription tree by the system and is displayed in Registry Editor in
hexadecimal format as a Binary Value. | None | REG_NONE | Data with no particular type.
This data is written to the registry by the system or applications and is
displayed in Registry Editor in hexadecimal format as a Binary Value | Link | REG_LINK | A Unicode string naming a
symbolic link. | QWORD Value | REG_QWORD | Data represented by a
number that is a 64-bit integer. This data is displayed in Registry Editor as a
Binary Value and was first introduced in Windows 2000. | | |
A registry hive is a group of keys, subkeys, and values in the
registry that has a set of supporting files containing backups of its data. The
supporting files for all hives except HKEY_CURRENT_USER are in the
Systemroot\System32\Config folder on Windows NT 4.0, Windows 2000, Windows XP,
and Windows Server 2003; the supporting files for HKEY_CURRENT_USER are in the
Systemroot\Profiles\Username folder. The file name extensions of the files in
these folders, and, sometimes, a lack of an extension, indicate the type of
data they contain.
Registry hive | Supporting files | HKEY_LOCAL_MACHINE\SAM | Sam, Sam.log, Sam.sav | HKEY_LOCAL_MACHINE\Security | Security, Security.log,
Security.sav | HKEY_LOCAL_MACHINE\Software | Software, Software.log,
Software.sav | HKEY_LOCAL_MACHINE\System | System, System.alt,
System.log, System.sav | HKEY_CURRENT_CONFIG | System, System.alt, System.log,
System.sav, Ntuser.dat, Ntuser.dat.log | HKEY_USERS\DEFAULT | Default, Default.log,
Default.sav | | |
In Windows 98, the registry files are named User.dat and
System.dat. In Windows Millennium Edition, the registry files are named
Classes.dat, User.dat, and System.dat. Note Security features in Windows NT, Windows 2000, Windows XP, and
Windows Server 2003 allow an administrator to control access to registry
keys.
back to the top
REFERENCES For additional information, visit the following Microsoft
Web sites:
back to the top
Modification Type: | Minor | Last Reviewed: | 9/20/2006 |
---|
Keywords: | kbMSCCSearch kbPubTypeKC kbenv kbinfo kbRegistry KB256986 |
---|
|