INF DDInstall.FactDef 部分
本部分应在 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 管理器必须分配给设备的资源。 |
期望 | 提供最高的设备性能。 PnP 管理器可以使用此配置动态配置设备。 |
NORMAL | 提供比 SUBOPTIMAL 更高的设备性能,但性能低于 DESIRED。 这是典型的优先级值。 PnP 管理器可以使用此配置动态配置设备。 |
理想 | 提供最低设备性能。 此配置不可取,但它将有效。 PnP 管理器可以动态配置此配置。 |
RESTART | 需要重启系统。 |
REBOOT | 需要重启系统。 |
POWEROFF | 需要一个电源周期。 |
HARDRECONFIG | 需要更改跳线。 |
HARDWIRED | 无法更改。 |
DISABLED | 指示设备已禁用。 |
DMAConfig=[DMAattrs:]DMANum
将总线相对 DMA 通道指定为十进制数。 如果设备在只有 8 位 DMA 通道的总线上连接,并且设备使用标准系统 DMA,则 DMAattrs 是可选的。 否则,对于 32 位 DMA ,它可以是字母 D,W 表示 16 位 DMA,N 表示 8 位 DMA,如果设备使用总线主 DMA,则其为 M ,以及以下 (互斥) 字母之一,这些字母指示所使用的 DMA 通道的类型: A、 B 或 F。如果未指定 A、 B 或 F ,则假定使用标准 DMA 通道。
IOConfig=io-range
按以下形式指定设备的 I/O 端口范围:
start-end[([decode-mask][:alias-offset][:attr])]
开始 将 I/O 端口范围的 (总线相对) 起始地址指定为 64 位十六进制值。
结束 指定 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)]
开始 将设备内存范围的起始 (总线相对) 地址指定为 64 位十六进制值。
结束 指定内存范围的结束地址,也指定为 64 位十六进制值。
attr
将内存范围的属性指定为以下一个或多个字母:
- R (只读)
- W (只写)
- RW (读/写)
- C (允许合并写入)
- H (可缓存)
- F (预提取)
- D (卡 解码寻址是 32 位,而不是 24 位)
如果同时指定 了 R 和 W ,或者两者均未指定,则假定为读/写。
IRQConfig=[IRQattrs:]IRQNum
指定设备用作小数的总线相对 IRQ。 如果设备使用相对于总线的边缘触发 IRQ,则省略 IRQattrs。 否则,请指定 L 以指示级别触发的 IRQ;如果设备可以共享此条目中列出的 IRQ 行,则指定 LS 。
注解
指定的 DDInstall 节必须在 INF 文件的“按制造商 型号 ”部分下的特定于设备的条目中引用。 可以将正式语法语句中显示的 install-section-name 不区分大小写的扩展插入到此类 DDInstall 中。跨操作系统和/或跨平台 INF 文件中的 FactDef 节名称。 有关这些系统定义的扩展的详细信息,请参阅 创建 INF 文件。
本部分必须包含用于安装一台设备的完整出厂默认信息。 INF 应按照最适合驱动程序初始化其设备的方式的顺序指定这组条目。 如有必要,它可以具有任意特定类型的多个条目。
例如,使用两个 DMA 通道的设备 INF 在其 DDInstall 中有两个 DMAConfig= 行。FactDef 部分。
可以更改出厂默认逻辑配置设置的手动安装设备的 INF 文件还应在其 DDInstall 部分中使用 LogConfig 指令。 一般情况下,此类 INF 应在其每个日志配置节及其 DDInstall 中指定条目。FactDef 节的顺序相同。
示例
此 IOConfig 条目指定 I/O 端口区域,大小为 8 字节,可以从 2F8 开始。
IOConfig=2F8-2FF
此 MemConfig 条目指定 32K 字节的内存区域,可以从 D0000 开始。
MemConfig=D0000-D7FFF
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