You mean from a DIFFERENT user-mode application?
Alexander Ivash wrote:
Is it possible to communicate with filter created via 'graphedit' from
user mode application?
You mean from a DIFFERENT user-mode application? It depends. If a
DirectShow application registers itself in the Running Object Table,
GraphEdt has the ability to connect to that graph from a different
process. To be honest, I've never explored exactly how it does that.
You can control many things about the remote graph.
'BindToObject' call seems to lead to creation of new filter instance,
but what I need is to communicate with existing filter instance.
That's unusual. What are you planning to do? If this is an AVStream
driver that you control, you can handle this yourself. You can send
custom property requests through your new filter instance and have the
driver tell you things about the other instances. AVStream drivers are
hierarchical: each hardware device has one device object, with one or
more filters, each of which has one or more pins. All of the filters
report up to the device, so it can do some cross-communication.
Also, how to enumerate all the filter instances from user mode? Is
there any way how to distinguish them? (By id or something).
The AVStream driver can do that (although there isn't really an ID), but
it's all internal to the driver.