Поделиться через


Использование I Подключение ionPointContainer

Соединительный объект реализует I Подключение ionPointContainer (и предоставляет его через QueryInterface), чтобы указать наличие исходящих интерфейсов. Для каждого исходящего интерфейса соединительный объект управляет вложенным объектом точки подключения, который сам реализует I Подключение ionPoint. Поэтому соединительный объект содержит точки подключения, поэтому именование I Подключение ionPointContainer и I Подключение ionPoint.

Через I Подключение ionPointContainer клиент может выполнять две операции. Во-первых, если клиент уже имеет iiD для исходящего интерфейса, он может найти соответствующую точку подключения для IID с помощью I Подключение ionPointContainer::Find Подключение ionPoint. Клиент не может запрашивать точку подключения непосредственно из-за связи контейнера или автономной связи между соединительным объектом и его содержащимися точками подключения. В основном find Подключение ionPoint — это QueryInterface для исходящих интерфейсов, когда идентификатор IID известен клиенту.

Во-вторых, клиент может перечислить все точки подключения в подключаемом объекте через I Подключение ionPointContainer::Enum Подключение ionPoints. Этот метод возвращает указатель интерфейса IEnum Подключение ionPoints для отдельного объекта перечислителя. Через IEnum Подключение ionPoints::Далее клиент может получить указатели интерфейса I Подключение ionPoint на каждую точку подключения.

После получения интерфейса I Подключение ionPoint клиент должен вызвать I Подключение ionPoint::Get Подключение ionInterface, чтобы определить iiD исходящего интерфейса, поддерживаемого каждой точкой подключения. Если клиент уже поддерживает этот исходящий интерфейс, он может установить подключение. В противном случае он по-прежнему может поддерживать исходящий интерфейс с помощью сведений из библиотеки типов подключаемого объекта, чтобы обеспечить поддержку во время выполнения. Для этого метода требуется, чтобы соединительный объект поддерживал интерфейс IProvideClassInfo. (См. раздел Использование IProvideClassInfo.)

Так как перечислитель является отдельным объектом, клиент должен вызывать IEnum Подключение ionPoints::Release, если перечислитель больше не нужен. Кроме того, каждая точка подключения является объектом с отдельным числом ссылок от содержащего подключаемого объекта. Поэтому клиент также должен вызывать I Подключение ionPoint::Release для каждой точки подключения, доступ к ней через перечислитель или с помощью Find Подключение ionPoint.

Подключение доступные интерфейсы объектов