The article contains REGISTRY entries for the CurrentControlSet\ControlSubkeys Part 1. These subkeys are included:
For listings of the other control subkeys under CurrentControlSet, see thearticles:
CurrentControlSet Part 2: SessionManager Entries, and CurrentControlSetPart 3, which contains entries for:
CURRENTCONTROLSET\CONTROL SUBKEYS ENTRIES
This key contains parameters that control system startup, such assubsystems 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 totake effect.
The Control subkey itself can contain the following value entries:
Current User REG_SZ 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 andno greater than about 80 percent of the size of PagedPoolSize. SettingRegistrySizeLimit to 0xffffffff sets the value to be as large as 80 percentof 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 largeRegistry, 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 4bytes, 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, theoptions set for ports and speed, and so on. For example, the followingvalue 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 theSystemRoot specified under the Windows NT\CurrentVersion subkey in theSoftware area of the Registry. The remaining portion of this string isinterpreted by the system to define the COM port and baud rate fordebugging.
The following standard Control subkeys are found under this Registry path:
Their values (where appropriate--some marked in the list below should notbe 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 theremainder of this file, following the list below.
SessionManager entries are in the article "CurrentControlSet, Part 2:SessionManager Entries."
Setup, TimeZoneInformation, VirtualDevice, WindowsStartup and WOW entriesare 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 andshould not be edited by users. Because these entries should be maintainedonly by the system, they are not described in these files.)
DisplayDriverControl (These keys contain information used only by thesystem and should not be edited by users. Because these entries should bemaintained only by the system, they are not described in these files.)
Lsa (These keys contain information used only by the system and should notbe edited by users. Because these entries should be maintained only by thesystem, they are not described in these files.)
Print (See the article "Registry Entries for Printing.")
PriorityControl (These keys contain information used only by the system andshould not be edited by users. Because these entries should be maintainedonly by the system, they are not described in these files.)
ProductOptions (These keys contain information used only by the system andshould not be edited by users. Because these entries should be maintainedonly by the system, they are not described in these files.)
Setup (These keys contain information used only by the system and shouldnot be edited by users. Because these entries should be maintained only bythe system, they are not described in these files.)
TimeZoneInformation (These keys contain information used only by the systemand should not be edited by users. Because these entries should bemaintained only by the system, they are not described in these files.)
BootVerificationProgram Control Entries
The BootVerificationProgram key is used to update the last known goodconfiguration during system startup. This entry describes a program thatwill be called by the service controller to establish the last known goodconfiguration. Such a program can be written by the system administrator.The Registry path for this key is the following:
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 thefollowing Registry path:
When the value of ReportBootOK is set to 0, it disables the automatic(default) startup acceptance, which happens after the first successfullogon.
As an alternative, if you want to verify system startup from a remotelocation, the BootVerification service supplied with Windows NT can be usedinstead of the BootVerificationProgram, as described later in this chapter.The BootVerification service cannot be used in conjunction with entries inthe BootVerificationProgram subkey.
NOTE: Do not change values in the BootVerificationProgram key unless youneed a custom verification program to satisfy specific startup criteria atyour site. Otherwise, accept the default procedures for verifying systemstartup.
ComputerName Control Entries
The ComputerName key contains the system's computername.
CAUTION: Do not change the ComputerName values in the Registry. Thecomputername should be changed only by choosing the Network icon in ControlPanel or by applications using the Get/SetComputerName APIs.
There are two subkeys under ComputerName:ActiveComputerName and ComputerName. This is because a new computernametakes effect only on the next system startup. Changing the computernamechanges the value in the ComputerName key. When you start the system, theComputerName key gets copied to the ActiveComputerName key (which isvolatile and which provides the computername during that session). Thesetwo subkeys appear under the following Registry path:
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.
Entries under the following Registry path define basic display driverinformation used during system startup:
DriverEnabled REG_DWORD 0 or 1
LayeredDriver REG_SZ String
MaxClientCount REG_DWORD Number
These entries should be maintained only by the system.
GroupOrderList Control Entries
The entries in the GroupOrderList key specify the ordering of serviceswithin groups, under the following Registry path:
For a service listed under CurrentControlSet\Services, the value of theGroup entry plus any Tag entry determines the order in which the service isloaded. But not all services have a Tag entry, and not all groups have anentry in the GroupOrderList subkey. The ServiceGroupOrder subkey describedlater in this article specifies the order for loading groups. The entriesin the key are all of type REG_BINARY. These default entries define theorder within groups:
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 reportedunder the following Registry path:
All data types are REG_SZ. The following are the default entries:
\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 tokeyboard layout DLL names, under the Registry path:
The Keyboard Layout key is used by the system to determine which DLL toload. The mapping may contain duplicated keyboard layout DLL names if thatDLL implements the layout for more than one language (in other words, akeyboard layout may have more than one name). Individual preferences arestored 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 8hexadecimal digits representing a language ID (in the last four digits) anda 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 NTkeyboard layout names into MS-DOS-style two-character keyboard layout namesas used by the kb16 command (equivalent to keyb in MS-DOS). The system mustautomatically switch the VDM keyboard layout whenever the Windows NTkeyboard layout is changed. Entries are found under this Registry path:
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:
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 valuesdefined under the following Registry path:
These values should be maintained only by the system-errors may preventanyone from being able to log on to the computer.
Authentication Packages REG_MULTI_SZ Filenames
NetworkProvider Control Entries
Windows NT supports a common interface that allows networks from severaldifferent vendors (that is, network providers) to operate on a singlecomputer at the same time. The NetworkProvider subkey provides a list ofthe available network providers that use the Microsoft network-independentAPIs. The following value for the Order subkey appears under this Registrypath:
ProviderOrder REG_SZ Comma-separated list of keynames
Default: LanmanWorkstation (when a single network is installed)
Specifies the order for accessing available network providers, as definedby 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 fora service or driver that is associated with a particular network provider.The Services subkey associated with a network provider should contain aGroup entry with the value of NetworkProvider, and must also contain aNetworkProvider subkey with information for the Multiple Provider Router.For more information, see "NetworkProvider" in the "Registry Entries forNetwork Services" section later in this chapter.
Nls Control Entries
This key contains subkeys that define information for languages and codepages.
In the Code Page and Language subkeys, all code pages and languagessupported under Windows NT are listed, so applications can check these keysto find all "supported" languages. However, only the entries with filenamesin the data fields are actually installed in the system. So applicationsmust check the data fields to find out if a specific code page is actuallyinstalled in the system.
Nls Control CodePage Entries
The entries under the following Registry path identify the files foravailable code pages. If there is no value following the entry name, thatcode page is not installed in the system.
Each entry has the following format:
CodePageID REG_SZ Filename
As shown in the following list, 437=C_437.NLS indicates the file for codepage 437, and 1252=C_1252.NLS indicates the file for code page 1252, and soon. ACP is the default ANSI code page; OEMCP is the default OEM code page;and MACCP is the default Macintosh code page.
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=12521252=c_1252.nls 857= MACCP=10000 860= OEMCP=437
Nls Control Language Entries
The entries under the following Registry path identify the files foravailable languages. If there is no value following the entry name, thatlanguage is not installed in the system.
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.
Default: 0409 (the default language ID)0405=l_intl.nls 0414= l_intl.nls 0813=l_intl.nls0406= l_intl.nls 0415=l_intl.nls 0814=l_intl.nls0407=l_intl.nls 0416=l_intl.nls 0816=l_intl.nls0408= 0419=l_intl.nls 0c07=l_intl.nls0409=l_intl.nls 041b=l_intl.nls 28=l_intl.nls040a=l_intl.nls 041d=l_intl.nls 0c0a=l_intl.nls040b= l_intl.nls 041f= 0c0c=l_intl.nls040c=l_intl.nls 0807=l_intl.nls 1009=l_intl.nls040e=l_intl.nls 0809=l_intl.nls 100c=l_intl.nls040f=l_intl.nls 080a=l_intl.nls 1409=l_intl.nls0410=l_intl.nls 080c=l_intl.nls 1809=l_intl.nls0413=l_intl.nls 0810=l_intl.nls
Nls Control OEMLocale Entries
The following key, if present, can contain entries that an OEM adds tocustomize its locale:
This section of the Registry is only checked if a specific locale ID is notfound 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.
The PriorityControl key defines the foreground/background priority boostdifferential. Change this value by choosing the Tasking button in theSystem dialog box in Control Panel. Values are stored under this Registrypath:
Win32PrioritySeparation REG_DWORD 0, 1, or 2
Specifies the priority to give to the application running in the forground.This application receives more process or time relative to otherapplications running in the background. The values here correlate to thefollowing options in the Tasking dialog box:
0 Foreground and background applications equally responsive1 Foreground application more reponsive than background2 Best foreground application response time
ProductOptions Control Entries
The ProductOptions subkey contains miscellaneous information used by thesystem, under the following Registry path:
The following entry appears under this key.
ProductType REG_SZ Product name
Specifies the installed version of Windows NT as either WinNT (for WindowsNT) or LanmanNT (for Windows NT Advanced Server).
ServiceGroupOrder Control Entries
The ServiceGroupOrder key specifies the order to load various groups ofservices.
Order within groups is specified using the value of Tag under the specificServices subkeys and the values in the GroupOrderList subkey. For example,when you start Windows NT, the Boot Loader scans the Registry for driverswith a Start value of 0 (which indicates that these drivers should beloaded 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 inthe order specfied as the List value in the ServiceGroupOrder subkey.
List REG_MULTI_SZ Group names
Specifies the order for loading drivers into memory.
Default:SCSI miniportportPrimary diskSCSI classSCSI CDROMclass filterboot file systemBaseKeyboard PortPointer PortKeyboard ClassPointer ClassVideofile systemEvent logStreams DriversNDISTDINetBIOSGroupNetDDEGroupextended base network
Reference: "The Windows NT Resource Kit for Operating System Version 3.1".