Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Marshal Interface failed on windows 7, but succeed on xp

4 views
Skip to first unread message

guanbin

unread,
Apr 13, 2010, 11:01:06 AM4/13/10
to
Hi,
In my directshow app. There are some codes:

::CoInitialize(NULL);
//create a audio effect filter
IBaseFilter * pEffect = NULL;
hr =
::CoCreateInstance(filterGUID,NULL,CLSCTX_INPROC_SERVER,IID_IBaseFilter,
(void **)&pEffect);

//Marshal the Interface
IStream * pStream = NULL;
hr = ::CoMarshalInterThreadInterfaceInStream(IID_IBaseFilter,
pEffect,&(pStream));

On windows xp, CoMarshalInterThreadInterfaceInStream succeed. and
pStream turns to be a valid pointer;

On windows 7, CoMarshalInterThreadInterfaceInStream failed with value:
0x80040155, (Interface not registered)

On the two platform, develop environment: visual studio 2005(sp1)+dx9sdk

Why on windows 7, the marshal operation failed? No registered stub/proxy
for IBaseFilter interface? But IBaseFilter is not a self-define
interface, it's a directshow defined interface.

Who have any ideas about it? Any advices are appreciate!

regards!

guanbin 2010.4.13

0 new messages