Odbieranie powiadomień
OLE DB dostarcza interfejsy otrzymywania powiadomień o wystąpieniu zdarzenia.Są one opisane w OLE DB obiektu powiadomienia w OLE DB Programmer's Reference.Ustawienia te zdarzenia wykorzystuje standardowy mechanizm punktu połączenia COM.Na przykład, ATL obiekt, który chce pobrać zdarzenia za pomocą IRowsetNotify implementuje IRowsetNotify interfejsu, dodając IRowsetNotify do listy Klasa pochodna i narażania go poprzez COM_INTERFACE_ENTRY makro.
IRowsetNotifyma trzy metody, które mogą być wywoływane w różnym czasie.Aby odpowiedzieć tylko jednej z tych metod, można użyć IRowsetNotifyImpl klasy, która oblicza E_NOTIMPL dla metod nie są zainteresowane w.
Podczas tworzenia zestawu wierszy, trzeba poinformować dostawca żądany obiekt zwrócony wierszy do obsługi IConnectionPointContainer, która jest potrzebna, aby skonfigurować powiadomienia.
Poniższy kod przedstawia otwarcie zestawu wierszy z obiektu ATL i używania AtlAdvise funkcji, aby skonfigurować obiekt sink powiadomienia.AtlAdviseZwraca pliku cookie, który jest używany podczas wywołania 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);