OLE DB มีอินเทอร์เฟซสำหรับการรับการแจ้งเตือนเมื่อมีเหตุการณ์เกิดขึ้น สิ่งเหล่านี้ได้อธิบายไว้ใน แจ้งบทของการอ้างอิงของ OLE DB โปรแกรมเมอร์ของ ตั้งค่าเหตุการณ์เหล่านี้ใช้จุดเชื่อมต่อกลไกมาตรฐานของ COM ตัวอย่างเช่น ATL วัตถุที่ต้องการเรียกใช้เหตุการณ์ผ่านIRowsetNotifyใช้อินเทอร์เฟซสำหรับIRowsetNotifyโดยการเพิ่มIRowsetNotifyในรายการมาคลา และการเปิดเผยข้อมูลดังกล่าวผ่านทางโคCOM_INTERFACE_ENTRY?
IRowsetNotifyมีสามวิธี ซึ่งสามารถถูกเรียกใช้ในช่วงเวลาต่าง ๆ ถ้าคุณต้องการตอบสนองเพียงหนึ่งของวิธีการเหล่านี้ คุณสามารถใช้คลาIRowsetNotifyImplซึ่งส่งกลับค่าE_NOTIMPLสำหรับวิธีการคุณไม่สนใจ?
เมื่อคุณสร้างการ rowset คุณต้องบอกผู้ให้บริการที่ คุณต้องการให้วัตถุ rowset ส่งกลับเพื่อสนับสนุนIConnectionPointContainerซึ่งจำเป็นต้องใช้เพื่อเซ็ตอัพการแจ้งเตือน?
รหัสต่อไปนี้แสดงวิธีการเปิดตัว rowset จากวัตถุ ATL แล้วใช้ฟังก์ชันAtlAdviseเพื่อตั้งอ่างแจ้งเตือน AtlAdviseส่งกลับค่าคุกกี้ที่จะใช้เมื่อคุณเรียกใช้AtlUnadvise?
CDBPropSet propset(DBPROPSET_ROWSET)
propsetAddProperty(DBPROP_IConnectionPointContainer, true)
ผลิตภัณฑ์เปิด (เซสชัน _T("Products") แอมป์ propset);
AtlAdvise (product.m_spRowset, GetUnknown(), IID_IRowsetNotify และ m_dwCookie)(&A)