!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.