This article was previously published under Q102988
The article contains REGISTRY entries for Device Drivers, Part 1. These
subgroups are included:
The Registry path for settings that control file system drivers is the
following, where DriverName is the file system driver minus the filename
extension:
The standard entries for the file system drivers are:
The file system recognizer determines whether the file system should be
loaded. The Registry path for file system recognizers is the following,
where RecognizerName is the file system driver minus the filename
extension:
The standard entries for the file system recognizers are:
The file system drivers and recognizers do not add any additional Registry
entries besides the standard entries described in the
"CurrentControlSet\Services Subkeys Entries" articles.
Note: If CONVERT.EXE has been used to convert the file system on a hard disk drive, this value is added to CurrentControlSet\Control\SessionManager so that conversion occurs when the system is restarted:
The entries in this portion of the Registry contain data discovered by the
Hardware Recognizer or provided from the ARC database that describes
controllers for hard disks, display devices, the keyboard, pointing
devices, and serial and parallel ports. Administrators cannot usefully
modify entries in the Hardware key. This data is volatile (destroyed and
recreated each time the system starts) and is useful only for informational
purposes. You can use WinMSD to view this information in a more usable
format.
Each subkey contains information in this format:
The following samples from the MultifunctionAdapter subkeys describe a system that has a keyboard, a Microsoft InPort bus mouse or Microsoft Mouse Port mouse, and a Microsoft serial mouse (on COM1), all connected to the ISA bus. This sample is for informational purposes only, since these subkeys are volatile and are therefore recreated each time you start Windows NT.
In the following example, the Identifier value specifies the keyboard type name, which is typically PCAT_ENHANCED to indicate a 101/102-key enhanced keyboard. The keyboard type name is mainly informational, since the actual keyboard type and subtype are retrieved from the keyboard-specific data in Configuration Data.
NOTE: The Abiosdsk driver has no Hardware key and no parameters that users can set under CurrentControlSet\Services.
The following Registry path can contain subkeys named Controllerx, where x starts at 0 and increases:
These Controllerx subkeys are created for each non-SCSI hard disk
controller on the system. As with all hardware data, these subkeys are
volatile and so are recreated each time you start the system.
Under the Controllerx subkeys are subkeys named Disky, where y starts at 0 (zero) and increases. These subkeys are created for each actual disk controlled by the particular controller. Under the Disky subkeys are the following value entries, which can be extremely helpful in reporting disk problems:
The standard entries for AtDisk under the CurrentControlSet\Services subkey are:
Specifies that the Windows NT Parallel device X is the actual device for the MS DOS name LPTy. These value entries are used to determine all the parallel ports available on the system.
Specifies that the Windows NT Serial device X is the actual device for the MS DOS name COMy. These value entries are used to determine all the communication ports available on the system.
Subkeys and values under the Parallel subkey can be used to configure
parallel (printer) ports in addition to information that the Hardware
Detector finds at system startup.
This can also be used to override values determined by the Hardware Detector. If the PortAddress value entry is the same as a system-detected port, this data in the current control set will be used instead of the data found by the system. Entries appear in the System log in Event Viewer if this is occurring.
The Parallel subkey contains a subkey named Parameters, under which is a set of subkeys typically named Parallelx where x is some whole number. A system administrator must place these subkeys and values into the Registry. There exists no tool other than Registry Editor to define and manipulate these values.
For example, under the Parallel2 subkey, the following value entries can appear.
The first two of these value entries are required. If the section does not include both, the port is not configured and an error appears in the System log in Event Viewer. If an entry is placed into the Registry with just these values, the port will be driven using polling algorithms.
These values are optional:
If the value is a 1, the device will be deleted after the port is reset during initialization. No access to the port will be allowed.
The standard entries for the Parallel subkey are:
Subkeys and values under the CurrentControlSet\Services subkey can be used
to configure serial ports in addition to information that the Hardware
Detector finds at system startup. This can also be used to override values
determined by the Hardware Detector. If the PortAddress value entry is the
same as a system-detected port, this data in the current control set will
be used instead of the data found by the system. Entries appear in the
System log in Event Viewer if this is occurring.
The Serial subkey contains a subkey named Parameters, under which is a set of subkeys typically named SerialX where X is a whole number. A system administrator must place these subkeys and values into the Registry. You can only define and manipulate these values by using Registry Editor.
For example, under the Serial2 subkey, the following value entries can appear.
The first three of these value entries are required. If the subkey does not include all three, the port is not configured, and an error appears in the System log in Event Viewer.
Interrupt REG_DWORD A hex value Denotes the IRQ that the particular device would interrupt on. A typical Interrupt value in this case would be 0x4.
These entry values are optional:
If the value is 1, the device will be deleted after the port is reset during initialization. No access to the port will be allowed.
If the value is 1 and the hardware supports a FIFO buffer (for example, the NS 16550AFN), the driver enables the FIFO. Not all FIFOs are reliable. If the application or the user notices lost data or no data transmission, it is recommended that this value be set to 0.
The standard entries for the Serial subkey are:
At least the following two additional value entries are used for each port on the multiport card. Each of these two entries must be included for each port of the multiport board under subkey entries in CurrentControlSet\Services:
Certain multiport boards, such as Digiboard non-MCA bus cards, use a different scheme to determine which port is interrupting. These boards should include the following value entry in the configuration data:
For detailed examples describing entries for four-port and eight-port communications boards, see "Controlling Multiport Serial I/O Cards" in Chapter 13 of the "Windows NT Resource Kit," "Configuration Management and the Registry."
Reference: "The Windows NT Resource Kit for Operating System Version 3.1".
- File System Drivers and Recognizers
- Disk, Serial and Parallel Ports
- Description Entries for Adapters
- DeviceMap Subkey Entries for AtDisk
- DeviceMap Subkey Entries for Serial and Parallel Ports
- Parallel Subkey Entries in the Services Subkey
- Serial Subkey Entries in the Services Subkey
- Multiport Serial I/O Card Entries in the Services Subkey
- Part 1: Device Driver Entries
- Part 2: Mouse and Keyboard Entries
- Part 3: Mouse and Keyboard Entries, cont'd
- Part 4: SCSI Miniport Entries
- Part 5: Sound Card and Video Device Driver Entries
FILE SYSTEM DRIVERS AND RECOGNIZERS
Each file system supported by Windows NT is made up of three components: the file system driver, the file system utility DLL, and the file system recognizer used during startup to determine the file systems present on the system. All necessary elements and settings are recognized automatically by Windows NT. You can configure file system drivers by choosing the Devices icon in Control Panel.File system driver File System and recognizer ---------------------------------------------------- Cdfs and Cdfs_Rec Compact disc file system (CDFS) Fastfat and Fat_Rec File Allocation Table (FAT) Ntfs and Ntfs_Rec Windows NT file system (NTFS) Pinball and HPFS_Rec High-performance file system (HPFS)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName
Value Entry Default value ----------------------------- ErrorControl 0x1 (Normal) Group Boot file system Start 0x4 (disabled) Type 0x2 (file system driver)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RecognizerName
Value Entry Default value ----------------------------- ErrorControl 0 (startup halts) Group Boot file system Start 0x1 (system) Type 0x8 (file system recognizer)
Note: If CONVERT.EXE has been used to convert the file system on a hard disk drive, this value is added to CurrentControlSet\Control\SessionManager so that conversion occurs when the system is restarted:
BootExecute = autocheck autoconv \Dos\Devices\x: /FS:NTFS
DISK, SERIAL, AND PARALLEL PORT ENTRIES
This section provides general information about the Description entries for adapters in the Hardware key. Then specific information is presented about the DeviceMap subkey entries for AtDisk and for serial and parallel ports. Finally, Services subkey entries for parallel and serial ports are described, including specific entries for multiport serial I/O cards.Description Entries for Adapters
The following shows the path for all MultifunctionAdapter entries:HKEY_LOCAL_MACHINE\HARDWARE\Description\System \MultifunctionAdapter\0\ControllerName\0.
Each subkey contains information in this format:
Component Information REG_BINARY System-defined
Identifies version information plus other data for the associated subkey entry.Configuration Data REG_UNKNOWN System-defined
Contains binary information related to the hardware component, such as I/O port addresses and IRQ number. This entry is not present if no such data is available for a particular subkey.Identifier REG_SZ Device type name
Contains the name of a component, if specified.The following samples from the MultifunctionAdapter subkeys describe a system that has a keyboard, a Microsoft InPort bus mouse or Microsoft Mouse Port mouse, and a Microsoft serial mouse (on COM1), all connected to the ISA bus. This sample is for informational purposes only, since these subkeys are volatile and are therefore recreated each time you start Windows NT.
In the following example, the Identifier value specifies the keyboard type name, which is typically PCAT_ENHANCED to indicate a 101/102-key enhanced keyboard. The keyboard type name is mainly informational, since the actual keyboard type and subtype are retrieved from the keyboard-specific data in Configuration Data.
HKEY_LOCAL_MACHINE\HARDWARE\Description\System\MultifunctionAdapter \0\KeyboardController\0\KeyboardPeripheral\0
Configuration Data : REG_UNKNOWN : Device data (keyboard type, subtype)
Identifier : REG_SZ : PCAT_ENHANCED
The following two examples show typical Identifier values for two basic types of pointer devices. For the first example, the Identifier value for the pointer type name can also be MICROSOFT PS2 MOUSE (also known as the Mouse Port mouse) or MICROSOFT BUS MOUSE under this subkey:HKEY_LOCAL_MACHINE\HARDWARE\Description\System\MultifunctionAdapter \0\PointerController\0\PointerPeripheral\0
Identifier : REG_SZ : MICROSOFT INPORT MOUSE
This example shows a typical entry for a serial mouse, under this subkey:HKEY_LOCAL_MACHINE\HARDWARE\Description\System\MultifunctionAdapter \0\SerialController\0\PointerPeripheral\0
Identifier : REG_SZ : MICROSOFT SERIAL MOUSE
DeviceMap Subkey Entries for AtDisk
AtDisk is the driver for non-SCSI hard disk controllers on x86-based computers.NOTE: The Abiosdsk driver has no Hardware key and no parameters that users can set under CurrentControlSet\Services.
The following Registry path can contain subkeys named Controllerx, where x starts at 0 and increases:
HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\AtDisk
Under the Controllerx subkeys are subkeys named Disky, where y starts at 0 (zero) and increases. These subkeys are created for each actual disk controlled by the particular controller. Under the Disky subkeys are the following value entries, which can be extremely helpful in reporting disk problems:
Firmware revision REG_SZ Free format
Defined by the disk manufacturer to identify the version of the on-board code used to control the disk.Identifier REG_SZ Free format
Defined by the disk manufacturer to identify the make and model of the disk.Number of cylinders REG_DWORD A hex value
The number of cylinders on the drive.Number of heads REG_DWORD A hex value
The number of heads on the drive.Sectors per track REG_DWORD A hex value
The number of sectors that exist on a track. These are typically 512-byte sectors.The standard entries for AtDisk under the CurrentControlSet\Services subkey are:
Value entry Default value ----------------------------- ErrorControl 0 (startup halts) Group Primary disk Start 0x0 (boot) Tag 0x2 Type 0x1 (Kernel driver)
DeviceMap Subkey Entries for Serial and Parallel Ports
Remember that the entries in HKEY_LOCAL_MACHINE\HARDWARE are recreated each time the system is started. The entries in these subkeys are described here for informational purposes only.ParallelX REG_SZ A string, typically LPTy
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL PORTSSpecifies that the Windows NT Parallel device X is the actual device for the MS DOS name LPTy. These value entries are used to determine all the parallel ports available on the system.
SerialX REG_SZ A string, typically COMy
HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\SerialcommSpecifies that the Windows NT Serial device X is the actual device for the MS DOS name COMy. These value entries are used to determine all the communication ports available on the system.
Parallel Subkey Entries in the Services Subkey
The following subkeys and values can be found under the following key:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Parallel
This can also be used to override values determined by the Hardware Detector. If the PortAddress value entry is the same as a system-detected port, this data in the current control set will be used instead of the data found by the system. Entries appear in the System log in Event Viewer if this is occurring.
The Parallel subkey contains a subkey named Parameters, under which is a set of subkeys typically named Parallelx where x is some whole number. A system administrator must place these subkeys and values into the Registry. There exists no tool other than Registry Editor to define and manipulate these values.
For example, under the Parallel2 subkey, the following value entries can appear.
The first two of these value entries are required. If the section does not include both, the port is not configured and an error appears in the System log in Event Viewer. If an entry is placed into the Registry with just these values, the port will be driven using polling algorithms.
DosDevices REG_SZ Free-form string
Specifies the name used to access the parallel port from the command prompt or from within an application. A typical value would be LPT3.PortAddress REG_DWORD A hex value
Denotes the address of the first register of the parallel port. A typical PortAddress in this case would be 0x278.These values are optional:
DisablePort REG_DWORD 0 or 1
Default: 0If the value is a 1, the device will be deleted after the port is reset during initialization. No access to the port will be allowed.
Interrupt REG_DWORD A hex value
Denotes the IRQ that the particular device would interrupt on. A typical Interrupt value in this case would be 0x5.The standard entries for the Parallel subkey are:
Value entry Default value ---------------------------- ErrorControl 0 (startup halts) Group Extended base Start 0x2 (autoload) Type 0x1 (Kernel device driver)
Serial Subkey Entries in the Services Subkey
The following subkeys and values can be found under the following key:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serial
The Serial subkey contains a subkey named Parameters, under which is a set of subkeys typically named SerialX where X is a whole number. A system administrator must place these subkeys and values into the Registry. You can only define and manipulate these values by using Registry Editor.
For example, under the Serial2 subkey, the following value entries can appear.
The first three of these value entries are required. If the subkey does not include all three, the port is not configured, and an error appears in the System log in Event Viewer.
DosDevices REG_SZ Free-form string
Specifies the name used to access the communication port from the command prompt or from within an application. A typical value would be COM3.Interrupt REG_DWORD A hex value Denotes the IRQ that the particular device would interrupt on. A typical Interrupt value in this case would be 0x4.
PortAddress REG_DWORD A hex value
Denotes the address of the first register of the serial device. A typical PortAddress in this case would be 0x3e8.These entry values are optional:
DisablePort REG_DWORD 0 or 1
Default: 0If the value is 1, the device will be deleted after the port is reset during initialization. No access to the port will be allowed.
ForceFifoEnable REG_DWORD 0 or 1
Default: 1If the value is 1 and the hardware supports a FIFO buffer (for example, the NS 16550AFN), the driver enables the FIFO. Not all FIFOs are reliable. If the application or the user notices lost data or no data transmission, it is recommended that this value be set to 0.
The standard entries for the Serial subkey are:
Value entry Default value ----------------------------- ErrorControl 0 (startup halts) Group Extended base Start 0x2 (autoload) Type 0x1 (Kernel device driver)
Multiport Serial I/O Card Entries in the Services Subkey
In addition to controlling the standard serial ports included with most PCs, the Microsoft serial driver can be used to control many dumb multiport serial cards. Dumb denotes that the control includes no onboard processor.At least the following two additional value entries are used for each port on the multiport card. Each of these two entries must be included for each port of the multiport board under subkey entries in CurrentControlSet\Services:
InterruptStatus REG_DWORD A hex value
Denotes the address of the interrupt status register that indicates which port on the multiport card is actually requesting an interrupt. To determine the appropriate value, consult the manufacturer's installation guide.PortIndex REG_DWORD A hex value
Denotes which port on the card this information is for. These values start at 1 and increase. Typically these would be the same as the values inscribed on the connector for the multiport.Certain multiport boards, such as Digiboard non-MCA bus cards, use a different scheme to determine which port is interrupting. These boards should include the following value entry in the configuration data:
Indexed REG_DWORD Should be 1
Denotes that this board uses an indexed interrupt notification scheme as opposed to a bitmapped method. To determine whether this entry should be included, consult the board's manufacturer.For detailed examples describing entries for four-port and eight-port communications boards, see "Controlling Multiport Serial I/O Cards" in Chapter 13 of the "Windows NT Resource Kit," "Configuration Management and the Registry."
Reference: "The Windows NT Resource Kit for Operating System Version 3.1".