Google Groups

Re: DMO manually created for graph with wrapper?


Alessandro Angeli Sep 16, 2008 3:54 AM
Posted in group: microsoft.public.win32.programmer.directx.video
From: "mike"

> I have a DMO that I've created that I would like to use
> in a graph in a 2nd application.  I would like to not
> have to register the DMO but to create it while building
> the graph (create it internally to the 2nd application).
> It looks like the DMOWrapper can't take an instantiated
> COM object but a ref to a classid to create the object
> itself.  Is this the case?  Is it possible to create an
> instance of a DMO that's not registered and use it in a
> graph?

It's an undocomented behavior, but IDMOWrapperFilter::Init()
only uses the DMO's CLSID in CoCreateInstance() and ignores
the category GUID.

So you should be able to use
CoRegisterClassObject(CLSCTX_INPROC_SERVER,REGCLS_ MULTI_
SEPARATE) to register the DMO's IClassFactory internally,
without globally registering the inproc server.

You can implement the class factory yourself or re-use the
implementation in the BaseClasses or in ATL and so on.


--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm