You want to know what the parameters and data in INF files mean.
The different sections of device INF files and their significance to configuring device and driver installations are listed in brief excerpts from Microsoft's documentation below. The sections may appear in any order in an INF file.
Version
-
This is a required section for every INF file and must contain a valid Signature entry for use with Windows XP.
SourceDisksNames
-
This section identifies the individual source distribution disks or CD-ROM disks for the installation, and is required if a corresponding SourceDisksFiles section exists.
SourceDisksFiles
-
This section identifies the locations of files to be installed.
ClassInstall32
-
This section, required in any class installer INF file, initializes a device setup class. This section is not required in INF files that install devices and their drivers under any system-defined device class.
ClassInstall32.Services
-
ClassInstall32.Services with an AddService directive control how and when the services of a particular device class are loaded.
DestinationDirs
-
The DestinationDirs section specifies a default destination directory for files to be copied during installation.
ControlFlags
-
ControlFlags specify whether the Add Hardware Wizard will present a list of device make and model values. If the device being installed is a Plug and Play device, the wizard does not present a list.
Manufacturer
-
The Manufacturer section contains the list of device model information.
Models (per Manufacturer entry)
-
Models establishes a reference between the name of the device, device ID, and the related DDInstall section of the INF file.
DDInstall (per Models entry)
-
DDInstall indicates the driver to be installed.
DDInstall.Services
-
DDInstall.Services controls starting and establishes dependencies of services related to a device.
DDInstall.HW
-
DDInstall.HW adds or removes Registry entries related to a device.
DDInstall.CoInstallers
-
DDInstall.CoInstallers registers additional device installers related to a device.
DDInstall.FactDef
-
DDInstall.FactDef lists the default hardware configuration I/O addressing, IRQ and DMA settings for non-Plug and Play devices.
DDInstall.LogConfigOverride
-
DDInstall.LogConfigOverride provides an override to the default configuration of a Plug and Play device.
DDInstall.Interfaces
-
DDInstall.Interfaces indicates the export of functionality to other device classes.
InterfaceInstall32
-
InterfaceInstall32 establishes a set of device interfaces for a new device class.
DefaultInstall
-
This section is given control if you select Install after right-clicking an INF file.
DefaultInstall.Services
-
The DDInstall.Services section is related to the DefaultInstall section.
Strings
-
Strings supports localization of INF files.
[Version]
[Provider=%INF-creator%]
-
This is an optional entry used to indicate the source or author of the INF file.
AddReg and DelReg
-
These are used to specify Registry keys to be added or deleted.
CopyFiles
-
By reference to file-list-sections or to a single file, CopyFiles specifies copying a file or files from the installation media to a destination.
DelFiles
-
By reference to file-list-sections or to a single file, DelFiles specifies deleting a file or files from a specific location.
RenFiles
-
By reference to file-list-sections or to a single file, RenFiles specifies renaming a file or files from a specific location.
AddService
-
AddService references the service-install-section for adding services related to the item being installed.
DelService
-
DelService deletes a previously installed service.
AddInterface
-
AddInterface refers to AddReg entries for a device/driver or additional operations.
BitReg
-
BitReg refers to specific bit entries in Registry values to be modified.
LogConfig
-
LogConfig refers to bus configuration items supplied by Plug and Play devices or specific to non-Plug and Play devices.
UpdateInis
-
UpdateInis indicates specific changes to an associated INI file.
UpdateIniFields
-
This rarely used directive references one or more update-INI-fields-sections specifying modifications to be made on fields within the lines of an INI file.
Ini2Reg
-
This rarely used directive references one or more ini-to-registry-sections specifying lines or sections of an INI file to be written into the Registry.
Working with INF files is seldom if ever addressed in the resolution of specific hardware problems, but if you are creating your own device drivers or troubleshooting an installation problem, knowing the meaning of INF file parameters and data variables can be quite valuable. If you are creating your own data CDs that you want to auto-run an installation script or auto-play a specific media file, you will want to become familiar with the simple constructs in AUTORUN.INF files, covered in Recipe 3.25.
A good layman's discussion of the AUTORUN.INF file can be found at http://autorun.moonvalley.com/autoruninf.htm, as well as at the official Microsoft developer references, http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/ shell_basics/shell_basics_extending/autorun/autoplay_cmds.asp.