AtlAdvise
Crea una conexión entre el punto de conexión de un objeto y el receptor de un cliente.
Importante |
---|
Esta función no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución. |
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
Parámetros
pUnkCP
[in] puntero A IUnknown de objeto que el cliente desea conectar con.punky
[in] puntero A IUnknownde cliente.iid
[in] GUID de punto de conexión. Normalmente, éste es igual que la interfaz de salida administrada por el punto de conexión.pdw
[out] puntero A la cookie que identifica de forma única la conexión.
Valor devuelto
Un valor estándar de HRESULT.
Comentarios
El receptor implementa la interfaz de salida compatible con el punto de conexión. El cliente utiliza la cookie de pdw para quitar la conexión y a AtlUnadvise.
Ejemplo
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));
Requisitos
encabezado: atlbase.h