The article contains REGISTRY entries for Device Drivers, Part 1. These
subgroups are included:
- 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
There are 5 parts to the Device Driver Entries article series:
- 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
NOTE: You can view current settings for these device drivers by choosing
the Devices button in WinMSD.
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)
The Registry path for settings that control file system drivers is the
following, where DriverName is the file system driver minus the filename
extension:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName
The standard entries for the file system drivers are:
Value Entry Default value
-----------------------------
ErrorControl 0x1 (Normal)
Group Boot file system
Start 0x4 (disabled)
Type 0x2 (file system driver)
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:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RecognizerName
The standard entries for the file system recognizers are:
Value Entry Default value
-----------------------------
ErrorControl 0 (startup halts)
Group Boot file system
Start 0x1 (system)
Type 0x8 (file system recognizer)
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:
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.
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:
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
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:
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 PORTS
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.
SerialX REG_SZ A string, typically COMy
HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\Serialcomm
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.
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
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.
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: 0
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.
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
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.
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: 0
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.
ForceFifoEnable REG_DWORD 0 or 1
Default: 1
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:
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".