AtlAdvise
Cria uma conexão entre o ponto de conexão de um objeto e o coletor do cliente.
Importante |
---|
Essa função não pode ser usada em aplicativos executados em Tempo de Execução do Windows. |
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
Parâmetros
pUnkCP
[in] um ponteiro da IUnknown do objeto que o cliente deseja se conectar com.punk
[in] um ponteiro da IUnknownde cliente.iid
[in] GUID de ponto de conexão.Normalmente, esse é o mesmo que a interface de saída gerenciada pelo ponto de conexão.pdw
[out] um ponteiro à o cookie que identifica a conexão.
Valor de retorno
Um valor padrão do HRESULT.
Comentários
O coletor implementa a interface de saída suportada pelo ponto de conexão.O cliente usa o cookie de pdw para remover a conexão passando à AtlUnadvise.
Exemplo
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
Cabeçalho: atlbase.h