Microsoft KB Archive/102987

= REG: CurrentControlSet, PART 1 =

Article ID: 102987

Article Last Modified on 11/1/2006

-

APPLIES TO


 * Microsoft Windows NT Advanced Server 3.1
 * Microsoft Windows NT Workstation 3.1
 * Microsoft Windows NT Advanced Server 3.1

-



This article was previously published under Q102987



The article contains REGISTRY entries for the CurrentControlSet\Control Subkeys Part 1. These subkeys are included:


 * BootVerificationProgram
 * ComputerName
 * DisplayDriver
 * GroupOrderList
 * HiveList
 * KeyboardLayout
 * Lsa
 * NetworkProvider
 * Nls
 * PriorityControl
 * ProductOptions
 * ServiceGroupOrder

For listings of the other control subkeys under CurrentControlSet, see the articles:

CurrentControlSet Part 2: SessionManager Entries, and CurrentControlSet Part 3, which contains entries for:


 * Setup
 * TimeZoneInformation
 * VirtualDeviceDrivers
 * Windows
 * WOW

CURRENTCONTROLSET\CONTROL SUBKEYS ENTRIES
This key contains parameters that control system startup, such as subsystems to load, the size and location of paging files, and so on.

NOTE: The system must be restarted for any changes in the Control key to take effect.

The Control subkey itself can contain the following value entries:

Current User REG_SZ Username
Default: Username Specifies the username for the currently logged-on user.

RegistrySizeLimit REG_DWORD Size in bytes
Default: 8 MB (That is, 25 percent of the default PagedPoolSize.) Specifies the total amount of space that can be consumed by Registry data.

The system ensures that the value for RegistrySizeLimit is at least 4MB and no greater than about 80 percent of the size of PagedPoolSize. Setting RegistrySizeLimit to 0xffffffff sets the value to be as large as 80 percent of PagedPoolSize (under the Control\Session Manager\MemoryManagement key). You can allow for a bigger Registry by setting the initial PagedPoolSize, or you can set the value of RegistrySizeLimit. If you want a very large Registry, set both. However, for all but a few domain controllers, RegistrySizeLimit never needs to be changed.

RegistrySizeLimit must have a type of REG_DWORD and a data length of 4 bytes, or it will be ignored.

SystemStartOptions REG_SZ String
Contains the text of system arguments passed to the system by the firmware. These values can be used to determine whether the debugger is enabled, the options set for ports and speed, and so on. For example, the following value could be defined for SystemStartOptions:   c:\winnt="Windows NT" /DebugPort=com1/DebugBaudRate=56000 In this example, "Windows NT" in the first part of the string indicates the SystemRoot specified under the Windows NT\CurrentVersion subkey in the Software area of the Registry. The remaining portion of this string is interpreted by the system to define the COM port and baud rate for debugging.

The following standard Control subkeys are found under this Registry path:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control Their values (where appropriate--some marked in the list below should not be edited by users) are located in these files:

BootVerificationProgram, ComputerName, DisplayDriver, GroupOrderList, Hivelist, Keyboard Layout, Lsa, NetworkProvider, Nls, PriorityControl, ProductOptions and ServiceGroupOrder control entries are listed in the remainder of this file, following the list below.

SessionManager entries are in the article "CurrentControlSet, Part 2: SessionManager Entries."

Setup, TimeZoneInformation, VirtualDevice, WindowsStartup and WOW entries are in the article "CurrentControlSet, Part 3."

Here is a complete list of Control Subkeys:

Boot Verification Program

