OLE DB fournit des interfaces pour recevoir des notifications lorsque des événements se produisent. Celles-ci sont décrites dans le chapitre de Notifications de la référence du programmeur OLE DB de. Le programme d'installation de ces événements utilise le mécanisme de point de connexion COM standard. Par exemple, un objet ATL qui souhaite récupérer des événements par le biais de IRowsetNotify implémente l'interface IRowsetNotify en ajoutant IRowsetNotify à la liste de la classe dérivée et en exposant à travers une macro COM_INTERFACE_ENTRY.
IRowsetNotify possède trois méthodes, qui peuvent être appelées à différents moments. Si vous souhaitez répondre à une seule de ces méthodes, vous pouvez utiliser la classe IRowsetNotifyImpl , qui retourne E_NOTIMPL pour les méthodes que qui ne vous intéressent pas.
Lorsque vous créez l'ensemble de lignes, vous devez indiquer le fournisseur que vous souhaitez que l'objet jeu de lignes renvoyé charge IConnectionPointContainer, qui est nécessaire pour mettre en place la notification.
Le code suivant montre comment ouvrir le jeu de lignes à partir d'un objet ATL, puis utiliser la fonction AtlAdvise pour configurer la notification. AtlAdvise retourne un cookie qui sera utilisé lorsque vous appelez AtlUnadvise.
CDBPropSet propset(DBPROPSET_ROWSET) ;
propset.AddProperty(DBPROP_IConnectionPointContainer, true) ;
produit.Ouvrir (session, _T("Products"), amp, propset) ;
AtlAdvise (product.m_spRowset, GetUnknown(), IID_IRowsetNotify, & m_dwCookie)