IConnectionPoint
The IConnectionPoint
interface supports connection points for connectable objects.
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
When to Implement
Implement
this interface as part of support for connectable objects. To create a
connectable object, you need to implement objects that provide four related
interfaces:
IConnectionPointContainer
IEnumConnectionPoints
IConnectionPoint
IEnumConnections
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
When to Use
A client can
use the IConnectionPointContainer interface:
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.
Methods in Vtable Order
IUnknown
Methods |
Description |
QueryInterface |
Returns
pointers to supported interfaces. |
AddRef |
Increments
reference count. |
Release |
Decrements
reference count. |
IConnectionPoint
Methods |
Description |
GetConnectionInterface |
Returns the
IID of the outgoing interface managed by this connection point. |
GetConnectionPointContainer |
Returns the
parent (connectable) object s IConnectionPointContainer interface
pointer. |
Advise |
Creates a
connection between a connection point and a client s sink, where the sink
implements the outgoing interface supported by this connection point. |
Unadvise |
Terminates
a notification previously set up with Advise. |
EnumConnections |
Returns an
object to enumerate the current advisory connections for this connection
point. |
See Also