void CATLDrawView::DisconnectSink(REFIID iid, DWORD dwCookie) { if (dwCookie == 0) return; ASSERT(m_pDrawServ != NULL); LPCONNECTIONPOINTCONTAINER pConnPtCont; if ((m_pDrawServ != NULL) && SUCCEEDED(m_pDrawServ->QueryInterface(IID_IConnectionPointContainer, (LPVOID*)&pConnPtCont))) { ATLENSURE(pConnPtCont != NULL); LPCONNECTIONPOINT pConnPt = NULL; if (SUCCEEDED(pConnPtCont->FindConnectionPoint(iid, &pConnPt))) { ATLENSURE(pConnPt != NULL); pConnPt->Unadvise(dwCookie); pConnPt->Release(); } pConnPtCont->Release(); } }
void cBrowser::Navigate( char* pURL ) { SafeStrCpy( m_szURL, pURL, 1024 ); if( m_pWebBrowser ) { LPCONNECTIONPOINTCONTAINER pCPC = NULL; LPCONNECTIONPOINT pCP = NULL; m_pWebBrowser->QueryInterface(IID_IConnectionPointContainer, (LPVOID*)&pCPC); pCPC->FindConnectionPoint(__uuidof(SHDocVw::DWebBrowserEventsPtr), &pCP); DWORD dwCookie; pCP->Advise((LPUNKNOWN)&m_events, &dwCookie); pCPC->Release(); // CComVariant vempty, vUrl(m_szURL); CComVariant vempty; m_pWebBrowser->Navigate( _bstr_t(m_szURL), &vempty, &vempty, &vempty, &vempty); pCP->Unadvise(dwCookie); pCP->Release(); } }