AtlAdvise
Создает связь между приемник точки подключения объекта и клиента.
Важно!
Эту функцию нельзя использовать в приложениях, выполняемых в Среда выполнения Windows.
HRESULT AtlAdvise(
IUnknown* pUnkCP,
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw
);
Параметры
pUnkCP
[in] Указатель на IUnknown объекта клиент хочет подключиться.панк
[in] Указатель на IUnknown клиента.iid
[in] Идентификатор GUID точки подключения. Обычно это аналогично исходящий интерфейс, управляемый точки подключения.pdw
[out] Указатель на файл cookie, однозначно определяющее соединение.
Возвращаемое значение
Стандартное значение HRESULT.
Заметки
Приемник реализует исходящий интерфейс, поддерживаемого точкой подключения. Клиент использует файл cookie pdw чтобы удалить соединение с передачей их AtlUnadvise.
Пример
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));
Требования
Header: atlbase.h