Microsoft KB Archive/102988

From BetaArchive Wiki
Knowledge Base


REG: Device Driver Entries, PART 1

Article ID: 102988

Article Last Modified on 10/31/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 Q102988

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".


Additional query words: prodnt

Keywords: kbother KB102988