Udostępnij przez


Tworzenie standardowych map zasobów

Jeśli plik INF urządzenia wielofunkcyjnego zawiera sekcję INF DDInstall.LogConfigOverride, zasoby główne są niejawnie numerowane od 00 do nn, zgodnie z ich występowaniem w sekcjach log-config pliku INF (zobacz "INF LogConfig Directive" ). Rozważmy na przykład wielofunkcyjną kartę PC z następującą funkcją INF DDInstall. Sekcja 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

Urządzenie w tym przykładzie ma pięć zasobów, które są ponumerowane od 00 do 04. Jeśli istnieje więcej niż jedna sekcja DDInstall.LogConfigOverride, zasoby muszą być wymienione w tej samej kolejności w każdej sekcji.

Jeśli jedna funkcja podrzędna (Child0000) wymaga pierwszych i trzecich zasobów wymienionych powyżej, mapa zasobów dla tego elementu podrzędnego będzie następująca: 00 02. Jeśli inna funkcja podrzędna (Child00001) wymaga wszystkich pięciu zasobów, jej mapa zasobów to 00 01 02 03 04. W tym przykładzie zasoby 00 (IoConfig=2f8-2ff) i 02 (IRQConfig=3,4,5,7,9,10,11) są współużytkowane. Te mapy zasobów zostałyby określone w INF w następujący sposób:

[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

Wartość "1" po parametrze ResourceMap określa, że wpis rejestru jest typem danych REG_BINARY. Liczby następujące po wartościach "1" są wartościami mapy zasobów.

Jeśli w INF nie ma sekcji DDInstall.LogConfigOverride, zasoby nadrzędne są numerowane w kolejności, w jakiej wymagania dotyczące zasobów są konstruowane przez sterownik dla magistrali bazowej. W przypadku kart PC Sterownik magistrali zgłasza zasoby w następującej kolejności: IRQ, porty we/wy, adresy pamięci. W przypadku wielu wymagań dotyczących I/O i pamięci, są one numerowane w tej samej kolejności co krotki na karcie. Inni kierowcy autobusów mogą wyświetlać listę zasobów w innej kolejności.