Odbieranie powiadomień
OLE DB dostarcza interfejsy za otrzymywanie powiadomień po wystąpieniu zdarzenia.Są one opisane w OLE DB obiekt powiadomienia o w OLE DB Programmer's Reference.Instalator tych zdarzeń używa standardowy mechanizm COM punktu połączenia.Na przykład, obiekt biblioteki ATL, który chce pobrać zdarzeń za pomocą IRowsetNotify implementuje IRowsetNotify interfejsu przez dodanie IRowsetNotify do listy Klasa pochodna i narażania go przez COM_INTERFACE_ENTRY makro.
IRowsetNotifyma trzy metody, które mogą być wywoływane w różnych okresach.Jeśli chcesz odpowiedzieć tylko jednej z tych metod, można użyć IRowsetNotifyImpl klasa, która oblicza E_NOTIMPL dla metody nie są zainteresowani.
Podczas tworzenia zestawu wierszy, użytkownik musi powiadomić dostawca ma obiektu zestaw wierszy zwracanych do obsługi IConnectionPointContainer, która jest potrzebna, aby skonfigurować powiadomienia.
Poniższy kod ilustruje sposób otwieranego zestaw wierszy z obiektu ATL AtlAdvise funkcja, aby zdefiniować obiekt sink powiadomienia.AtlAdviseZwraca pliku cookie, który jest używany podczas wywoływania 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);