!объект
Расширение !object отображает сведения о системном объекте.
!object Address [Flags]
!object Path
!object 0 Name
!object -p
!object {-h|-?}
Параметры
Адрес
Если первый аргумент является шестнадцатеричным числом ненулевого, он указывает шестнадцатеричный адрес отображаемого системного объекта.
Флаги
Указывает уровень детализации в выходных данных команды.
Задайте флаги битовой или из следующих значений:
0x0
Отображение типа объекта.
0x1
Отображение типа объекта, имени объекта и счетчиков ссылок.
0x8
Отображение содержимого каталога объекта или целевого объекта символьной ссылки. Этот флаг действует только в том случае, если 0x1 также задано.
0x10
Отображение необязательных заголовков объектов.
0x20
Отображение полного пути к именованном объекту. Этот флаг действует только в том случае, если 0x1 также задано.
Параметр Flags является необязательным. Значение по умолчанию — 0x9.
Путь
Если первый аргумент начинается с обратной косой черты (), !object интерпретирует его как имя пути объекта. Если этот параметр используется, отображение будет упорядочено в соответствии со структурой каталогов, используемой диспетчером объектов.
Имя
Если первый аргумент равен нулю, второй аргумент интерпретируется как имя класса системных объектов, для которых отображаются все экземпляры.
-p
Отображение пространств имен частных объектов.
{-h|-?}
Отображение справки по этой команде.
DLL-библиотеки
Kdexts.dll
Примеры
В этом примере передается путь к каталогу \Device в !object. Выходные данные перечисляют все объекты в каталоге \Device.
0: kd> !object \Device
Object: ffffc00b074166a0 Type: (ffffe0083b768690) Directory
ObjectHeader: ffffc00b07416670 (new version)
HandleCount: 0 PointerCount: 224
Directory Object: ffffc00b074092e0 Name: Device
Hash Address Type Name
---- ------- ---- ----
00 ffffe0083e6a61f0 Device 00000044
ffffe0083dcc4050 Device 00000030
ffffe0083d34f050 Device NDMP2
ffffe0083bdf7060 Device NTPNP_PCI0002
...
ffffe0083b85d060 Device USBPDO-8
ffffe0083d33d050 Device USBFDO-6
...
ffffe0083bdf0060 Device NTPNP_PCI0001
Выберите один из перечисленных объектов, например USBPDO-8. Передайте адрес USBPDO-8 (ffffe0083b85d060) в !object. Задайте флаги для 0x0 получения минимальной информации.
0: kd> !object ffffe0083b85d060 0x0
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
Включите сведения о имени и счетчике ссылок для одного объекта, задав флаги для 0x1.
0: kd> !object ffffe0083b85d060 0x1
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
HandleCount: 0 PointerCount: 6
Directory Object: ffffc00b074166a0 Name: USBPDO-8
Получите необязательные сведения о заголовке для одного объекта, задав флаги для 0x10.
0: kd> !object ffffe0083b85d060 0x10
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
Optional Headers:
NameInfo(ffffe0083b85d010)
В следующем примере дважды вызывается !object для объекта Directory. При первом отображении содержимого каталога не отображается, так как флаг 0x8 не задан. Во второй раз содержимое каталога отображается, так как 0x8 и флаги 0x1 заданы (флаги = 0x9).
0: kd> !object ffffc00b07481d00 0x1
Object: ffffc00b07481d00 Type: (ffffe0083b768690) Directory
ObjectHeader: ffffc00b07481cd0 (new version)
HandleCount: 0 PointerCount: 3
Directory Object: ffffc00b07481eb0 Name: Filters
0: kd> !object ffffc00b07481d00 0x9
Object: ffffc00b07481d00 Type: (ffffe0083b768690) Directory
ObjectHeader: ffffc00b07481cd0 (new version)
HandleCount: 0 PointerCount: 3
Directory Object: ffffc00b07481eb0 Name: Filters
Hash Address Type Name
---- ------- ---- ----
19 ffffe0083c5f56e0 Device FltMgrMsg
21 ffffe0083c5f5060 Device FltMgr
В следующем примере дважды вызывается !object для объекта SymbolicLink. Первый раз целевой объект символьной ссылки не отображается, так как флаг 0x8 не задан. Во второй раз целевой объект символьной ссылки воспроизводится, так как заданы флаги 0x8 и 0x1 (Флаги = 0x9).
0: kd> !object ffffc00b07628fb0 0x1
Object: ffffc00b07628fb0 Type: (ffffe0083b769450) SymbolicLink
ObjectHeader: ffffc00b07628f80 (new version)
HandleCount: 0 PointerCount: 1
Directory Object: ffffc00b074166a0 Name: Ip6
0: kd> !object ffffc00b07628fb0 0x9
Object: ffffc00b07628fb0 Type: (ffffe0083b769450) SymbolicLink
ObjectHeader: ffffc00b07628f80 (new version)
HandleCount: 0 PointerCount: 1
Directory Object: ffffc00b074166a0 Name: Ip6
Target String is '\Device\Tdx'
Дополнительная информация
Дополнительные сведения об объектах и диспетчере объектов см. в документации по пакету SDK для Microsoft Windows, документации по комплекту драйверов Windows (WDK) и внутренним службам Microsoft Windows, марку Руссиновичу и Дэвиду Соломону.