Recebendo notificações
OLE DB fornece interfaces para receber notificações quando ocorrerem eventos.Eles são descritos na Notificações de objeto de banco de dados OLE in the Referência do programador do OLE DB.O programa de instalação desses eventos usa o mecanismo de ponto de conexão COM padrão.Por exemplo, um objeto ATL que quiser recuperar eventos por meio de IRowsetNotify implementa o IRowsetNotify interface, adicionando IRowsetNotify para a lista de classe derivada e expondo a ele por meio de um COM_INTERFACE_ENTRY macro.
IRowsetNotify tem três métodos, que podem ser chamados várias vezes. Se você quiser responder a apenas um dos seguintes métodos, você pode usar o IRowsetNotifyImpl classe, que retorna E_NOTIMPL para os métodos que você está interessado.
Quando você cria o conjunto de linhas, você deve informar o provedor que você deseja que o objeto de conjunto de linhas retornado para oferecer suporte a IConnectionPointContainer, que é necessário para configurar a notificação.
O código a seguir mostra como em em aberto o conjunto de linhas de um objeto ATL e usar o AtlAdvise função para configurar o coletor de notificação. AtlAdvise Retorna um cookie é usado quando você chamar AtlUnadvise.
CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_IConnectionPointContainer, true);
product.Open(session, _T("Products"), &propset);
AtlAdvise(product.m_spRowset, GetUnknown(), IID_IRowsetNotify, &m_dwCookie);