创建标准资源映射

如果多功能设备的 INF 包含 INF DDInstall.LogConfigOverride 节,则父资源隐式编号为 00 到 nn ,因为它们显示在 INF 的 log-config-section 部分 (请参阅 INF LogConfig 指令) 。 例如,请考虑具有以下 INF DDInstall 的多功能电脑卡。LogConfigOverride 部分:

[DDInstall.LogConfigOverride]
LogConfig = DDInstall.Override0
 
[DDInstall.Override0]    ;com2
IOConfig=2f8-2ff                      ; resource 00
IOConfig=20@100-FFFF%FFE0             ; resource 01
IRQConfig=3,4,5,7,9,10,11             ; resource 02
MemConfig=4000@0-FFFFFFFF%FFFFC000    ; resource 03
PcCardConfig=41:100000(W)             ; resource 04

此示例中的设备有五个资源,编号为 00 到 04。 如果有多个 DDInstallLogConfigOverride 部分,资源必须按每个部分的相同顺序列出。

如果一个子函数 (Child0000) 需要上面列出的第一个和第三个资源,则此子项的资源映射将为:00,02。 如果另一个子函数 (Child00001) 需要所有五个资源,则其资源映射将为:00,01,02,03,04。 在此示例中,资源 00 (IoConfig=2f8-2ff) 和 02 (IRQConfig=3,4,5,7,9,10,11) 共享。 这些资源映射将在 INF 中指定,如下所示:

[DDInstall.RegHW]
    ; for each "child" function list hardware ID and resource map
HKR,Child0000,HardwareID,,child0000-hardware-ID
HKR,Child0000,ResourceMap,1,00,02                 ; map for Child0000
HKR,Child0001,HardwareID,,child0001-hardware-ID
HKR,Child0001,ResourceMap,1,00,01,02,03,04        ; map for Child0001

ResourceMap 参数后面的“1”指定注册表项是REG_BINARY数据类型。 “1”后面的数字是资源映射值。

如果没有 DDInstallINF 中的 LogConfigOverride 部分,父资源按基础总线的驱动程序构造资源要求的顺序进行编号。 对于电脑卡,总线驱动程序按以下顺序报告资源:IRQ、I/O 端口、内存地址。 对于多个 I/O 和内存要求,它们的编号顺序与卡上的元组相同。 其他总线驱动程序可能会按其他顺序列出资源。