Condividi tramite


!arbitro

L'estensione !arbiter visualizza gli arbitri delle risorse di sistema correnti e gli intervalli abitrati.

    !arbiter [Flags] 

Parametri

Bandiere
Specifica quali classi di arbitri vengono visualizzate. Se omesso, vengono visualizzati tutti gli arbitri. Questi bit possono essere combinati liberamente.

Bit 0 (0x1)
Visualizzare gli arbitri di I/O.

Bit 1 (0x2)
Visualizzare gli arbitri di memoria.

Bit 2 (0x4)
Visualizzare gli arbitri IRQ.

Bit 3 (0x8)
Visualizzare gli arbitri DMA.

Bit 4 (0x10)
Visualizzare l'arbitro del numero di autobus.

Bit 8 (0x100)
Non visualizzare alias.

DLL

Kdexts.dll

Informazioni aggiuntive

Vedere Debug di Plug and Play per le applicazioni di questo comando di estensione.

Osservazioni:

Per ogni arbiter, !arbiter visualizza ogni intervallo allocato di risorse di sistema, alcuni flag facoltativi, il PDO associato a tale intervallo (in altre parole, il proprietario dell'intervallo) e il nome del servizio di questo proprietario (se noto).

I flag hanno i significati seguenti:

Flag significato

S

Intervallo condiviso

A

Intervallo in conflitto

G

L'intervallo è allocato all'avvio

D

Range è esclusivo del driver

Un

Alias di intervallo

P

Decodifica positiva dell'intervallo

Ecco un esempio:

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 >

In questo esempio, la riga successiva all'ultima riga mostra l'intervallo di risorse (costituito da 0x1A3 da solo), l'oggetto PDO di 0x80E52778 e il servizio di i8042prt.sys. Nessun flag è elencato in questa riga.

È ora possibile usare !devobj con questo indirizzo PDO per trovare gli indirizzi dell'estensione del dispositivo e dei nodi del dispositivo:

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.