!arbiter

L’extension !arbiter affiche les arbitres de ressources système actuels et les plages arbitrées.

    !arbiter [Flags] 

Paramètres

Drapeaux
Spécifie les classes d’arbitres affichées. S’il est omis, tous les arbitres sont affichés. Ces octets peuvent être librement combinés.

Bit 0 (0x1)
Afficher les arbitres d’E/S.

Bit 1 (0x2)
Afficher les arbitres de mémoire.

Bit 2 (0x4)
Afficher les arbitres IRQ.

Bit 3 (0x8)
Afficher les arbitres DMA.

Bit 4 (0x10)
Afficher les arbitres de numéros de bus.

Bit 8 (0x100)
N’affichez pas d’alias.

DLL

Kdexts.dll

Informations supplémentaires

Consultez Débogage Plug-and-Play pour les applications de cette commande d’extension.

Notes

Pour chaque arbitre, !arbiter affiche chaque plage allouée de ressources système, certains indicateurs facultatifs, l’objet PDO attaché à cette plage (en d’autres termes, le propriétaire de la plage) et le nom du service de ce propriétaire (le cas échéant).

Les indicateurs ont la signification suivante :

Indicateur Signification

S

La plage est partagée

C

La plage est en conflit

G

La plage est allouée au démarrage

D

La plage est exclusive au pilote

A

Alias de plage

P

Décodage positif de plage

Voici un exemple :

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 >

Dans cet exemple, la ligne suivante à la dernière ligne montre la plage de ressources (qui se compose d’0x1A3 seule), l’opération PDO de 0x80E52778 et le service de i8042prt.sys. Aucun indicateur n’est répertorié sur cette ligne.

Vous pouvez maintenant utiliser !devobj avec cette adresse PDO pour rechercher l’extension d’appareil et les adresses de nœud d’appareil :

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.