Generic DIFx Driver Package Requirements
The DIFx tools require that supported driver packages comply with the following:
The driver signing requirements and related installation considerations that are described in DIFx Installation Guidelines. By default, driver packages must comply with driver signing requirements. However, be aware that the DIFx tools can also be configured to install unsigned driver packages in legacy mode. In legacy mode, the DIFx tools will also install driver packages with missing files.
Except for Plug and Play (PnP) function driver packages, the INF Version section of a driver package must include a DriverPackageType entry that specifies the driver package type. If a DriverPackageType entry is not present, the default driver package type is a PnP function driver.
The DIFx tools do not require that a PnP function driver package include a DriverPackageType entry to ensure that the tools support existing PnP function driver packages. However, we recommend that the INF Version section of a new PnP function driver package also include a DriverPackageType entry. If a DriverPackageType entry is present, but it does not specify one of the supported driver package types, the DIFx tools will not install the driver package.
For more information about how to specify a DriverPackageType entry, see Specifying the Driver Package Type.
The INF Version section should include a Provider entry that identifies the creator of the INF file and must include a DriverVer entry that specifies the driver version. The INF Version section should also include a DriverPackageDisplayName entry that describes the purpose of the driver package to end-users.
The INF Version section of a signed driver package must include a CatalogFile entry that specifies the file name of the catalog file that is used as the digital signature for the driver package.
The following code example shows an INF Version section that contains a Provider entry, a CatalogFile entry, a DriverPackageType entry, a DriverPackageDisplayName entry, and a DriverVer entry for a fictitious PnP toaster device.
[Version] ... Provider=%PROV% CatalogFile=toaster.cat DriverPackageType=PlugAndPlay DriverPackageDisplayName=%DESC% DriverVer=12/24/2004,220.127.116.11 . . . [Strings] PROV = "Fabrikam, Inc." DESC = "Toaster Model T1000 Driver"
For general information about INF files, see General Guidelines for INF Files.
For information about specific INF file entries, see INF File Sections and Directives.