Registry data is maintained as value entries under the Registry keys. As shown in Figure 23.6, Registry Editor displays data in two panes. The value entries in the right pane are associated with the selected key in the left pane. Click the folders and double-click the entries to see their contents.
Figure 23.6 Terms used to describe items in the Registry Editor window
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.
Table 23.2 lists the data types defined and used by the system.
Table 23.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 by the Windows NT Diagnostics program (Winmsdp.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 drivers and services are of this type and can be displayed in Registry Editor in binary, hex, or decimal format. For example, entries for service error controls are of 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 of 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 of this type: DisplayName : REG_SZ : Messenger |