ComputerName (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

DisplayDriverControl (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

GroupOrderList

ServiceGroupOrder

HiveList

KeyboardLayout

Lsa (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

NetworkProvider

Nls

Print (See the article "Registry Entries for Printing.")

PriorityControl (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

ProductOptions (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

SessionManager

Setup (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

TimeZoneInformation (These keys contain information used only by the system and should not be edited by users. Because these entries should be maintained only by the system, they are not described in these files.)

VirtualDeviceDrivers

Windows

WOW

BootVerificationProgram Control Entries
The BootVerificationProgram key is used to update the last known good configuration during system startup. This entry describes a program that will be called by the service controller to establish the last known good configuration. Such a program can be written by the system administrator. The Registry path for this key is the following:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\BootVerificationProgram Any entry added under this subkey must have the following format:

ImagePath Reg_SZ or REG_EXPAND_SZ Filename
Default: (no entry) Specifies the filename for a startup verification program.

You must also specify a value of 1 for the ReportBootOK entry under the following Registry path:   HKEY_LOCAL_MACHINE\Software\Windows NT\CurrentVersion\WinLogon When the value of ReportBootOK is set to 0, it disables the automatic (default) startup acceptance, which happens after the first successful logon.

As an alternative, if you want to verify system startup from a remote location, the BootVerification service supplied with Windows NT can be used instead of the BootVerificationProgram, as described later in this chapter. The BootVerification service cannot be used in conjunction with entries in the BootVerificationProgram subkey.

NOTE: Do not change values in the BootVerificationProgram key unless you need a custom verification program to satisfy specific startup criteria at your site. Otherwise, accept the default procedures for verifying system startup.

ComputerName Control Entries
The ComputerName key contains the system's computername.

CAUTION: Do not change the ComputerName values in the Registry. The computername should be changed only by choosing the Network icon in Control Panel or by applications using the Get/SetComputerName APIs.

There are two subkeys under ComputerName: ActiveComputerName and ComputerName. This is because a new computername takes effect only on the next system startup. Changing the computername changes the value in the ComputerName key. When you start the system, the ComputerName key gets copied to the ActiveComputerName key (which is volatile and which provides the computername during that session). These two subkeys appear under the following Registry path:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName These two subkeys each contain a value entry of the following type:

ComputerName REG_SZ ComputerName
Default:  ComputerName defined during Setup Defines the name for the computer as identified for network browsers.

DisplayDriverControl Entries
Entries under the following Registry path define basic display driver information used during system startup:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DisplayDriverControl

DriverEnabled REG_DWORD 0 or 1
Default:  0

LayeredDriver REG_SZ String
Default:  layrdisp

MaxClientCount REG_DWORD Number
Default:  0x4 These entries should be maintained only by the system.

GroupOrderList Control Entries
The entries in the GroupOrderList key specify the ordering of services within groups, under the following Registry path:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList For a service listed under CurrentControlSet\Services, the value of the Group entry plus any Tag entry determines the order in which the service is loaded. But not all services have a Tag entry, and not all groups have an entry in the GroupOrderList subkey. The ServiceGroupOrder subkey described later in this article specifies the order for loading groups. The entries in the key are all of type REG_BINARY. These default entries define the order within groups: <pre class="fixed_text">  Base              Pointer Class          Video Ndis             SCSI Miniport          Keyboard Port Primary Disk     Keyboard Class Filter           Pointer Port

HiveList Control Entries
The location of the files that contain Registry information is reported under the following Registry path: <pre class="fixed_text">  HKEY_CURRENT_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist All data types are REG_SZ. The following are the default entries: <pre class="fixed_text">\REGISTRY\MACHINE\HARDWARE \REGISTRY\MACHINE\SAM= \Device\Harddisk0\Partition1\SystemRoot\SYSTEM32\CONFIG\SAM

\REGISTRY\MACHINE\SECURITY= \Device\Harddisk0\Partition1\SystemRoot\SYSTEM32\CONFIG\SECURITY

\REGISTRY\MACHINE\SOFTWARE= \Device\Harddisk0\Partition1\SystemRoot\SYSTEM32\CONFIG\SOFTWARE

\REGISTRY\MACHINE\SYSTEM= \Device\Harddisk0\Partition1\SystemRoot\SYSTEM32\CONFIG\SYSTEM

\REGISTRY\USER\.DEFAULT= \Device\Harddisk0\Partition1\SystemRoot\SYSTEM32\CONFIG\DEFAULT

\REGISTRY\USER\SID_#= \Device\Harddisk0\Partition1\SystemRoot\SYSTEM32\CONFIG\ADMIN000

Keyboard Layout Control Entries
The Keyboard Layout key maintains the mapping of keyboard layout names to keyboard layout DLL names, under the Registry path: <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout The Keyboard Layout key is used by the system to determine which DLL to load. The mapping may contain duplicated keyboard layout DLL names if that DLL implements the layout for more than one language (in other words, a keyboard layout may have more than one name). Individual preferences are stored under HKEY_CURRENT_USER\Keyboard Layout.

The Keyboard Layout key contains an entry in this format:

KeyboardLayout REG_SZ DLL filename
By convention, a keyboard layout name is a null-terminated string of 8 hexadecimal digits representing a language ID (in the last four digits) and a variation number (in the first four digits).

For example, the language ID of Swiss German is 0x807, so, by convention, keyboard layout names could be 00000807, 00010807, and so on.

The DosKeybCodes subkey is used by the system to convert Windows NT keyboard layout names into MS-DOS-style two-character keyboard layout names as used by the kb16 command (equivalent to keyb in MS-DOS). The system must automatically switch the VDM keyboard layout whenever the Windows NT keyboard layout is changed. Entries are found under this Registry path: <pre class="fixed_text">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\Keyboard Layout\DosKeybCodes

KeyboardLayout REG_SZ Two-character code
These entries define the two-character equivalent for each keyboard layout. This list summarizes the entries under DosKeybCodes: <pre class="fixed_text">  00000405=cz      00000414=no      0000080C=be 00000406=dk     00000415=pl      00000813=be 00000407=gr     00000416=br      00000816=po 00000409=us     00000419=ru      00000C0C=cf 0000040A=sp     0000041A=yu      00001009=us 0000040B=su     0000041B=sl      0000100C=sf 0000040C=fr     0000041D=sv      00010409=dv 0000040E=hu     00000807=sg      0001040A=sp 0000040F=us     00000809=uk      00010C0C=cf 00000410=it     0000080A=la      00020409=us 00000413=nl

Lsa Control Entries
The authentication package for the local security authority has values defined under the following Registry path: <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa These values should be maintained only by the system-errors may prevent anyone from being able to log on to the computer.

Authentication Packages REG_MULTI_SZ Filenames
<pre class="fixed_text">Default:  msv1_0

Bounds REG_BINARY
<pre class="fixed_text">Default:  (none)

NetworkProvider Control Entries
Windows NT supports a common interface that allows networks from several different vendors (that is, network providers) to operate on a single computer at the same time. The NetworkProvider subkey provides a list of the available network providers that use the Microsoft network-independent APIs. The following value for the Order subkey appears under this Registry path: <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\NetworkProvider\Order

ProviderOrder REG_SZ Comma-separated list of keynames
<pre class="fixed_text">Default:  LanmanWorkstation (when a single network is installed) Specifies the order for accessing available network providers, as defined by choosing the Networks button in the Network dialog box in Control Panel. Each entry in this list is in the form of a Registry Services key name for a service or driver that is associated with a particular network provider. The Services subkey associated with a network provider should contain a Group entry with the value of NetworkProvider, and must also contain a NetworkProvider subkey with information for the Multiple Provider Router. For more information, see "NetworkProvider" in the "Registry Entries for Network Services" section later in this chapter.

Nls Control Entries
This key contains subkeys that define information for languages and code pages.

In the Code Page and Language subkeys, all code pages and languages supported under Windows NT are listed, so applications can check these keys to find all "supported" languages. However, only the entries with filenames in the data fields are actually installed in the system. So applications must check the data fields to find out if a specific code page is actually installed in the system.

Nls Control CodePage Entries
The entries under the following Registry path identify the files for available code pages. If there is no value following the entry name, that code page is not installed in the system. <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage Each entry has the following format:

CodePageID REG_SZ Filename
As shown in the following list, 437=C_437.NLS indicates the file for code page 437, and 1252=C_1252.NLS indicates the file for code page 1252, and so on. ACP is the default ANSI code page; OEMCP is the default OEM code page; and MACCP is the default Macintosh code page. <pre class="fixed_text">10000=c_10000.nls       1253=           861= 10006=                  1254=           863= 10007=                   437=c_437.nls   865= 10029=                  500=            866= 1026=                    850=c_850.nls   869= 1250=                   852=            875= 1251=                    855=            ACP=1252 1252=c_1252.nls         857=            MACCP=10000 860=           OEMCP=437 Nls Control Language Entries

The entries under the following Registry path identify the files for available languages. If there is no value following the entry name, that language is not installed in the system. <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language Each entry has the following format:

LanguageID REG_SZ Filename
As shown in the following table, l_INTL.NLS is the file for language 0409, l_INTL.NLS is the file for language 0809, and so on. <pre class="fixed_text">Default: 0409 (the default language ID)

0405=l_intl.nls     0414= l_intl.nls     0813=l_intl.nls 0406= l_intl.nls    0415=l_intl.nls      0814=l_intl.nls 0407=l_intl.nls     0416=l_intl.nls      0816=l_intl.nls 0408=               0419=l_intl.nls      0c07=l_intl.nls 0409=l_intl.nls     041b=l_intl.nls      28=l_intl.nls 040a=l_intl.nls     041d=l_intl.nls      0c0a=l_intl.nls 040b= l_intl.nls    041f=                0c0c=l_intl.nls 040c=l_intl.nls     0807=l_intl.nls      1009=l_intl.nls 040e=l_intl.nls     0809=l_intl.nls      100c=l_intl.nls 040f=l_intl.nls     080a=l_intl.nls      1409=l_intl.nls 0410=l_intl.nls     080c=l_intl.nls      1809=l_intl.nls 0413=l_intl.nls     0810=l_intl.nls Nls Control OEMLocale Entries

The following key, if present, can contain entries that an OEM adds to customize its locale: <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\OEMLocale This section of the Registry is only checked if a specific locale ID is not found in the default locale file (LOCALE.NLS). If this subkey is present, each entry has the following format:

OEMlocale REG_SZ filename
Default: This subkey is not present, so there is no default.

Specifies the locale ID and a filename for the OEM locale.

PriorityControl Entries
The PriorityControl key defines the foreground/background priority boost differential. Change this value by choosing the Tasking button in the System dialog box in Control Panel. Values are stored under this Registry path: <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl

Win32PrioritySeparation REG_DWORD 0, 1, or 2
<pre class="fixed_text">Default:  0x2 Specifies the priority to give to the application running in the forground. This application receives more process or time relative to other applications running in the background. The values here correlate to the following options in the Tasking dialog box:

Value Meaning
<pre class="fixed_text">0         Foreground and background applications equally responsive 1         Foreground application more reponsive than background 2         Best foreground application response time

ProductOptions Control Entries
The ProductOptions subkey contains miscellaneous information used by the system, under the following Registry path: <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions The following entry appears under this key.

ProductType REG_SZ Product name
Specifies the installed version of Windows NT as either WinNT (for Windows NT) or LanmanNT (for Windows NT Advanced Server).

ServiceGroupOrder Control Entries
The ServiceGroupOrder key specifies the order to load various groups of services.

Order within groups is specified using the value of Tag under the specific Services subkeys and the values in the GroupOrderList subkey. For example, when you start Windows NT, the Boot Loader scans the Registry for drivers with a Start value of 0 (which indicates that these drivers should be loaded but not initialized before the Kernel) and a Type value of 0x1 (which indicates a Kernel device driver such as a hard disk or other low- level hardware device driver). The drivers are then loaded into memory in the order specfied as the List value in the ServiceGroupOrder subkey. <pre class="fixed_text">  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder

List REG_MULTI_SZ Group names
Specifies the order for loading drivers into memory. <pre class="fixed_text">Default: SCSI miniport port Primary disk SCSI class SCSI CDROM class filter boot file system Base Keyboard Port Pointer Port Keyboard Class Pointer Class Video file system Event log Streams Drivers NDIS TDI NetBIOSGroup NetDDEGroup extended base network Reference: "The Windows NT Resource Kit for Operating System Version 3.1".

Additional query words: prodnt

Keywords: kbother KB102987

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.