AtlAdvise
Vytvoří spojení mezi spojovací bod objektu a jímky klienta.
Důležité |
---|
Tuto funkci nelze použít v aplikacích, které v . |
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
Parametry
pUnkCP
[v] Ukazatel IUnknown objektu klient chce připojit.pUnk
[v] Ukazatel na klienta IUnknown.iid
[v] Identifikátor GUID spojovacího bodu.Obvykle je stejný jako výstupní rozhraní spravuje spojovací bod.pdw
[výstup] Ukazatel na soubor cookie, který jedinečně určuje připojení.
Vrácená hodnota
Standardní hodnota HRESULT.
Poznámky
Jímka implementuje odchozí rozhraní podporovaných spojovací bod.Klient používá pdw cookie odebrat připojení předáním na AtlUnadvise.
Příklad
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));
Požadavky
Záhlaví: atlbase.h