Bagikan melalui


Menerima Pemberitahuan

OLE DB menyediakan antarmuka untuk menerima pemberitahuan saat peristiwa terjadi. Ini dijelaskan dalam Pemberitahuan Objek OLE DB dalam Referensi Programmer OLE DB. Penyiapan peristiwa ini menggunakan mekanisme titik koneksi COM standar. Misalnya, objek ATL yang ingin mengambil peristiwa melalui IRowsetNotify mengimplementasikan IRowsetNotify antarmuka dengan menambahkan ke daftar turunan IRowsetNotify kelas dan mengeksposnya melalui makro COM_INTERFACE_ENTRY.

IRowsetNotify memiliki tiga metode, yang dapat dipanggil pada berbagai waktu. Jika Anda hanya ingin menanggapi salah satu metode ini, Anda dapat menggunakan kelas IRowsetNotifyImpl , yang mengembalikan E_NOTIMPL untuk metode yang tidak Anda minati.

Saat membuat set baris, Anda harus memberi tahu penyedia bahwa Anda ingin objek set baris yang dikembalikan didukung IConnectionPointContainer, yang diperlukan untuk menyiapkan pemberitahuan.

Kode berikut menunjukkan cara membuka set baris dari objek ATL dan menggunakan AtlAdvise fungsi untuk menyiapkan sink pemberitahuan. AtlAdvise mengembalikan cookie yang digunakan saat Anda memanggil AtlUnadvise.

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

Kemudian, digunakan oleh kode berikut:

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

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

Lihat juga

Menggunakan Accessors