问题
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?
回答1:
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
来源:https://stackoverflow.com/questions/21151028/can-topoedit-be-used-to-load-a-topology-for-a-session-created-by-my-application