AtlAdvise
Creazione di una connessione tra il punto di connessione di un oggetto e il sink di un client.
Importante |
---|
Questa funzione non può essere utilizzata nelle applicazioni eseguite in Windows Runtime. |
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
Parametri
pUnkCP
[in] puntatore A IUnknown dell'oggetto al client desidera connettersi a.punk
[in] puntatore A IUnknownclient.iid
[in] Il GUID del punto di connessione.In genere, questo è lo stesso dell'interfaccia in uscita gestita dal punto di connessione.pdw
[out] puntatore Alle cookie che identificano in modo univoco la connessione.
Valore restituito
Un valore HRESULT standard.
Note
Il sink implementa l'interfaccia in uscita supportati dal punto di connessione.Il client utilizza un cookie pdw per rimuovere la connessione passandola a AtlUnadvise.
Esempio
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));
Requisiti
Header: atlbase.h