Home | Info | Community | Development | myReactOS | Contact Us
[inline]
Definition at line 53 of file newatlinterfaces.h.
{ IConnectionPointImpl<T, piid, CDV> *pThisCPImpl; T *pThis; IUnknown *adviseSink; DWORD newCookie; HRESULT hResult; pThis = static_cast<T *>(this); pThisCPImpl = static_cast<IConnectionPointImpl<T, piid, CDV> *>(this); if (pdwCookie != NULL) *pdwCookie = 0; if (pUnkSink == NULL || pdwCookie == NULL) return E_POINTER; hResult = pUnkSink->QueryInterface(IID_IDispatch, (void **)&adviseSink); if (FAILED(hResult)) { if (hResult == E_NOINTERFACE) return CONNECT_E_CANNOTCONNECT; return hResult; } pThis->Lock(); newCookie = pThisCPImpl->m_vec.Add(adviseSink); pThis->Unlock(); *pdwCookie = newCookie; if (newCookie != 0) hResult = S_OK; else { adviseSink->Release(); hResult = CONNECT_E_ADVISELIMIT; } return hResult; }