OLE DB fornece interfaces para receber notificações quando ocorrerem eventos. Estes são descritos na capítulo notificações de referência OLE DB Programmer. A instalação desses eventos usa o mecanismo de ponto de conexão de COM padrão. Por exemplo, um objeto ATL que deseja recuperar eventos por meio de IRowsetNotify implementa a interface de IRowsetNotify adicionando IRowsetNotify à lista classe derivada e expor-lo por meio de uma macro COM_INTERFACE_ENTRY.
IRowsetNotify possui três métodos, que podem ser chamados em vários momentos. Se você quiser responder a apenas um desses métodos, você pode usar a classe IRowsetNotifyImpl , que retorna E_NOTIMPL para os métodos que você não está interessado em.
Quando você cria o conjunto de linhas, você deve informar o provedor que você deseja que o objeto de conjunto de linhas retornado para suporte IConnectionPointContainer, que é necessário para configurar a notificação.
O código a seguir mostra como abrir o conjunto de linhas de um objeto ATL e, em seguida, use a função AtlAdvise para configurar o coletor de notificação. AtlAdvise retorna um cookie que será usado quando você chamar AtlUnadvise.
CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_IConnectionPointContainer, true);
produto.Abrir (sessão, _T("Products"), amp; propset);
AtlAdvise (product.m_spRowset, GetUnknown(), IID_IRowsetNotify & m_dwCookie)