IConnectionPoint interface

Supports connection points for connectable objects.

When to implement

Implement this interface as part of support for connectable objects.

To support connectable objects, you need to implement four related interfaces:

The IConnectionPointContainer interface is implemented on the connectable object to indicate the existence of the outgoing interfaces. It provides access to an enumerator sub-object with the IEnumConnectionPoints interface. It also provides access to all the connection point sub-objects, each of which implements the IConnectionPoint interface. The IConnectionPoint interface provides access to an enumerator sub-object with the IEnumConnections interface.

Each connection point is a separate sub-object to avoid circular reference counting problems.

A connection point controls how many connections (one or more) it will allow in its implementation of IConnectionPoint::Advise. A connection point that allows only one interface can return E_NOTIMPL from the IConnectionPoint::EnumConnections method.

When to use

A client can use the IConnectionPointContainer interface as follows:

  • To obtain access to an enumerator sub-object with the IEnumConnectionPoints interface. The IEnumConnectionPoints interface can then be used to enumerate connection points for each outgoing IID.
  • To obtain access to connection point sub-objects with the IConnectionPoint interface for each outgoing IID. Through the IConnectionPoint interface, a client starts or terminates an advisory loop with the connectable object and the client's own sink. The client can also use the IConnectionPoint interface to obtain an enumerator object with the IEnumConnections interface to enumerate the connections that it knows about.


The IConnectionPoint interface inherits from the IUnknown interface. IConnectionPoint also has these types of members:


The IConnectionPoint interface has these methods.


Establishes a connection between a connection point object and a client's sink.


Creates an enumerator object to iterate through the current connections for this connection point.


Retrieves the IID of the outgoing interface managed by this connection point.


Retrieves the IConnectionPointContainer interface pointer for the parent connectable object.


Terminates an advisory connection previously established between a connection point object and a client's sink.



Connectable objects support the following features:

  • Outgoing interfaces, such as event sets
  • The ability to enumerate the IIDs of the outgoing interfaces
  • The ability to connect and disconnect sinks to the object for those outgoing IIDs
  • The ability to enumerate the connections that exist to a particular outgoing interface


Minimum supported client

Windows 2000 Professional [desktop apps | UWP apps]

Minimum supported server

Windows 2000 Server [desktop apps | UWP apps]






IID_IConnectionPoint is defined as B196B286-BAB4-101A-B69C-00AA00341D07

See also