¿Cómo puedo recibir notificaciones?

OLE DB proporciona interfaces para recibir notificaciones cuando se produzcan eventos. Estos se describen en la capítulo de notificaciones de la referencia del programador de OLE DB de. El programa de instalación de estos eventos utiliza el mecanismo de conexión punto COM estándar. Por ejemplo, un objeto ATL que quiere recuperar eventos a través de IRowsetNotify implementa la interfaz IRowsetNotify agregando IRowsetNotify a la lista de clase derivada y exponerlo a través de una macro COM_INTERFACE_ENTRY.

IRowsetNotify dispone de tres métodos, que pueden ser llamados en diversas ocasiones. Si desea responder a sólo uno de estos métodos, puede utilizar la clase IRowsetNotifyImpl , que devuelve E_NOTIMPL para los métodos que no está interesados en.

Cuando se crea el conjunto de filas, debe indicar al proveedor que desea que el objeto de conjunto de filas devuelto para apoyar IConnectionPointContainer, que es necesario para configurar la notificación.

El código siguiente muestra cómo abrir el conjunto de filas de un objeto ATL y, a continuación, utilice la función AtlAdvise para configurar el receptor de la notificación. AtlAdvise devuelve una cookie que se utilizará cuando se llama a AtlUnadvise.

CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_IConnectionPointContainer, true);

producto.Abrir (período de sesiones, _T("Products"), amp; propset);

AtlAdvise (product.m_spRowset, GetUnknown(), IID_IRowsetNotify & m_dwCookie) 

Index