Freigeben über


AtlAdvise

Erstellt eine Verbindung der Senke zwischen dem Verbindungspunkt eines Objekts und eines Clients.

Wichtiger HinweisWichtig

Diese Funktion kann nicht in den Anwendungen verwendet werden, die in Windows-Runtime ausführen.

HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw 
);

Parameter

  • pUnkCP
    [in] Ein Zeiger auf IUnknown des Objekts, das der Client mit herstellen möchte.

  • pUnk
    [in] Ein Zeiger auf IUnknown des Clients.

  • iid
    [in] den GUID des Verbindungspunkts.In der Regel entspricht dies die Ausgangsschnittstelle, die durch den Verbindungspunkt verwaltet wird.

  • pdw
    [out] Ein Zeiger auf das Cookie, das die Verbindung eindeutig identifiziert.

Rückgabewert

Ein Wert des Standards HRESULT.

Hinweise

Die Senke implementiert die Ausgangsschnittstelle, die durch den Verbindungspunkt unterstützt wird.Der Client verwendet das pdw Cookie, um die Verbindung zu entfernen, indem AtlUnadvise zu übergeben.

Beispiel

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));    

Anforderungen

Header: atlbase.h

Siehe auch

Weitere Ressourcen

Verbindungspunkt-globale Funktionen