REG: Device Driver Entries, PART 5Last reviewed: May 8, 1997Article ID: Q102992 |
The information in this article applies to:
Part 1: Device Driver Entries, containing:
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 EntriesUsually, 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 driverFor 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: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\SoundDriverName\ParametersThe 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 4Specifies 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_DWORDDefines the DMA channel settings for transferring digitized sound. Default: Depends on the sound card-not user-configurable.
Interrupt REG_DWORD Interrupt numberDefines the interrupt number used by the hardware. Default: 0xa (configured for Interrupt 10)
LeftLineInAtten REG_DWORD NumberSpecifies the current volume level of the left channel of the line-in input.
Port REG_DWORD AddressDefines the I/O port start address used to communicate with the hardware. Default: 0x220 for SNDBLST.SYS
RightLineInAtten REG_DWORD NumberSpecifies the current volume level of the right channel of the line-in input.
Video Device Driver EntriesThis 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 SubkeyThe hardware device mapping for video is under the following subkey: HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Video 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 deviceIndicates 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\Serivces\Vga\Device0 These values point to entries in the Services subkey, as described in the next section.
Video Driver Entries in the Services SubkeyThe 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: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \VideoDriverName\Device0The VideoDriverName subkeys for drivers in Windows NT include the following. This is not an exhaustive list: Ati ET4000 Jazzgxxx S3 Trident Vga Wdvga Xga For example, the following subkey contains information for the first logical device of type VGA: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vga\Device0 The following values can be set in a video driver subkey.
DefaultSettings.BitsPerPel REG_DWORD Number of bits per pixelContains 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 1Determines whether the mode requested by the user is interlaced. For example, for the v7vram miniport: DefaultSettings.Interlaced = 0x0 (FALSE)
DefaultSettings.VRefresh REG_DWORD Number HzContains 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 pixelsContains the width of the mode requested by the user. For example, for the et4000 miniport: DefaultSettings.Xresolution = 1024
DefaultSettings.YResolution REG_DWORD Number of pixelsContains the height of the mode requested by the user. For example, for the et4000 miniport: DefaultSettings.Yresolution = 768
DeviceData REG_BINARY Binary codeContains 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 namesContains 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 nameThis 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 1Determines 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.
Reference: "The Windows NT Resource Kit for Operating System Version 3.1".
|
Additional query words: prodnt wss
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |