Partilhar via


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);

Consulte também

Conceitos

Usar acessadores