Події COM, Microsoft Docs
Цей розділ містить огляд точок підключення та знайомить з термінологією, яка зазвичай використовується для опису подій COM.
Точки підключення забезпечують двосторонню взаємодію між клієнтом та сервером у моделі COM. За допомогою цього механізму COM-сервер може звернутися до клієнта у разі виникнення будь-якої події. Сервер (наприклад, браузер Microsoft Internet Explorer) може викликати подію для сповіщення відповідної клієнтської програми про будь-яку зміну (наприклад про зміну заголовка). Щоб підготуватися до отримання вхідних повідомлень, клієнт створює внутрішній COM-об'єкт, який називається приймачем подій. Отримавши повідомлення, клієнт може виконати дії, пов'язані з цією подією.
Приймач подій містить інтерфейс для надання серверу методів, пов'язаних із подією. Сервери породжують події шляхом виклику методів, пов'язаних із подіями. Клієнт реалізує інтерфейс приймача подій як стандартний COM-інтерфейс. Сервер повідомляє інтерфейс як вихідний; автор COM-сервера застосовує атрибутsource до інтерфейсу в бібліотеці типів COM-сервера. Сервер використовує визначення з інтерфейсу приймача подій, щоб визначити методиsink таinvoke.
COM-клієнт, що реалізує інтерфейс приймача подій, часто називають приймачем подій або просто приймачем. На наступному малюнку приймач реалізує інтерфейсISinkEvents. Сервер, що викликає подію, називається джерелом.
Модель подій на основі точок підключення

Після визначення інтерфейсу приймача подій приймач має бути підключений до джерела. Механізм точок підключення використовує для зв'язування приймача та джерела наступний протокол:
Приймач запитує уоб'єкт сервера інтерфейсIConnectionPointContainer. Якщо об'єкт підтримує точки підключення, він повертає курсор.
За допомогою методів об'єкта-контейнера приймач знаходить інтерфейсIConnectionPoint, що надає конкретну точку підключення. Оскільки сервер може підтримувати кілька вихідних інтерфейсів, клієнт має зіставити свій приймач з ідентифікатором інтерфейсу (IID) конкретної точки підключення.
Отримавши об'єкт точки підключення, приймач викликає методIConnectionPoint::Advise для реєстрації покажчика інтерфейсу приймача. Сервер (джерело) підтримує підключення (і породжує через нього події), поки клієнт не розірве підключення за допомогою методуIConnectionPoint::Unadvise.