百度空间 | 百度首页 
 
查看文章
 
如何在基于 MFC 的 COM 客户端创建接收器接口,完成连接点事件,关键代码
2009-05-10 18:46

//如何在基于 MFC 的 COM 客户端创建接收器接口,完成连接点事件
//#import "......."
//CMyCmdTarget 继承CCmdTarget
//改
//INTERFACE_PART(CMyCmdTarget, IID_IMyCmdTarget, Dispatch)成
//INTERFACE_PART(CMyCmdTarget, __uuidof(_Imycom5contEvents), Dispatch)
//在BEGIN_DISPATCH_MAP中
//加DISP_FUNCTION_ID(CMyCmdTarget,"com5addrs",1,OnGetCom5RS,VT_EMPTY,VTS_I4)

void CDlgtestDlg::OnButton2()
{
// TODO: Add your control notification handler code here
//EnableWindow(FALSE);
//typedef _com_ptr_t<Imycom5cont> Imycom5contPtr;

CoInitialize(NULL);
Imycom5contPtr com5 = NULL;
//CoCreateInstance()
HRESULT hr = com5.CreateInstance(L"Mycom5.mycom5cont");

CMyCmdTarget* cmdtarget = new CMyCmdTarget();
IID iid = IID_IUnknown;
IUnknown* pUnkSink = cmdtarget->GetInterface(&iid);
//LPUNKNOWN pUnkSink = cmdtarget->GetIDispatch(FALSE);
DWORD m_dwCookie = 1;

//BOOL bl = AfxConnectionAdvise(com5, IID_IMyCmdTarget/*__uuidof(IDispatch)*/, pUnkSink, TRUE, &m_dwCookie);

BOOL bl = AfxConnectionAdvise(com5, __uuidof(_Imycom5contEvents), pUnkSink, TRUE, &m_dwCookie);
hr = GetLastError();
com5->add5(1,2);

}


类别:组件com和atl | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu