Поделиться через


Создание стандартных карт ресурсов

Если INF многофункционального устройства содержит раздел INF DDInstall.LogConfigOverride, родительские ресурсы неявно нумеруются от 00 до nn, так как они перечисляются в разделах log-config-section INF (см. директиву 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. Если существует несколько разделов DDInstall.LogConfigOverride, ресурсы должны быть перечислены в одном порядке в каждом разделе.

Если для одной дочерней функции (Child0000) требуются первые и третие ресурсы, перечисленные выше, схема ресурсов для этого дочернего объекта будет иметь значение 000 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

Значение "1" после параметра ResourceMap указывает, что запись реестра является REG_BINARY типом данных. Цифры, указанные ниже "1", являются значениями карты ресурсов.

Если в INF нет разделов DDInstall.LogConfigOverride, подчиненные ресурсы нумеруются в том порядке, в котором требования к ресурсам создаются драйвером для базовой шины. Для PC-карт драйвер шины сообщает ресурсы в следующем порядке: IRQ, порты ввода-вывода, адреса памяти. Для различных требований по вводу-выводу и памяти они нумеруются в том же порядке, что и кортежи на карте. Другие водители автобусов могут перечислять ресурсы в другом порядке.