求救,问一个QueryInterface的问题

max_xy 2004-08-07 02:39:09
我用MFC实现一个COM服务器。
其中的INTERFACE申明为
BEGIN_INTERFACE_MAP(CConnObject,CCmdTarget)
INTERFACE_PART(CConnObject,IID_IEventServer,EventServer)
INTERFACE_PART(CConnObject,IID_IConnectionPointContainer,ConnPtContainer)
END_INTERFACE_MAP()

其中QueryInterface的实现代码为
HRESULT FAR EXPORT
CConnObject::XEventServer::QueryInterface(REFIID iid, void FAR* FAR* ppvObj)
{
METHOD_PROLOGUE(CConnObject, EventServer);
return (HRESULT)pThis->ExternalQueryInterface(&iid, ppvObj);
}
然后我在客户端正确得到unknown接口指针
hResult = ::CoCreateInstance(CLSID_ConnObject,NULL,
CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&m_pIUnknown);

然后再用此指针查询QueryInterface的接口
hResult = m_pIUnknown->QueryInterface(IID_IConnectionPointContainer,
(void**)&pConnPtCont);
为什么在查询IConnectionPointContainer的时候Fail啊
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_xy 2004-08-08
  • 打赏
  • 举报
回复
hehe,搞定了。少了一个函数EnableConnections();
揭帖
max_xy 2004-08-08
  • 打赏
  • 举报
回复
楼上的,谢谢你的热心,你可以告诉我 一个信箱么,我给你发代码过去
Cline 2004-08-07
  • 打赏
  • 举报
回复
把代码公布出来,才好帮你调试
max_xy 2004-08-07
  • 打赏
  • 举报
回复
楼上的,http://www.yesky.com/20020322/1603133.shtml,这里就是我做的,只不过,原文中少了ADDREF,RELEASE,QUERYINTERFACE,我补充了一下,望前人指导,特别想调通这个程序。
Cline 2004-08-07
  • 打赏
  • 举报
回复
返回什么错?
max_xy 2004-08-07
  • 打赏
  • 举报
回复
自己顶一帖子把

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