接收告知

OLE DB 提供在事件發生時接收通知的介面。 這些描述於 OLE DB 程式設計人員參考中的 OLE DB 物件通知。 這些事件的設定會使用標準 COM 連接點機制。 例如,想要透過 IRowsetNotifyIRowsetNotify 作 介面來擷取事件的ATL物件,方法是將 新增 IRowsetNotify 至類別衍生清單,並透過COM_INTERFACE_ENTRY 巨集公開事件。

IRowsetNotify 有三種方法,可在各種時間呼叫。 如果您想要只回應其中一種方法,您可以使用 IRowsetNotifyImpl 類別,這會針對您不感興趣的方法傳回E_NOTIMPL。

當您建立資料列集時,您必須告訴提供者您想要傳回的數據列集物件支援 IConnectionPointContainer,這是設定通知所需的。

下列程式代碼示範如何從 ATL 物件開啟數據列集,並使用 函 AtlAdvise 式來設定通知接收。 AtlAdvise 會傳回呼叫 AtlUnadvise時所使用的Cookie。

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

然後,由下列程序代碼使用:

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

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

另請參閱

使用存取子