DirectShow Spy is updated with a few new features:
- retroactive Intelligent Connect trace
- log output for IAMGraphBuilderCallback-related activity
- process name based black list to selectively exclude processes from spying
Intelligent Connect Trace
The utility received a capability to read back from its own log file (DirectShowSpy.log, located typically in C:\ProgramData directory) and reconstruct graph building sequence, including steps taken by DirectShow Intelligent Connect.
In order to activate the Intelligent Connect Trace property sheet, one needs to call exported function “DoGraphBuilderCallbackPropertySheetModal“, such as using runndll32 tool:
The upper part of the property page displays recently created DirectShow fitler graphs, newest to older. For a selected graph, the lower part displays events in chronological order. The events include:
- Adding a filter, at IFilterGraph2::AddFilter method
- Removing a filter, at IFilterGraph2::RemoveFilter method
- Selecting a filter, at Intelligent Connect’s callback at IAMGraphBuilderCallback::SelectedFilter
- Creating a filter, at IAMGraphBuilderCallback::CreatedFilter
The latter two methods also show “Application Result” column and values, which are HRESULT values returned by IAMGraphBuilderCallback callback provided by the application. Typically, a failure HRESULT code indicates that the application rejected the filter.
The trace log is good to expose all DirectShow junk installed in the system. For example,