Udostępnij za pośrednictwem


Odbieranie powiadomień

Ole DB udostępnia interfejsy do odbierania powiadomień w przypadku wystąpienia zdarzeń. Są one opisane w powiadomieniach o obiektach OLE DB w dokumentacji programisty OLE DB. Konfiguracja tych zdarzeń używa standardowego mechanizmu punktu połączenia COM. Na przykład obiekt ATL, który chce pobierać zdarzenia za pośrednictwem IRowsetNotify implementuje IRowsetNotify interfejs, dodając IRowsetNotify go do listy pochodnej klasy i uwidaczniając go za pośrednictwem makra COM_INTERFACE_ENTRY.

IRowsetNotify ma trzy metody, które mogą być wywoływane w różnych momentach. Jeśli chcesz odpowiedzieć tylko na jedną z tych metod, możesz użyć klasy IRowsetNotifyImpl , która zwraca E_NOTIMPL dla metod, których nie interesujesz.

Podczas tworzenia zestawu wierszy należy poinformować dostawcę, że obiekt zwracanego zestawu wierszy ma obsługiwać IConnectionPointContainerobiekt , który jest wymagany do skonfigurowania powiadomienia.

Poniższy kod pokazuje, jak otworzyć zestaw wierszy z obiektu ATL i użyć AtlAdvise funkcji do skonfigurowania ujścia powiadomień. AtlAdvise Zwraca plik cookie używany podczas wywoływania metody AtlUnadvise.

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

Następnie używany przez następujący kod:

product.Open(session, _T("Products"), &propset);

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

Zobacz też

Korzystanie z metod dostępu