Can TopoEdit Be used to load a topology for a Session created by my application?

ms-media-foundation, topoedit, winapi

Solution

DirectShow GraphEdit's ability to connect to remote COM object is based on availability of proxy/stub pairs for DirectShow interfaces and set of fancy COM technologies. These were by the way rather new at that time. These pairs are normally NOT used by regular applications and later - as supposedly a part of optimization cycle - Microsoft decided to take them off `quartz.dll` and move them into `proppage.dll` which was no longer shipped with the operating system. It was only available with Windows SDK. That is, this has been purely a developer thing.

With Media Foundation, Microsoft apparently decided to not invest into powerful developers tools, and also reduced flexibility of the API itself. There is no interactive tool to remote into applications any longer. And TopoEdit is not even close to GraphEdit (not even mentioning its open source alternatives) in convenience and feature set. Instead, the new offering is tracing and trace analysis. Meet `MFTrace`, that is, and keep in mind DirectShow:

- Using MFTrace (MSDN)

- Using MFTrace to Trace Media Foundation

- Analyzing Media Foundation traces

- Using Event Viewer to Trace Media Foundation

Problem

I would like to be able to explore the Topologies created by my application in TopoEdit. In DirectShow Development you can use GraphEdit, and if you register a graph created by your software in the global Running Object Table using the base class `AddGraphToRot` function, you can then load it in GraphEdit. Is there any way to do the same in TopoEdit?

Original source