Previous Next

INF Models Section

[models-section-name] |
[models-section-name.TargetOSVersion]    (Windows XP and later)
 

device-description=install-section-name,hw-id[,compatible-id...]
[device-description=install-section-name,hw-id[,compatible-id]...] ...
 
 

A per-manufacturer Models section identifies at least one device, references the DDInstall section of the INF file for that device, and specifies a unique-to-the-INF hardware identifier for that device. Any entry in the per-manufacturer Models section also can specify one or more additional device IDs for models that are compatible with the device designated by the initial hardware ID and are controlled by the same drivers.

Each models-section-name must be listed in the INF Manufacturer section of the INF file. There can be one or more entries in any per-manufacturer Models section, depending upon how many devices (and drivers) the INF file installs for a particular manufacturer. For Windows XP and later, a models section name can include a TargetOSVersion decoration. For more information, see INF Manufacturer Section.

Each entry in a Models section is sometimes called a driver node.

Entry Values

device-description
Identifies a device to be installed, expressed as any unique combination of visible characters or as a %strkey% token defined in an INF Strings section.
install-section-name
Specifies the undecorated name of the INF install sections to be used for the device (and compatible models of device, if any). For more information, see INF DDInstall section.
hw-id
Specifies a vendor-defined hardware ID string that identifies a device, which the PnP Manager uses to find an INF-file match for this device. Such a hardware ID has one of the following formats:
enumerator\enumerator-specific-device-id
Is the typical format for individual PnP devices reported to the PnP Manager by a single enumerator. For example, USB\VID_045E&PID_00B identifies the Microsoft HID keyboard device on a USB bus. Depending on the enumerator, such a specification can even include the device's hardware revision number as, for example, PCI\VEN_1011&DEV_002&SUBSYS_00000000&REV_02.
*enumerator-specific-device-id
Indicates with the asterisk (*) that the device is supported by more than one enumerator. For example, *PNP0F01 identifies the Microsoft serial mouse, which also has a compatible-id specification of SERENUM\PNP0F01.
device-class-specific-ID
Is an I/O bus-specific format, as described in the hardware specification for the bus, for the hardware IDs of all peripheral devices on that type of I/O bus.

Note that a single device can have more than one hw-id value. The PnP Manager uses each such hw-id value, which is usually provided by the underlying bus when it enumerates its child devices, to create a subkey for each such device in the registry Enum branch. For manually installed devices, the system's setup code uses their hw-id values as specified in their respective INF files to create each such registry subkey.

compatible-id
Specifies a vendor-defined compatible ID string identifying compatible devices. Any number of compatible-id values can be specified for an entry in the Models section, each separated from the next by a comma (,). All such compatible devices and/or device models are controlled by the same driver as the device designated by the initial hw-id.

Comments

Each install-section-name must be unique within the INF and must follow the general rules for defining section names, described in General Syntax Rules for INF Files. The DDInstall section name referenced in a per-manufacturer Models section also can have extensions appended to the given install-section-name, thus defining additional DDInstall sections for the OS-specific or platform-specific installation of the given devices. For more information about using extensions in cross-platform and dual-OS files, see also Creating an INF File.

Any specified hw-id or compatible-id value can also be specified in the INF ControlFlags section to prevent that device from being displayed to the end user by the Add Hardware Wizard during manual installations. For more information about hw-id and compatible-id values, see Device Identification Strings.

For each device and driver installed using an INF file, the device installers use the information supplied in the INF Manufacturer section and per-manufacturer Models sections to generate Device Description, Manufacturer Name, Device ID if the installation is manual, and, possibly, Compatibility List value entries in the registry.

Example

This example shows a per-manufacturer Models section with some representative entries from the system mouse class installer's INF file, defining the DDInstall sections for some devices/models.

[Manufacturer]
%StdMfg%    =StdMfg         ; (Standard types)
%MSMfg%     =MSMfg          ; Microsoft
; ... %otherMfg% omitted here
 
[StdMfg]  ; per-Manufacturer Models section 
  ; Std serial mouse
%*pnp0f0c.DeviceDesc%= Ser_Inst,*PNP0F0C,SERENUM\PNP0F0C,SERIAL_MOUSE
  ; Std InPort mouse
%*pnp0f0d.DeviceDesc%      = Inp_Inst,*PNP0F0D
; ... more StdMfg entries 

See Also

ControlFlags, DDInstall, Manufacturer, Strings