Recebimento de notificações
OLE DB fornece interfaces para receber notificações quando ocorrerem eventos. Eles são descritos na OLE DB objeto notificações na OLE DB Programmer referência. A instalação desses eventos usa o mecanismo de ponto de conexão padrão COM. Por exemplo, um objeto ATL que deseja recuperar eventos por meio de IRowsetNotify implementa o IRowsetNotify interface adicionando IRowsetNotify a lista de classe derivada e expondo a ele por meio de um COM_INTERFACE_ENTRY macro.
IRowsetNotifypossui três métodos, podem ser chamados várias vezes. Se você quiser responder a um desses métodos, você pode usar o IRowsetNotifyImpl de classe, que retorna E_NOTIMPL para os métodos que não está interessado.
Quando você cria um 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 abrir o conjunto de linhas de um objeto ATL e usar o AtlAdvise a função para configurar o coletor de notificação. AtlAdviseRetorna um cookie que é 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);