Value Entries in the Registry Keys

Registry data is maintained as value entries under the Registry keys. As shown in the following figure, Registry Editor displays data in two panes. The value entries in the right pane are associated with the selected key in the left pane.

A value entry has three parts: the name of the value, the data type of the value, and the value itself, which can be data of any length. The three parts of value entries always appear in the following order:

A value entry cannot be larger than about 1 MB. Values from 0 to 0x7fffffff are reserved for definition by the system, and applications are encouraged to use these types. Values from 0x80000000 to 0xffffffff are reserved for use by applications.

The following table lists the data types currently defined and used by the system.

Table 10.2 Data Types for Registry Entries

Data type

Description

REG_BINARY

Raw binary data. Most hardware component information is stored as binary data, and can be displayed in Registry Editor in hexadecimal format, or displayed via the Windows NT Diagnostics program (WINMSD.EXE) in an easy-to-read format. For example:

Component Information : REG_BINARY : 00 00 00...

REG_DWORD

Data represented by a number that is 4 bytes long. Many parameters for device driver and services are this type and can be displayed in Registry Editor in binary, hex, or decimal format. For example, entries for service error controls are this type:

ErrorControl : REG_DWORD : 0x1

REG_EXPAND_SZ

An expandable data string, which is text that contains a variable to be replaced when called by an application. For example, for the following value, the string %SystemRoot% will be replaced by the actual location of the directory containing the Windows NT system files:

File : REG_EXPAND_SZ : %SystemRoot%\file.exe

REG_MULTI_SZ

A multiple string. Values that contain lists or multiple values in human readable text are usually this type. Entries are separated by NULL characters. For example, the following value entry specifies the binding rules for a network transport:

bindable : REG_MULTI_SZ : dlcDriver dlcDriver non non 50

REG_SZ

A sequence of characters representing human readable text. For example, a component's description is usually this type:

DisplayName : REG_SZ : Messenger