!oggetto

L'estensione !object visualizza informazioni su un oggetto di sistema.

!object Address [Flags] 
!object Path
!object 0 Name 
!object -p
!object {-h|-?}

Parametri

Indirizzo
Se il primo argomento è un numero esadecimale diverso da zero, specifica l'indirizzo esadecimale dell'oggetto di sistema da visualizzare.

Bandiere
Specifica il livello di dettaglio nell'output del comando.

Impostare Flag su un OR bit per bit di questi valori:

0x0
Tipo di oggetto visualizzato.

0x1
Visualizzare il tipo di oggetto, il nome dell'oggetto e i conteggi dei riferimenti.

0x8
Visualizzare il contenuto di una directory di oggetti o la destinazione di un collegamento simbolico. Questo flag ha un effetto solo se è impostato anche 0x1 .

0x10
Visualizzare intestazioni di oggetto facoltative.

0x20
Visualizzare il percorso completo di un oggetto denominato. Questo flag ha un effetto solo se è impostato anche 0x1 .

Il parametro Flags è facoltativo. Il valore predefinito è 0x9.

Percorso
Se il primo argomento inizia con una barra rovesciata (), !object lo interpreta come nome del percorso dell'oggetto. Quando si usa questa opzione, la visualizzazione verrà disposta in base alla struttura di directory utilizzata da Gestione oggetti.

Nome
Se il primo argomento è zero, il secondo argomento viene interpretato come il nome di una classe di oggetti di sistema per cui visualizzare tutte le istanze.

-p
Visualizzare gli spazi dei nomi dell'oggetto privato.

{-h|-?}
Visualizzare la Guida per questo comando.

DLL

Kdexts.dll

Esempi

In questo esempio viene passato il percorso della directory \Device all'oggetto !. L'output elenca tutti gli oggetti nella directory \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

Scegliere uno degli oggetti elencati, ad esempio USBPDO-8. Passare l'indirizzo di USBPDO-8 (ffffe0083b85d060) a !object. Impostare Flag su 0x0 per ottenere informazioni minime.

0: kd> !object ffffe0083b85d060 0x0
Object: ffffe0083b85d060  Type: (ffffe0083b87df20) Device
    ObjectHeader: ffffe0083b85d030 (new version)

Includere informazioni sul nome e sul conteggio dei riferimenti per lo stesso oggetto impostando Flag su 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

Ottenere informazioni di intestazione facoltative per lo stesso oggetto impostando Flag su 0x10.

0: kd> !object ffffe0083b85d060 0x10
Object: ffffe0083b85d060  Type: (ffffe0083b87df20) Device
    ObjectHeader: ffffe0083b85d030 (new version)
Optional Headers: 
    NameInfo(ffffe0083b85d010)

L'esempio seguente chiama !object due volte per un oggetto Directory. La prima volta, il contenuto della directory non viene visualizzato perché il flag 0x8 non è impostato. La seconda volta, il contenuto della directory viene visualizzato perché vengono impostati sia i flag 0x8 che 0x1 (Flag = 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

L'esempio seguente chiama !object due volte per un oggetto SymbolicLink. La prima volta, la destinazione del collegamento simbolico non viene visualizzata perché il flag 0x8 non è impostato. La seconda volta, la destinazione del collegamento simbolico viene riprodotta perché vengono impostati sia i flag 0x8 che i flag 0x1 (Flag = 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'

Informazioni aggiuntive

Per informazioni sugli oggetti e sul gestore oggetti, vedere la documentazione di Microsoft Windows SDK, la documentazione di Windows Driver Kit (WDK) e microsoft Windows Internals, di Mark Russinovich e David Solomon.

Vedi anche

Traccia dei riferimenti a oggetti

!obtrace

!maneggiare

Determinazione dell'ACL di un oggetto

Comandi di estensione in modalità kernel