Device Driver Tools and Settings

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Device Driver Tools and Settings

In this section

  • Device Driver Tools

  • Device Driver Registry Entries

  • Device Driver Group Policy Settings

  • Device Driver WMI Classes

  • Related Information

This section describes tools, registry entries, Group Policy settings, and Windows Management Instrumentation (WMI) classes associated with device drivers.

Device Driver Tools

The following tools are associated with device drivers.

ChkINF.exe: INF File Syntax Checker

Category

ChkINF.exe ships with the Windows Driver Development Kit.

Version compatibility

Windows 2000, Windows XP, and Windows Server 2003

ChkINF checks the structure and syntax of Windows Server 2003 driver .inf files. Results are presented in HTML format and include a list of the errors and warnings detected in each .inf file, with each error and warning shown next to the errant .inf file entry.

DevCon.exe: Device Console

Category

Device Console ships with the Windows Driver Development Kit.

Version compatibility

Windows 2000, Windows XP, and Windows Server 2003

Device Console (Devcon) is a command-line tool that displays detailed information about devices and lets you search for and manipulate devices from the command line. Devcon enables, disables, installs, configures, and removes devices on the local computer and displays detailed information about devices on local and remote computers.

For more information about Devcon.exe and the syntax used to carry out commands, see the Windows Driver Development Kit.

GenINF.exe: INF File Creation Wizard

Category

GenINF ships with the Windows Driver Development Kit.

Version compatibility

GenINF generates .inf files for Windows 2000, Windows XP, and Windows Server 2003.

GenINF is a GUI-based tool that guides users through the process of creating device driver .inf files. GenINF does not generate fully valid .inf files. However, the skeleton .inf files that it generates should help developers complete their device driver .inf files.

GenINF is located in the \Tools subdirectory of the DDK installation directory. Because GenINF is GUI-based, you can execute it from within the Windows Server 2003 user interface or from the command prompt. The command to start GenINF takes no arguments. GenINF supports all device classes but includes specific support for only certain device classes. For a list of these classes, see the Geninf.htm file located in the Tools\geninf subdirectory of the DDK.

For more information about GenINF.exe, see the Windows Driver Development Kit.

SigVerif.exe: File Signature Verification

Category

Operating system tool

Version compatibility

Windows XP, Windows 2000, and Windows Server 2003

File Signature Verification checks to see which system files and device driver files are digitally signed and displays its findings. If you have enabled logging, the search results are also written to a log file.

Device Driver Registry Entries

The following registry entries are associated with device drivers.

The information here is provided as a reference for use in troubleshooting or verifying that the required settings are applied. It is recommended that you do not directly edit the registry unless there is no other alternative. Modifications to the registry are not validated by the registry editor or by Windows before they are applied, and as a result, incorrect values can be stored. This can result in unrecoverable errors in the system. When possible, use Group Policy or other Windows tools — such as Microsoft Management Console (MMC), Device Manager, or the software that accompanies a device — to accomplish tasks rather than editing the registry directly. If you must edit the registry, use extreme caution.

Note

  • Because many of the device driver subkeys and registry entries are hardware-specific, the following section contains only a partial list of registry keys and entries.

Enum

This registry key is located at HKEY_LOCAL_MACHINE\SOFTWARE\Enum.

This class key stores the enumeration information for Plug and Play devices. Under Enum, each enumerator gets its own branch, with one child under the enumerator for each device it has ever enumerated and set up. There is a special enumerator branch, Enum\Root; this branch contains registry entries for legacy hardware that is not Plug and Play for which there is no enumerator but that can be detected using other means. Device Installer creates new registry entries when an enumerator detects a device for which there is no registry entry.

Class

The following registry entries are located under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class.

The Class subkey stores configuration data for classes of hardware devices displayed in Device Manager.

Each subkey in the Class subkey represents a device class and is named by the globally unique identifier (GUID) for the class: a 16-byte value generated from the unique identifier on a device, the current date and time, and a sequence number. A GUID is used to identify a particular device or component.

{Class-GUID}

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class

Version

Microsoft Windows NT 4.0 Server and Windows NT 4.0 Workstation and later

The {Class-GUID} subkey represents the component associated with the class-GUID.

Each {Class-GUID} subkey in the Class subkey represents a device class and is named by the GUID for the class, which is a 16-byte value generated from the unique identifier on a device, the current date and time, and a sequence number. A GUID identifies a particular device or component.

It appears as a 16-digit alphanumeric string within curly braces. These {Class-GUID} subkeys store configuration data that apply to the entire class of devices, such as the class of all modems.

Within the {Class-GUID} subkeys are 4-digit numbered subkeys, which represent particular devices that are instances of the class. These subkeys store data that apply only to that device.

Because the Class subkey is hardware-specific, its contents vary widely and it is dependent upon the devices installed on a system.

Services

This registry key is located at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.

Services registry keys and entries define background operations by device drivers or other tasks. The Services key includes a number of subkeys for such services as ACPI or Plug and Play. Registry entries for each subkey vary, but each subkey may include some of the following registry entries.

