Debugging Tools for Windows |
The !ks.forcedump command displays information about memory contents at a caller-supplied address.
For AVStream/KS objects, Type must be one of the following values: 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.
For Port Class objects, Type must be one of the following values: DEVICE_CONTEXT, CPortWaveCyclic, CPortPinWaveCyclic, CPortTopology, CPortDMus, CIrpStream, CKsShellRequestor, CPortFilterWaveCyclic, CDmaChannel, CPortWavePci, CportPinWavePci.
Windows NT 4.0 | Not available |
Windows 2000 | winxp\ks.dll |
Windows XP and later | ks.dll |
Normally, you can use !ks.dump to display data structures.
However, if symbols are loaded incorrectly or too much information is paged out, the type identification logic in the !ks.dump command may fail to identify the type of structure at a given address.
If this happens, try using the !ks.forcedump command. This command works just like !ks.dump except that the user specifies the type of the object.
Note The !ks.forcedump command does not verify that Type is the correct type of structure found at the address provided in Object. The command assumes that this is the type of structure found at Object and displays data accordingly.
A listing of all supported objects can be retrieved by issuing a !ks.forcedump command with no arguments.
Here are two examples of the output from !ks.forcedump, using the address of a filter for the Object argument but with different levels of detail:
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
For more information, see Kernel Streaming Debugging.