Microsoft KB Archive/102992
Article ID: 102992
Article Last Modified on 11/1/2006
- 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 Q102992
The article contains REGISTRY entries for Sound Card and Video Drivers. These subgroups are included:
- Sound Card Drivers
- Video Device Driver
- Video Information in the DeviceMap Subkey
- Video Device Entries in the Services Subkey
There are 5 parts to the Device Driver Entries article series:
Part 1: Device Driver Entries, containing:
- File System Drivers and Recognizers
- Disk, Serial and Parallel Ports
Part 2: Mouse and Keyboard Entries, containing:
- Microsoft Bus Mouse Port Driver
- Intel 8042 Port Driver
- Microsoft InPort Bus Mouse Port Driver
Part 3: Mouse and Keyboard Entries, cont'd, containing:
- Microsoft Serial Mouse Port Driver
- Mouse Class Driver
- Keyboard Class Driver
- Device Map Entries for the Keyboard and Mouse
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.
Sound Card Driver Entries
Usually, sound drivers consist of two parts: a front-end for installation and request processing, consisting of files such as SNDBLST.DLL or SYNTH.DLL; and a kernel driver for communicating with the hardware, consisting of files such as SNDBLST.SYS or SYNTH.SYS.
There is also a helper driver named MMDRV.DLL that transforms most low- level calls to Wave, MIDI, and AUX devices into calls to kernel mode drivers.
These are the installable sound kernel drivers for Windows NT:
Sound Driver Comment MIPSSND.SYS MIPS ARCSystem 100/150 built-in sound MVAUDIO.SYS Media Vision Pro Audio Spectrum 16 and Pro Studio 16 MVOPL3.SYS Synthesizer driver for Media Vision Pro Audio Spectrum 16 and Pro Studio 16 SNDBLST.SYS SoundBlaster 1.5 and compatibles SNDSYS.SYS Windows sound system and Compaq Business Audio SYNTH.SYS Ad Lib and OPL3 MIDI synthesizer driver
For each installed sound driver, several parameters are stored in the Registry, based on choices made by using the Drivers icon in Control Panel. The following shows the Registry path for sound system driver entries:
The actual key name in the Registry is the same as the filename of the related kernel driver. For example, for SNDBLST.SYS, the key name is Sndblst.
Some drivers can write over the values they receive on the basis of information read from the hardware. The following shows some typical values found in the Parameters subkey for sound cards:
Configuration Error REG_DWORD 0, 1, 2, 3, or 4 Specifies an error that occurred during install. This value is only relevant if the driver fails to load. (Not all drivers write this information into the Registry.) Value Meaning 0 Nonspecific error 1 Hardware not found (usually the wrong I/O port was assumed) 2 Specified interrupt was incorrect or did not work 3 Specified DMA channel was incorrect or did not work 4 Hardware is present but not working DmaChannel REG_DWORD Defines the DMA channel settings for transferring digitized sound. Default: Depends on the sound card-not user-configurable. Interrupt REG_DWORD Interrupt number Defines the interrupt number used by the hardware. Default: 0xa (configured for Interrupt 10) LeftLineInAtten REG_DWORD Number Specifies the current volume level of the left channel of the line-in input. Port REG_DWORD Address Defines the I/O port start address used to communicate with the hardware. Default: 0x220 for SNDBLST.SYS RightLineInAtten REG_DWORD Number Specifies the current volume level of the right channel of the line-in input.
Video Device Driver Entries
This section describes the entries for video device drivers under the DeviceMap subkey and under the CurrentControlSet\Services subkeys for specific video drivers.
Video Information in the DeviceMap Subkey -----------------------------------------
The hardware device mapping for video is under the following subkey:
This information is volatile and is reconstructed at startup by the video port driver. It can change from startup to startup based on external factors, such as failure to initialize a video adapter or the addition of other video cards to the system.
This subkey contains the mappings from Windows NT logical video devices to the physical device they represent in the CurrentControlSet\Services subkey. This mapping allows the system to find the right display driver for the currently installed video device.
%device_object_name% REG_SZ Registry path for device Indicates the first logical video device is the first physical adapter. For example, the following entry indicates that the first logical video device is the second physical XGA adapter: Video\Device0 = \Registry\Machine\CurrentControlSet\Services\XGA\Device1
In this example, the value indicates that the second logical video device is the first physical VGA adapter:
Video\Device1 = \Registry\Machine\CurrentControlSet\Services\Vga\Device0
These values point to entries in the Services subkey, as described in the next section.
Video Driver Entries in the Services Subkey -------------------------------------------
The port driver portion of the video driver is hardware-independent and contains operating system-specific code. Therefore, the port driver, VIDEOPRT.SYS, can support one or more video devices. The Services\Videoprt subkey has no added parameters, and its standard entries are:
Value Entry Default value ErrorControl 0x1 (Normal) Group Video Start 0x1 (system) Type 0x1 (Kernel driver)
The specific subkey for each video driver contains all the information required to initialize and program the device properly. If several adapters can be handled by a single driver, the subkeys Device1, Device2, and so on will contain information for the other devices. The Registry path looks like this, where VideoDriverName is the name of a specific video device driver:
The VideoDriverName subkeys for drivers in Windows NT include the following. This is not an exhaustive list:
For example, the following subkey contains information for the first logical device of type VGA:
The following values can be set in a video driver subkey.
DefaultSettings.BitsPerPel REG_DWORD Number of bits per pixel Contains the number of colors for the mode requested by the user. For example, for the v7vram miniport, the following value yields a 256-color mode: DefaultSettings.BitsPerPel = 8 DefaultSettings.Interlaced REG_DWORD 0 or 1 Determines whether the mode requested by the user is interlaced. For example, for the v7vram miniport: DefaultSettings.Interlaced = 0x0 (FALSE) DefaultSettings.VRefresh REG_DWORD Number Hz Contains the refresh rate of the mode requested by the user. For example, for the et4000 miniport: DefaultSettings.VRefresh = 72 DefaultSettings.XResolution REG_DWORD Number of pixels Contains the width of the mode requested by the user. For example, for the et4000 miniport: DefaultSettings.Xresolution = 1024 DefaultSettings.YResolution REG_DWORD Number of pixels Contains the height of the mode requested by the user. For example, for the et4000 miniport: DefaultSettings.Yresolution = 768 DeviceData REG_BINARY Binary code Contains binary data specific to the Windows display driver. For example, for the VGA miniport: DeviceData = 05a0 5075 8ef0 8456 c8dd InstalledDisplayDrivers REG_MULTI_SZ Driver names Contains a list of names of display drivers that can function with this miniport, depending on which mode is selected by the user.
NOTE: Display driver names do not contain the .DLL filename extension.
The system attempts to initialize the adapter by calling each display driver, using the user-selected parameter. If the combination of display driver and monitor do not support the mode requested by the user, the display driver fails to initialize and the system tries the next display driver. If all display drivers fail to initialize, the system calls the first display driver again to set the adapter to any mode it can.
For example, for the et4000 miniport:
InstalledDisplayDrivers = "vga" "vga256" "vga64k"
For the S3 miniport:
InstalledDisplayDrivers = "s3"
Monitor REG_SZ Monitor name This entry is reserved to contain the name of the VESA VDIF monitor information file for the monitor connected to the adapter. No such files are provided with Windows NT in the current version.
If a file is supplied and a value is added, the miniport can load this file to determine the exact timings of the monitor connected to the physical device.
For example, for the XGA miniport, if a NEC4FS monitor was attached to the XGA card:
Monitor = "NEC4fg.vdb"
VgaCompatible REG_DWORD 0 or 1 Determines whether the driver supports all of the VGA functionality required to perform full-screen operations.
If this value is 1, the driver supports full-screen applications in x86- based computers. If this value is 0, the VGA miniport (described under the Vga subkey) will also be used to enable and disable full-screen modes for non-Windows applications.
As a rule, all drivers for SVGA adapters should set this value to 1, because they must implement all the VGA functionality to perform extended save/restore of all registers. A video accelerator designed as an accelerator working independently of the VGA miniport (via pass-through) can set this to 0 and let the VGA miniport do all the full-screen work.
For example, for the et4000 miniport:
VgaCompatible = 0x1 (TRUE)
For the S3 miniport:
VgaCompatible = 0x0 (FALSE)
This functionality is not required for other computer platforms, such as RISC-based computers, because the VDM sessions are emulated using NTVDM.EXE, and there are no full-screen sessions.
None of the DefaultSettings.xxx values should be read by the miniport directly -that is, using VideoPortGetRegistry() parameters. All the DefaultSettings.xxx values are only to be read by the window manager and are passed in a DEVMODE structure to the display driver. It is up to the Windows display driver to match these settings with the modes returned by the miniport driver.
The Windows NT Resource Kit for Operating System Version 3.1.
Additional query words: prodnt wss
Keywords: kbother KB102992