//如何在基于 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);
}