Connection Point Example

This example shows an object that supports IPropertyNotifySink as an outgoing interface:

class CConnect : 
   public CComObjectRootEx<CComObjectThreadModel>,
   public CComCoClass<CConnect, &CLSID_CConnect>,
   public IConnectionPointContainerImpl<CConnect>,
   public IConnectionPointImpl<CConnect, 
             &IID_IPropertyNotifySink>
{
public:
   ...
   BEGIN_COM_MAP(CConnect)
      COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
   END_COM_MAP()

   BEGIN_CONNECTION_POINT_MAP(CConnect)
      CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
   END_CONNECTION_POINT_MAP()

   ...
};

Note   When specifying IPropertyNotifySink as an outgoing interface, you can use class IPropertyNotifySinkCP instead of IConnectionPointImpl. For example:

class CConnect : 
   public CComObjectRootEx<CComObjectThreadModel>,
   public CComCoClass<CConnect, &CLSID_CConnect>,
   public IConnectionPointContainerImpl<CConnect>,
   public IPropertyNotifySinkCP<CConnect>
{
   ...
};