AtlUnadvise
Przerywa połączenie ustanowione przez AtlAdvise.
![]() |
---|
Nie można użyć tej funkcji w aplikacjach, które są wykonywane w Środowisko wykonawcze systemu Windows. |
HRESULT AtlUnadvise(
IUnknown* pUnkCP,
const IID& iid,
DWORD dw
);
Parametry
pUnkCP
[w] Wskaźnik do IUnknown klienta połączonego z obiektu.iid
[w] Identyfikator GUID punktu połączenia.Zazwyczaj jest to taki sam, jak interfejs wychodzący, zarządzane przez punkt połączenia.dw
[w] Plik cookie, który unikatowo identyfikuje połączenie.
Wartość zwracana
Standardowe wartości HRESULT.
Przykład
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);
ATLASSERT(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);
ATLASSERT(SUCCEEDED(hr));
hr = AtlAdvise (m_pSourceUnk, m_pSinkUnk, __uuidof(_IMyComponentEvents), &m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));
// do something
CComBSTR bstrMsg(L"Hi there!");
((CMyComponent*)m_pSourceUnk)->Fire_ShowMyMsg(bstrMsg);
hr = AtlUnadvise (m_pSourceUnk, __uuidof(_IMyComponentEvents), m_dwCustCookie);
ATLASSERT(SUCCEEDED(hr));
Wymagania
Nagłówek: atlbase.h