Sdílet prostřednictvím


Příjem oznámení

OLE DB poskytuje rozhraní pro příjem oznámení, když dojde k událostem. Tyto informace jsou popsány v oznámení o objektech OLE DB v odkazech programátora OLE DB. Nastavení těchto událostí používá standardní mechanismus spojovacího bodu modelu COM. Například objekt ATL, který chce načíst události prostřednictvím IRowsetNotify implementuje IRowsetNotify rozhraní přidáním IRowsetNotify do odvozeného seznamu tříd a zveřejněním prostřednictvím COM_INTERFACE_ENTRY makra.

IRowsetNotify má tři metody, které lze volat v různých časech. Pokud chcete odpovědět pouze na jednu z těchto metod, můžete použít IRowsetNotifyImpl třídy, která vrací E_NOTIMPL pro metody, které vás nezajímají.

Při vytváření sady řádků musíte poskytovateli sdělit, že chcete, aby vrácený objekt sady řádků podporoval IConnectionPointContainer, což je potřeba k nastavení oznámení.

Následující kód ukazuje, jak otevřít sadu řádků z objektu ATL a pomocí AtlAdvise funkce nastavit jímku oznámení. AtlAdvise vrátí soubor cookie, který se používá při volání AtlUnadvise.

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

Potom ho použije následující kód:

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

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

Viz také

Použití přístupových objektů