AtlUnadvise
Terminates the connection established through AtlAdvise.
HRESULT AtlUnadvise( IUnknown* pUnkCP, const IID& iid, DWORD dw );
Parameters
- pUnkCP
- [in] A pointer to the IUnknown of the object that the client is connected with.
- iid
- [in] The GUID of the connection point. Typically, this is the same as the outgoing interface managed by the connection point.
- dw
- [in] The cookie that uniquely identifies the connection.
Return Value
A standard HRESULT value.
Example
LPUNKNOWN m_pSourceUnk;
LPUNKNOWN m_pSinkUnk;
DWORD m_dwCustCookie;
// create source object
HRESULT hr = CoCreateInstance (CLSID_MyComponent, NULL, CLSCTX_ALL,
IID_IUnknown, (LPVOID*)&m_pSourceUnk);
_ASSERT (SUCCEEDED (hr));
// Create sink object. CMySink is a CComObjectRootEx-derived class
// that implements the event interface methods.
CComObject<CMySink> *pSinkClass;
CComObject<CMySink>::CreateInstance (&pSinkClass);
hr = pSinkClass->QueryInterface (IID_IUnknown, (LPVOID*)&m_pSinkUnk);
_ASSERT (SUCCEEDED (hr));
hr = AtlAdvise (m_pSourceUnk, m_pSinkUnk, IID__IMyEvent, &m_dwCustCookie);
_ASSERT (SUCCEEDED (hr));
// do something
HRESULT hr = AtlUnadvise (m_pSourceUnk, IID__IMyEvent, m_dwCustCookie);
_ASSERT (SUCCEEDED (hr));
