怎么在COM组件中添加设置回调函数的接口

如何在COM组件中添加设置回调函数的接口?
通过MFC添加ATL类,需要实现一个设置回调的接口函数:
函数声明类似:
HRESULT   SetCallBack(   long   hHandle,   long   (   __stdcall   *   CallBack   )(   long   lType,   long   lPara1,   long   lPara2   )   );

但是使用MFC向导添加不上,提示错误。
手动修改idl文件添加  
[helpstring( "method   SetCallBack ")]   HRESULT   SetCallBack(long   hHandle,long   (   __stdcall   *   CallBack)(   long   lType,   long   lPara1,   long   lPara2   ));
编译出错,提示错误

查了半天也没有找到是什么原因。


请教各位大侠,如何在COM中添加回调函数?   不是使用连接点的方法。
非常感谢!

------解决方案--------------------
如果是在进程内,第二个参数类型用long,不要用函数指针类型,用的时候做强制转换。[helpstring( "method SetCallBack ")] HRESULT SetCallBack(long hHandle,long funptr);
------解决方案--------------------
进程外组件不能采用这种方法,因为你的指针地址只对本进程有效,跨进程最好通过connection point来实现,com会自动处理指针跨进程空间的问题。