The software required to support a particular device depends on the kind of device and the ways in which the device is used. Typically, a vendor provides the following software in a driver package to support a device:
An INF file contains information that the system Setup components use to install support for the device. Setup copies this file to the %windir%\inf directory when it installs the driver. This file is required.
For more information, see Creating an INF file.
A .sys file is the driver’s image file. Setup copies this file to the %windir%\system32\drivers directory when the driver is installed. Drivers are required for most devices. For more information, see Determining Device-Specific Driver Requirements.
A driver catalog file contains digital signatures. All driver packages should be signed.
A vendor gets digital signatures by submitting its driver package to the Windows Hardware Quality Lab (WHQL) for testing and signing. WHQL returns the package with a catalog file (.cat file). For more information, see WHQL Digital Signatures.
A co-installer is a Win32® DLL that assists in device installation. For example, an IHV might provide a co-installer to write device-specific information to the registry that cannot be handled by the INF. Co-installers are optional. For more information, see Writing a Co-installer.
A driver package can contain other files, such as a Custom Device Installation Application, a device icon, a driver library file (for example, for video drivers), and so forth. For more information, see:
Writing a Device Installation Application
Providing Device Property Pages
Drivers with Special Installation Requirements
Also, see the device type-specific documentation in this DDK.