Description

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Text field that displays the description of the service.

DisplayName

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Text field that displays the default service name.

ErrorControl

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Tells the system how to boot if a device driver fails. The following table lists the accepted values for this registry entry.

ErrorControl Values

Value Description

00

Ignore. If the driver fails to load or initialize, then startup continues as normal and no warning message appears.

01

Normal. If the driver fails to load or initialize, then startup proceeds, but a warning message appears.

02

Severe. If the driver fails to load or initialize, then startup is declared to have failed and restarts by using the LastKnownGood control set. If startup is already using the LastKnownGood control set, then startup continues

03

Critical. If the driver fails to load or initialize, then startup is declared to have failed and restarts by using the LastKnownGood control set. If startup is already using the LastKnownGood control set, then startup stops and enters Debugging Mode.

Group

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Specifies which group the service belongs to when a service is started

ImagePath

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Location of Services Control Manager, which uses the information located in the subkeys to initialize the services. The default path is %SystemRoot%\system32\services.exe.

Start

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Determines when a service should be started on a system. The following table lists the accepted values for this registry entry.

Start Values

Value Description

00

Boot. Starts the service during the boot sequence.

01

System. Starts the service when loaded by the I/O subsystem in the kernel.

02

Automatic. Starts the service automatically.

03

Manual. Starts the service when a user initiates it from the control panel or a command line.

04

Disable. Loads the service, but neither the system nor a user can start it.

Type

Registry path

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subkey

Version

Windows XP, Windows 2000, Windows Server 2003

Identifies the type of service. The following table lists the accepted values for this registry entry.

Type Values

Value Description

01

Kernel-mode device driver

02

File system driver

04

Network adapter

10

Win32 service that can run as a standalone process

20

Win32 service that shares address space with other services at the same time

Device Driver Group Policy Settings

The following table lists and describes the Group Policy settings that are associated with device drivers.

Group Policy Settings Associated with Device Drivers

Group Policy Setting Description

Administrator_Power_Policy

Defines limits to certain power policy values that are applied globally to all users' power schemes.

Global_Machine_Power_Policy

Contains global computer power policy settings that apply to all power schemes for all users.

Global_Power_Policy

Contains global power policy settings that apply to all power schemes.

Global_User_Power_Policy

Contains global user power policy settings that apply to all power schemes.

Machine_Power_Policy

Contains computer power policy settings that are unique to each power scheme on the computer.

Machine_Processor_Power_Policy

Contains processor power policy settings that apply while the system is running on AC power or battery power.

Power_Action_Policy

Contains information used to set the system power state.

Power_Policy

Contains power policy settings that are unique to each power scheme.

Processor_Power_Policy

Contains information about processor performance control.

Remove Computer from Docking Station

Determines whether a user can undock a portable computer from its docking station without logging on. If this policy is set, the user must log on before removing the portable computer from its docking station. If this policy is not set, the user can remove the portable computer from its docking station without logging on.

Allow undock without having to log on

Determines whether a user must log on to request that a portable computer be removed from a docking station. If this policy is not set, the user must log on to request an undock, at which time the user must have been granted the Remove Computer from Docking Station privilege. If this policy is set, a user can request an undock by pressing the portable computer's physical eject button.

Allowed to format and eject removable media

Determines who is allowed to format and eject removable NTFS media. This capability can be given to Administrators, Administrators and Power Users, or Administrators and Interactive Users.

Prevent users from installing printer drivers

Determines who is allowed to install a printer driver as part of adding a network printer. For a computer to print to a network printer, the driver for that network printer must be installed on the local computer. If this policy is set, only Administrators and Power Users can install a printer driver as part of adding a network printer. If this policy is not set, any user can install a printer driver as part of adding a network printer. You can use this setting to prevent unprivileged users from downloading and installing an untrusted printer driver.

Restrict CD-ROM access to locally logged-on user

Determines whether a CD-ROM is accessible to both local and remote users simultaneously. If this policy is set, it allows only the interactively logged-on user to access removable CD-ROM media. If this policy is set and no one is logged on interactively, the CD-ROM can be accessed over the network.

Restrict floppy access to locally logged-on user only

Determines whether removable floppy media are accessible to both local and remote users simultaneously. If this policy is set, it allows only the interactively logged-on user to access removable floppy media. If this policy is set and no one is logged on interactively, the floppy can be accessed over the network.

Unsigned driver installation behavior

Determines what happens when an attempt is made to install a device driver (by means of Setup API) that has not been certified by the Windows Hardware Quality Lab (WHQL).

Device Driver WMI Classes

The Windows Server 2003 Driver Development Kit (DDK) covers WMI classes that are associated with device drivers. For more information about the Windows Server 2003 device driver classes, see "Microsoft Windows Driver Development Kits" on the Microsoft Web site.

WMI Classes Associated with Device Drivers

Class Name Namespace Version Compatibility

WMIBinaryMofResource

\root\wmi

Windows XP, Windows 2000 Professional, Windows Server 2000, Windows NT Server 4.0 SP4 and later, Windows Server 2003

The following resources contain additional information that is relevant to this section.