次の方法で共有


標準リソース マップの作成

多機能デバイスの INF に INF DDInstall.LogConfigOverride セクションが含まれている場合、親リソースには、INF の log-config-section セクションに表示される 00 から nn までの暗黙的な番号が付けられます (INF LogConfig ディレクティブを参照)。 たとえば、次の INF DDInstall.LogConfigOverride セクションを備えた多機能 PC カードについて考えてみます。

[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

この例のデバイスには 5 つのリソースがあり、番号は 00 から 04 です。 複数の DDInstall.LogConfigOverride セクションがある場合、各セクションでリソースを同じ順序で一覧表示する必要があります。

1 つの子関数 (Child0000) で上記の最初と 3 番目のリソースが必要な場合、この子のリソース マップは 00,02 になります。 別の子関数 (Child00001) で 5 つのリソースすべてが必要な場合、そのリソース マップは 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" の後の数値は、リソース マップの値です。

INFに DDInstall.LogConfigOverride セクションがない場合、親リソースには、基になるバスのドライバーによってリソース要件が構築される順序で番号が付けられます。 PC カードの場合、バス ドライバーは IRQ、I/O ポート、メモリ アドレスという順序でリソースを報告します。 複数の I/O とメモリの要件では、カードのタプルと同じ順序で番号が付けられます。 他のバス ドライバーでは、他の順序でリソースが一覧表示される場合があります。