Components of a Driver Package

The following components are necessary to install and support a device on a Windows operating system:

The device itself
If you plan to design and build a new device, follow industry hardware standards. When you follow these standards, you are more likely to have a streamlined development process as well as lower your support costs. Not only do test suites exist for such devices, but, in many cases, generic drivers exist for standard types. Therefore, you might not have to write a new driver.

The driver package for the device
A driver package includes all the software components that you must supply to ensure that your device is supported with Windows. Typically, a driver package contains the following components:

  • Driver files

  • Installation files

  • Other files

A brief description of each component of a driver package follows.

Driver Files

The driver is the part of the package that provides the I/O interface for a device. Typically, a driver is a dynamic-link library (DLL) with the .sys file name extension. Long file names are allowed, except for boot-start drivers. When a device is installed, Windows copies the .sys file to the %SystemRoot%\system32\drivers directory.

The software that is required to support a particular device depends on the features of the device and the bus or port to which it connects. Microsoft ships drivers for many common devices and nearly all buses with the operating system. If your device can be serviced by one of these drivers, you might have to write only a device-specific minidriver. A minidriver handles device-specific features on behalf of a system-supplied driver. For some types of devices, even a minidriver is not necessary. For example, modems can typically be supported with just installation files.

Installation Files

In addition to the device and the driver, a driver package also contains one or more of the following files that provide driver installation:

Other Files

A driver package can also contain other files, such as a device installation application, a device icon, device property pages, and so forth. For more information, see the following topics:

Providing Icons for a Device

Installing a Boot-Start Driver