!ks.forcedump

Il comando !ks.forcedump visualizza informazioni sul contenuto della memoria in un indirizzo fornito dal chiamante.

!ks.forcedump Object Type [Level] 

Parametri

Oggetto
Specifica un puntatore all'oggetto per il quale visualizzare le informazioni.

Digitare
Specifica il tipo di oggetto.

Per gli oggetti AVStream/KS, Type deve essere uno dei valori seguenti: CKsQueue, CKsDevice, CKsFilterFactory, CKsFilter, CKsPin, CKsRequestor, CKsSplitter, CKsSplitterBranch, CKsPipeSection, KSPIN, KSFILTER, KSFILTERFACTORY, KSDEVICE, KSSTREAM_POINTER, KSPFRAME_HEADER, KSIOBJECT_HEADER, KSPDO_EXTENSION, KSIDEVICE_HEADER, KSSTREAM_HEADER, KSPIN_DESCRIPTOR_EX, CKsProxy, CKsInputPin, CKsOutputPin, CasyncItemHandler.

Per gli oggetti Port Class, Type deve essere uno dei valori seguenti: DEVICE_CONTEXT, CPortWaveCyclic, CPortPinWaveCyclic, CPortTopology, CPortDMus, CIrpStream, CKsShellRequestor, CPortFilterWaveCyclic, CDmaChannel, CPortWavePci, CportPinWavePci.

Livello
Facoltativo. Specifica il livello di dettaglio da visualizzare su una scala da 0 a 7 con ulteriori informazioni visualizzate progressivamente per valori più elevati. Per visualizzare tutti i dettagli disponibili, specificare il valore 7.

DLL

Windows 2000

winxp\Ks.dll

Windows XP e versioni successive

Ks.dll

Informazioni aggiuntive

Per altre informazioni, vedere Debug del flusso del kernel.

Osservazioni:

In genere, è possibile usare !ks.dump per visualizzare le strutture di dati.

Tuttavia, se i simboli vengono caricati in modo errato o se vengono visualizzate troppe informazioni, la logica di identificazione del tipo nel comando !ks.dump potrebbe non riuscire a identificare il tipo di struttura in un determinato indirizzo.

In questo caso, provare a usare il comando !ks.forcedump . Questo comando funziona esattamente come !ks.dump , ad eccezione del fatto che l'utente specifica il tipo dell'oggetto.

Nota Il comando !ks.forcedump non verifica che Type sia il tipo di struttura corretto trovato nell'indirizzo fornito in Object. Il comando presuppone che si tratti del tipo di struttura trovato in Object e visualizza i dati di conseguenza.

È possibile recuperare un elenco di tutti gli oggetti supportati eseguendo un comando !ks.forcedump senza argomenti.

Di seguito sono riportati due esempi dell'output di !ks.forcedump, usando l'indirizzo di un filtro per l'argomento Object , ma con livelli di dettaglio diversi:

kd> !forcedump 829493c4 KSFILTER
WARNING: I am dumping 829493c4 as a KSFILTER.
         No checking has been performed to ensure that it is this type!!!

Filter object 829493c4 [CKsFilter = 82949350]
    Descriptor     f7a233c8:
    Context        829dce28

kd> !forcedump 829493c4 KSFILTER 7
WARNING: I am dumping 829493c4 as a KSFILTER.
         No checking has been performed to ensure that it is this type!!!

Filter object 829493c4 [CKsFilter = 82949350]
    Descriptor     f7a233c8:
    Filter Category GUIDs:
        Video
        Capture
    Context        829dce28
    INTERNAL INFORMATION:
        Public Parent Factory   829782dc
        Aggregated Unknown      00000000
        Device Interface        823b83c8
        Control Mutex           829493f8 is not held
    Object Event List:
        None
    CKsFilter object 82949350 [KSFILTER = 829493c4]
        Processing Mutex         82949484 is not held
        Gate &                   82949464
        Gate.Count               1
        Pin Factories:
            Pin ID 0 [Video/General Capture Out]:
                Child Count        1
                Bound Child Count  1
                Necessary Count    0
                Specific Instances:
                    8293f580