!arbiter
A extensão !arbiter exibe os arbitradores de recursos do sistema atual e os intervalos arbitrados.
!arbiter [Flags]
Parâmetros
Sinalizadores
Especifica as classes de arbitradores que são exibidas. Se isso for omitido, todos os arbitradores serão exibidos. A combinação desses bits é livre.
Bit 0 (0x1)
Exibir arbitradores de E/S.
Bit 1 (0x2)
Exibir arbitradores de memória.
Bit 2 (0x4)
Exibir arbitradores IRQ.
Bit 3 (0x8)
Exibir arbitradores DMA.
Bit 4 (0x10)
Exibir arbitradores de número de barramento.
Bit 8 (0x100)
Não exiba aliases.
DLL
Kdexts.dll
Informações Adicionais
Consulte Depuração Plug and Play para aplicativos deste comando de extensão.
Comentários
Para cada arbitrador, !arbiter exibe cada intervalo alocado de recursos do sistema, alguns sinalizadores opcionais, a PDO anexada a esse intervalo (ou seja, o proprietário do intervalo) e o nome do serviço desse proprietário (se conhecido).
Os sinalizadores têm os seguintes significados:
Sinalizador | Significado |
---|---|
S |
O intervalo é compartilhado |
C |
Intervalo em conflito |
B |
O intervalo é alocado para inicialização |
D |
O intervalo é exclusiva do driver |
Um |
Alias de intervalo |
P |
Decodificação positiva do intervalo |
Este é um exemplo:
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 >
Neste exemplo, a penúltima linha mostra o intervalo de recursos (que consiste apenas em 0x1A3), o PDO de 0x80E52778 e o serviço de i8042prt.sys. Sem bandeira listada nesta linha.
Agora você pode usar !devobj com este endereço DOP para localizar a extensão do dispositivo e os endereços de nó do 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.