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>
{
...
};