Поделиться через


!арбитр

Расширение !arbiter отображает текущие системные arbiters и диапазоны арбитража.

    !arbiter [Flags] 

Параметры

Флаги
Указывает, какие классы арбитеров отображаются. Если опущено, отображаются все arbiters. Эти биты можно объединять свободно.

Bit 0 (0x1)
Отображение arbiters ввода-вывода.

Бит 1 (0x2)
Отображение arbiters памяти.

Бит 2 (0x4)
Отображение arbiters IRQ.

Бит 3 (0x8)
Отображение arbiters DMA.

Бит 4 (0x10)
Отображение arbiters номера шины.

Бит 8 (0x100)
Не отображайте псевдонимы.

DLL-библиотеки

Kdexts.dll

Дополнительная информация

См. самонастраивающийся отладку приложений этой команды расширения.

Замечания

Для каждого arbiter !arbiter отображает каждый выделенный диапазон системных ресурсов, некоторые необязательные флаги, PDO, присоединенные к этому диапазону (другими словами, владелец диапазона) и имя службы этого владельца (если известно).

Флаги имеют следующие значения:

Флаг Значение

S

Диапазон общий

C

Диапазон в конфликте

Б

Диапазон выделен загрузочным

D

Диапазон является драйвером эксклюзивным

а

Псевдоним диапазона

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 только), PDO 0x80E52778 и службы i8042prt.sys. В этой строке нет флагов.

Теперь вы можете использовать !devobj с этим адресом PDO, чтобы найти адреса расширения устройства и узла устройства:

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.