关于ActiveX控件在网页中绑定属性不能传递接口的有关问题

关于ActiveX控件在网页中绑定属性不能传递接口的问题
在网页中,有我自己写的两个ActiveX控件
<object   id=obj1   classid= "CLSID:xxx-... "> </object>

<object   id=obj2   classid= "CLSID:yyy-... ">
<param   name= "bindedobject "   value= "obj1 ">
</object>

在idl文件中
obj2实例的对象属性   bindedobject声明为bindable
coclass   IMyObject2   {
...
[propget,   id(35),   helpstring( "binded   object "),   bindable]   HRESULT   bindedobject([out,   retval]   IMyObject1**   pVal);
[propput,   id(35),   helpstring( "binded   object "),   bindable]   HRESULT   bindedobject([in]   IMyObject1*   newVal);
}

CMyObject2:
BEGIN_PROP_MAP(CMyObject2)
...
PROP_ENTRY( "DataSet ",   35,   CLSID_IObject1)
...
END_PROP_MAP()
在HRESULT   CMyObject2::put_bindedobject(IMyObject1*   newVal)   {
    //程序调试的时候,发现传递进来的newVal总是惟恐?为什么呢?
}
是哪个环节出的问题,其他类型的属性绑定传递参数都没有问题(如BSTR,   int等),就是使用自己定义的接口的这个参数不知道如何进行传递了,高人帮忙指点一下。谢谢

------解决方案--------------------
自定义参数类型,好像不能传递。
它需要数据接收方也具有同样的函数类型。
------解决方案--------------------
建议两个接口都改成是双接口, 传递IDispatch
------解决方案--------------------
我的方法是传控件ID,然后在控件实现的IOleObject::SetClientSite中保存IOleClientSite接口指针来访问容器。首先查询容器的IHTMLDocument2接口,之后枚举id为指定控件ID的网页元素,查询其IHTMLObjectElement接口