Compartir a través de


Recibir notificaciones

OLE DB proporciona interfaces para recibir notificaciones cuando se producen eventos. Éstas se describen en Notificaciones de objetos OLE DB, en la Referencia del programador de OLE DB. La configuración de estos eventos usa el mecanismo COM estándar de punto de conexión. Por ejemplo, un objeto ATL que desea recuperar eventos por medio de IRowsetNotify implementa la interfaz IRowsetNotify agregando IRowsetNotify a la lista derivada de la clase y exponiéndola a través de una macro COM_INTERFACE_ENTRY.

IRowsetNotify tiene tres métodos, a los que se puede llamar en varios momentos. Si sólo desea responder a uno de estos métodos, puede utilizar la clase IRowsetNotifyImpl, que devuelve E_NOTIMPL para los métodos en los que no se está interesado.

Al crear el conjunto de filas, se debe indicar al proveedor que se desea que el objeto de conjunto de filas devuelto sea compatible con IConnectionPointContainer, que es necesario para crear la notificación.

En el código siguiente se muestra cómo abrir el conjunto de filas de un objeto ATL y cómo usar la función AtlAdvise para configurar el receptor de notificación. AtlAdvise devuelve una cookie que se usa cuando se llama a 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);

Vea también

Conceptos

Utilizar descriptores de acceso