Udostępnij za pośrednictwem


AtlAdvise

Tworzy połączenie między punktem połączenia obiektu sink klienta.

Ważna uwagaWaż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

Zobacz też

Inne zasoby

Punkt połączenia funkcje globalne