!object
La extensión !object muestra información sobre un objeto del sistema.
!object Address [Flags]
!object Path
!object 0 Name
!object -p
!object {-h|-?}
Parámetros
Dirección
Si el primer argumento es un número hexadecimal distinto de cero, especifica la dirección hexadecimal del objeto del sistema que se va a mostrar.
Banderas
Especifica el nivel de detalle en la salida del comando.
Establezca Flags en un OR de bits de estos valores:
0x0
Muestra el tipo de objeto.
0x1
Muestra el tipo de objeto, el nombre de objeto y los recuentos de referencias.
0x8
Muestra el contenido de un directorio de objetos o el destino de un vínculo simbólico. Esta marca solo tiene efecto si también se establece 0x1.
0x10
Muestra los encabezados de objeto opcionales.
0x20
Muestra la ruta de acceso completa a un objeto con nombre. Esta marca solo tiene efecto si también se establece 0x1.
El parámetro Flags es opcional. El valor predeterminado es 0x9.
Ruta de acceso
Si el primer argumento comienza con una barra diagonal inversa (), !object la interpreta como un nombre de ruta de acceso de objeto. Si se utiliza esta opción, la pantalla se ordenará de acuerdo con la estructura de directorios utilizada por el Administrador de objetos.
Nombre
Si el primer argumento es cero, el segundo se interpreta como el nombre de una clase de objetos del sistema de la que mostrar todas las instancias.
-p
Muestra espacios de nombres de objetos privados.
{-h|-?}
Muestra ayuda sobre este comando.
Archivo DLL
Kdexts.dll
Ejemplos
En este ejemplo se pasa la ruta de acceso del directorio \Device a !object. La salida enumera todos los objetos del directorio \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
Elija uno de los objetos enumerados, por ejemplo, USBPDO-8. Pase la dirección de USBPDO-8 (ffffe0083b85d060) a !object. Establezca Flags en 0x0 para obtener información mínima.
0: kd> !object ffffe0083b85d060 0x0
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
Incluya información de recuento de nombres y referencias para el mismo objeto. Para ello, establezca Flags en 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
Obtenga información de encabezado opcional para el mismo objeto. Para ello, establezca Flags en 0x10.
0: kd> !object ffffe0083b85d060 0x10
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
Optional Headers:
NameInfo(ffffe0083b85d010)
En el ejemplo siguiente se llama a !object dos veces para un objeto de directorio. La primera vez, el contenido del directorio no se muestra porque la marca 0x8 no está establecida. La segunda vez, se muestra el contenido del directorio porque se establecen las marcas 0x8 y 0x1 (Flags = 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
En el ejemplo siguiente se llama a !object dos veces para un objeto SymbolicLink. La primera vez, el destino del vínculo simbólico no se muestra porque no se ha establecido la marca 0x8. La segunda vez, el destino del vínculo simbólico se reproduce porque las marcas 0x8 y 0x1 están establecidas (Flags = 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'
Información adicional
Para obtener información sobre los objetos y el administrador de objetos, consulte la documentación del SDK de Microsoft Windows, del Kit para controladores de Microsoft Windows y de Microsoft Windows Internals, de Mark Russinovich y David Solomon.
Consulte también
Seguimiento de referencias de objetos