I am writing an addin and want to receive events but for some reason it is not working. I guess my COM is a little rusty can someone help me out here. Here is approximately what I am doing:

In the OnConnection method

Application->QueryInterface(IID_IDualStreetDeckApp, (void**)&m_app);
m_app->CreateOverlay(overlayname, &m_overlay);
hr = m_overlay.Advise(reinterpret_cast<IUnknown*>(this), DIID_IOverlayEvents, &m_cookie);
Everything seems to succeed ok, but my functions are never called. The class implements IOverlayEvents, as follows:

public IDispatchImpl<IOverlayEvents, &__uuidof(IOverlayEvents), &LIBID_StreetDeck, /* wMajor = */ 1>
Any help is much appreciated,