INF DDInstall.FactDef Section

[install-section-name.FactDef] |
[install-section-name.nt.FactDef] | 
[install-section-name.ntx86.FactDef] | 
[install-section-name.ntia64.FactDef] |  (Windows XP and later versions of Windows)
[install-section-name.ntamd64.FactDef]  (Windows XP and later versions of Windows)
 
ConfigPriority=Priority-Value
[DMAConfig=[DMAattrs:]DMANum]
[IOConfig=io-range]
[MemConfig=mem-range]
[IRQConfig=[IRQattrs:]IRQNum]
... 

Description

This section should be used in an INF for any manually installed non-PnP device that an end-user might install with the Add Hardware Wizard. This section specifies the factory-default hardware configuration settings, such as the bus-relative I/O ports and IRQ (if any), for such a card.

Entries

ConfigPriority=Priority-Value

Specifies one of the following priority values for this factory-default logical configuration.

Priority valueMeaning
FORCECONFIGSpecifies a forced configuration, which identifies the resources that the PnP manager must assign to a device.
DESIREDProvides the highest device performance. The PnP manager can dynamically configure the device with this configuration.
NORMALProvides greater device performance than SUBOPTIMAL, but less performance than DESIRED. This is the typical priority value. The PnP manager can dynamically configure the device with this configuration.
SUBOPTIMALProvides the lowest device performance. This configuration is not desirable, but it will work. The PnP manager can dynamically configure this configuration.
RESTARTRequires a system restart.
REBOOTRequires a system restart.
POWEROFFRequires a power cycle.
HARDRECONFIGRequires a jumper change.
HARDWIREDCannot be changed.
DISABLEDIndicates that the device is disabled.

 

DMAConfig=[DMAattrs:]DMANum

Specifies the bus-relative DMA channel as a decimal number. DMAattrs is optional if the device is connected on a bus that has only 8-bit DMA channels and the device uses standard system DMA. Otherwise, it can be one of the letters D for 32-bit DMA, W for 16-bit DMA, and N for 8-bit DMA, with M if the device uses bus-master DMA, and with one of the following (mutually exclusive) letters that indicate the type of DMA channel used: A, B, or F. If none of A, B, or F is specified, a standard DMA channel is assumed.

IOConfig=io-range

Specifies the I/O port range for the device in the following form:

start-end[([decode-mask][:alias-offset][:attr])]

start

Specifies the (bus-relative) starting address of the I/O port range as a 64-bit hexadecimal value.

end

Specifies the ending address of the I/O port range, also as a 64-bit hexadecimal value.

decode-mask

Defines the alias type and can be any of the following.

Mask valueMeaningIOR_Alias value
3ff10-bit decode0x04
fff12-bit decode0x10
ffff16-bit decode0x00
0Positive decode0xFF

 

alias-offset

Not used.

attr

Specifies the letter M if the specified range is in system memory. If omitted, the specified range is in I/O port space.

MemConfig=mem-range

Specifies the memory range for the device in the following form:

start-end[(attr)]

start

Specifies the starting (bus-relative) address of the device memory range as a 64-bit hexadecimal value.

end

Specifies the ending address of the memory range, also as a 64-bit hexadecimal value.

attr

Specifies the attributes of the memory range as one or more of the following letters:

  • R (read-only)
  • W (write-only)
  • RW (read/write)
  • C (combined write allowed)
  • H (cacheable)
  • F (prefetchable)
  • D (card decode addressing is 32-bit, instead of 24-bit)

If both R and W are specified or if neither is specified, read/write is assumed.

IRQConfig=[IRQattrs:]IRQNum

Specifies the bus-relative IRQ that the device uses as a decimal number. IRQattrs is omitted if the device uses a bus-relative, edge-triggered IRQ. Otherwise, specify L to indicate a level-triggered IRQ, and LS if the device can share the IRQ line listed in this entry.

Remarks

The specified DDInstall section must be referenced in a device-specific entry under the per-manufacturer Models section of the INF file. The case-insensitive extensions to the install-section-name shown in the formal syntax statement can be inserted into such a DDInstall.FactDef section name in cross-operating system and/or cross-platform INF files. For more information about these system-defined extensions, see Creating an INF File.

This section must contain complete factory-default information for installing one device. The INF should specify this set of entries in the order best suited to how the driver initializes its device. If necessary, it can have more than one of any particular kind of entry.

For example, the INF for a device that used two DMA channels would have two DMAConfig= lines in its DDInstall.FactDef section. From this section, the Add Hardware Wizard builds binary logical configuration records and stores them in the registry.

The INF files of manually installed devices for which the factory-default logical configuration settings can be changed should also use the LogConfig directive in their DDInstall sections. In general, such an INF should specify the entries in each of its log config sections and in its DDInstall.FactDef section in the same order.

Examples

This IOConfig entry specifies an I/O port region, 8 bytes in size, which can start at 2F8.


IOConfig=2F8-2FF

This MemConfig entry specifies a memory region of 32K bytes that can start at D0000.


MemConfig=D0000-D7FFF

See also

DDInstall
LogConfig

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft