Share via


!arbiter

!arbiter拡張機能には、現在のシステム リソース アービターとアービト範囲が表示されます。

    !arbiter [Flags] 

パラメーター

フラグ
表示されるアービターのクラスを指定します。 省略すると、すべてのアービターが表示されます。 これらのビットは自由に組み合わせることができます。

ビット0 (0x1)
I/O アービタを表示します。

ビット 1 (0x2)
メモリ アービターを表示します。

ビット 2 (0x4)
IRQ アービタを表示します。

ビット 3 (0x8)
DMA アービタを表示します。

ビット 4 (0x10)
バス番号アービターを表示します。

ビット 8 (0x100)
エイリアスは表示しません。

DLL

Kdexts.dll

追加情報

この拡張コマンドプラグ アンド プレイアプリケーションのデバッグを参照してください。

解説

各アービターについて、!arbiterは、割り当てられた各システム リソース スコープ、いくつかのオプションのフラグ、そのスコープに接続されている PDO (つまり、スコープ所有者 vi)、およびこの所有者のサービス名 (既知の場合) を示します。

フラグには次の意味があります:

フラグ 意味

S

範囲が共有されている

C

競合する範囲

B

範囲がブート割り当て済みである

D

範囲はドライバー専用です

A

範囲のエイリアス

P

範囲正デコード

例を次に示します。

kd> !arbiter 4

DEVNODE 80e203b8 (HTREE\ROOT\0)
  Interrupt Arbiter "" at 80167140
    Allocated ranges:
      0000000000000000 - 0000000000000000   B   80e1d3d8 
      0000000000000001 - 0000000000000001   B   80e1d3d8 
 .....
      00000000000001a2 - 00000000000001a2    
        00000000000001a2 - 00000000000001a2  CB   80e1d3d8 
        00000000000001a2 - 00000000000001a2  CB   80e52538  (Serial)
      00000000000001a3 - 00000000000001a3       80e52778  (i8042prt)
      00000000000001b3 - 00000000000001b3       80e1b618  (i8042prt)
 Possible allocation:
      < none >

この例では、次から最後の行に、リソース範囲 (0x1A3のみで構成されます)、0x80E52778の PDO、およびi8042prt.sysのサービスを示します。 この行にはフラグは表示されません。

これで、この PDO アドレスで !devobjを使用して、デバイス拡張機能とデバイス ノード のアドレスを見つけることができます。

kd> !devobj 80e52778
Device object (80e52778) is for:
 00000034 \Driver\PnpManager DriverObject 80e20610
Current Irp 00000000 RefCount 1 Type 00000004 Flags 00001040
DevExt 80e52830 DevObjExt 80e52838 DevNode 80e52628 
ExtensionFlags (0000000000)  
AttachedDevice (Upper) 80d78b28 \Driver\i8042prt
Device queue is not busy.