The !ks.forcedump command displays information about memory contents at a caller-supplied address.
!ks.forcedump Object Type [Level]
Specifies a pointer to the object for which to display information.
Specifies the type of object.
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.
Optional. Specifies the level of detail to display on a 0-7 scale with progressively more information displayed for higher values. To display all available details, supply a value of 7.
Windows XP and later
For more information, see Kernel Streaming Debugging.
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.
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:
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