The IConnectionPointContainer Interface
When implemented on an object, makes the object connectable and expresses the existence of outgoing interfaces on the object. Through this interface a client may either locate a specific connection point for one IID or it can enumerate the connections points that exist.
IDL:
[
uuid(B196B284-BAB4-101A-B69C-00AA00341D07)
, object, pointer_default(unique)
]
interface IConnectionPointContainer : IUnknown
{
HRESULT EnumConnectionPoints([out] IEnumConnectionPoints **ppEnum);
HRESULT FindConnectionPoint([in] REFIID riid
, [out] IConnectionPoint **ppCP);
}