INF DDInstall.FactDef 部分

注意

从 Windows 11 版本 22H2 开始,使用此部分的驱动程序包不再符合从硬件开发人员中心获得签名的条件。

通用驱动程序包Windows 驱动程序 不能使用此部分。

本部分应在 INF 中用于最终用户可能安装的任何手动安装的非 PnP 设备。 此部分制定此类卡的出厂默认硬件配置设置,如总线相关 I/O 端口和 IRQ(如有)。

[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)
[install-section-name.ntarm.FactDef] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.FactDef] (Windows 10 version 1709 and later versions of Windows)
 
ConfigPriority=Priority-Value
[DMAConfig=[DMAattrs:]DMANum]
[IOConfig=io-range]
[MemConfig=mem-range]
[IRQConfig=[IRQattrs:]IRQNum]

条目

ConfigPriority=Priority-Value
为出厂默认逻辑配置指定以下优先级值之一。

优先级值 含义
FORCECONFIG 指定强制配置,它标识了 PnP 管理器必须分配给设备的资源。
DESIRED 提供最高的设备性能。 PnP 管理器可使用此配置来动态配置设备。
NORMAL 提供比 SUBOPTIMAL 更高的设备性能,但性能低于 DESIRED。 这是典型的优先级值。 PnP 管理器可使用此配置来动态配置设备。
SUBOPTIMAL 提供最低的设备性能。 这种配置并不可取,但也行得通。 PnP 管理器可动态配置此配置。
RESTART 需要重启系统。
REBOOT 需要重启系统。
POWEROFF 需要重启。
HARDRECONFIG 需要更改跳线。
HARDWIRED 无法更改。
DISABLED 指示设备处于禁用状态。

DMAConfig=[DMAattrs:]DMANum
以十进制数指定总线相关 DMA 通道。 如果设备连接在只有 8 位 DMA 通道的总线上,并且设备使用标准系统 DMA,则 DMAattrs 为可选项。 否则,对于 32 位 DMA,它可以是 D 字母之一;对于 16 位 DMA,它可以是 W 字母之一;而对于 8 位 DMA,它可以是 N 字母之一;如果设备使用总线主 DMA,它可以是 M 字母之一;如果设备使用总线主 DMA,它可以是下列(互斥)字母之一,这些字母表示所使用的 DMA 通道类型:ABF。如果没有指定 ABF,则假定使用标准 DMA 通道。

IOConfig=io-range
以下列形式指定设备的 I/O 端口范围:

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

start 以 64 位十六进制值指定 I/O 端口范围的(总线相关)起始地址。

end 指定 I/O 端口范围的结束地址,也是一个 64 位十六进制值。

decode-mask 定义别名类型,可以是以下任何一种。

掩码值 含义 IOR_Alias 值
3ff 10 位解码 0x04
fff 12 位解码 0x10
ffff 16 位解码 0x00
0 正解码 0xFF

alias-offset
未使用。

attr
如果指定范围在系统内存中,则指定字母 M。 如果省略,则指定范围为 I/O 端口空间。

MemConfig=mem-range
以下列形式指定设备的内存范围:

start-end[(attr)]

start 以 64 位十六进制值指定设备内存范围的起始(总线相关)地址。

end 指定内存范围的结束地址,也是 64 位十六进制值。

attr
用以下一个或多个字母指定内存范围的属性:

  • R(只读)
  • W(只写)
  • RW(读取/写入)
  • C(允许合并写入)
  • H(可缓存)
  • F(可预提取)
  • D(卡片解码寻址为 32 位,而不是 24 位)

如果同时指定 RW 或两者均未指定,则假定为读取/写入。

IRQConfig=[IRQattrs:]IRQNum
以十进制数字指定设备使用的总线相关 IRQ。 如果设备使用总线相关、边缘触发的 IRQ,则省略 IRQattrs。 否则,请指定 L 表示电平触发的 IRQ,如果设备可以共享此条目中列出的 IRQ 线路,则指定 LS 表示电平触发的 IRQ。

注解

必须在 INF 文件的每制造商 Models 部分下的设备特定条目中引用指定的 DDInstall 部分。 可以将正式语法语句中显示的 install-section-name 的不区分大小写的扩展插入到跨操作系统和/或跨平台 INF 文件中的此类 DDInstall.FactDef 部分名称中。 有关这些系统定义扩展的详细信息,请参阅创建 INF 文件

本部分必须包含安装一台设备的完整出厂默认信息。 INF 应按照最适合驱动程序初始化设备的顺序来指定这组条目。 如果有必要,它可以有多个特定类型的条目。

例如,使用两个 DMA 通道的设备的 INF 将在其 DDInstall.FactDef 部分中包含两行 DMAConfig= 行。

可更改出厂默认逻辑配置设置的手动安装设备的 INF 文件也应在其 DDInstall 部分使用 LogConfig 指令。 一般来说,此类 INF 应按相同顺序指定其每个日志配置部分和 DDInstall.FactDef 部分中的条目。

示例

IOConfig 条目指定了一个 8 字节大小的 I/O 端口区域,可以从 2F8 开始。

IOConfig=2F8-2FF

MemConfig 条目指定了一个 32K 字节的内存区域,可以从 D0000 开始。

MemConfig=D0000-D7FFF

另请参阅

DDInstall

LogConfig