IConnectionPoint  27RR9D

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:

    IConnectionPointContainer1CDHQR

    IEnumConnectionPoints2MCWRR5

    IConnectionPointG5BBH

    IEnumConnections73UI6N

 

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::Advise1.X__HV. A connection point that allows only one interface can return E_NOTIMPL from the IConnectionPoint::EnumConnectionsMJ879F method.

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

QueryInterface2Y54585

Returns pointers to supported interfaces.

AddRef1SHW0SS

Increments reference count.

ReleaseDUW01A

Decrements reference count.

 

IConnectionPoint Methods

Description

GetConnectionInterface4065XO

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

GetConnectionPointContainer8A.6.3

Returns the parent (connectable) object s IConnectionPointContainer interface pointer.

Advise1.X__HV

Creates a connection between a connection point and a client s sink, where the sink implements the outgoing interface supported by this connection point.

Unadvise1.G.62P

Terminates a notification previously set up with Advise.

EnumConnectionsMJ879F

Returns an object to enumerate the current advisory connections for this connection point.

 

See Also

IConnectionPoint, IConnectionPointContainer, IEnumConnectionPoints, IEnumConnections