AtlAdvise
Tworzy połączenie między punktem połączenia obiektu sink klienta.
Ważne |
---|
Nie można użyć tej funkcji w aplikacjach, które są wykonywane w Środowisko wykonawcze systemu Windows. |
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
Parametry
pUnkCP
[w] Wskaźnik do IUnknown obiektu chce się połączyć z klienta.pUnk
[w] Wskaźnik dla klienta IUnknown.iid
[w] Identyfikator GUID punktu połączenia.Zazwyczaj jest to taki sam, jak interfejs wychodzący, zarządzane przez punkt połączenia.pdw
[out] Wskaźnik do pliku cookie, który unikatowo identyfikuje połączenie.
Wartość zwracana
Standardowe wartości HRESULT.
Uwagi
Obiekt sink implementuje interfejs wychodzących obsługiwanych przez punkt połączenia.Klient używa pdw plik cookie, aby usunąć połączenie przechodząc do AtlUnadvise.
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));
Wymagania
Nagłówek: atlbase.h