Enumerasi ADVF (objidl.h)
Bendera yang mengontrol penembolokan dan pemberitahuan perubahan data.
Sintaks
typedef enum tagADVF {
ADVF_NODATA = 1,
ADVF_PRIMEFIRST = 2,
ADVF_ONLYONCE = 4,
ADVF_DATAONSTOP = 64,
ADVFCACHE_NOHANDLER = 8,
ADVFCACHE_FORCEBUILTIN = 16,
ADVFCACHE_ONSAVE = 32
} ADVF;
Konstanta
ADVF_NODATA Nilai: 1 Untuk koneksi saran data (IDataObject::D Advise atau IDataAdviseHolder::Advise), bendera ini meminta objek data untuk tidak mengirim data saat memanggil IAdviseSink::OnDataChange. Penerima pemberitahuan perubahan nantinya dapat meminta data dengan memanggil IDataObject::GetData. Objek data dapat mematuhi permintaan dengan meneruskan TYMED_NULL dalam parameter STGMEDIUM, atau tetap dapat memberikan data. Misalnya, objek data mungkin memiliki beberapa koneksi penasihat, tidak semuanya ditentukan ADVF_NODATA, dalam hal ini objek mungkin mengirim pemberitahuan yang sama ke semua koneksi. Terlepas dari permintaan kontainer, implementasi IAdviseSink-nya harus memeriksa parameter STGMEDIUM karena bertanggung jawab untuk merilis media jika tidak TYMED_NULL. Untuk koneksi cache (IOleCache::Cache), bendera ini meminta agar cache tidak diperbarui oleh perubahan yang dibuat pada objek yang sedang berjalan. Sebagai gantinya, kontainer akan memperbarui cache dengan secara eksplisit memanggil IOleCache::SetData. Situasi ini biasanya terjadi ketika aspek ikonik objek sedang di-cache. ADVF_NODATA bukan bendera yang valid untuk melihat koneksi penasihat (IViewObject::SetAdvise) dan mengembalikan E_INVALIDARG. |
ADVF_PRIMEFIRST Nilai: 2 Meminta agar objek tidak menunggu data atau tampilan berubah sebelum melakukan panggilan awal ke IAdviseSink::OnDataChange (untuk data atau melihat koneksi saran) atau memperbarui cache (untuk koneksi cache). Digunakan dengan ADVF_ONLYONCE, parameter ini menyediakan panggilan IDataObject::GetData asinkron. |
ADVF_ONLYONCE Nilai: 4 Permintaan agar objek hanya membuat satu pemberitahuan perubahan atau pembaruan cache sebelum menghapus koneksi. ADVF_ONLYONCE secara otomatis menghapus koneksi penasihat setelah mengirim satu data atau melihat pemberitahuan. Sink saran hanya menerima satu panggilan IAdviseSink . Pengidentifikasi koneksi bukan nol dikembalikan jika koneksi dibuat, sehingga pemanggil dapat menggunakannya untuk menghapus koneksi sebelum pemberitahuan perubahan pertama. Untuk pemberitahuan perubahan data, kombinasi ADVF_ONLYONCE dan ADVF_PRIMEFIRST menyediakan, berlaku, panggilan IDataObject::GetData asinkron. Saat digunakan dengan penembolokan, ADVF_ONLYONCE memperbarui cache satu kali saja, pada tanda terima pemberitahuan IAdviseSink::OnDataChange pertama. Setelah pembaruan selesai, koneksi saran antara objek dan cache terputus. Objek sumber untuk koneksi penasihat memanggil metode Rilis . |
ADVF_DATAONSTOP Nilai: 64 Untuk koneksi saran data, pastikan aksesibilitas ke data. Bendera ini menunjukkan bahwa ketika objek data ditutup, ia harus memanggil , menyediakan data dengan panggilan. Biasanya, nilai ini digunakan dalam kombinasi dengan ADVF_NODATA. TanpaIAdviseSink::OnDataChange adalah nilai, pada saat panggilan OnDataChange tanpa data mencapai sink, sumber mungkin telah menyelesaikan pematiannya dan data mungkin tidak dapat diakses. Sink yang menentukan nilai ini harus menerima data yang disediakan di OnDataChange jika diteruskan, karena mungkin tidak mendapatkan kesempatan lain untuk mengambilnya. Untuk koneksi cache, bendera ini menunjukkan bahwa objek harus memperbarui cache sebagai bagian dari penutupan objek. ADVF_DATAONSTOP bukan bendera yang valid untuk melihat koneksi saran. |
ADVFCACHE_NOHANDLER Nilai: 8 Sinonim untuk ADVFCACHE_FORCEBUILTIN, yang lebih sering digunakan. |
ADVFCACHE_FORCEBUILTIN Nilai: 16 Nilai ini digunakan oleh aplikasi objek DLL dan penangan objek yang melakukan gambar objek mereka. ADVFCACHE_FORCEBUILTIN menginstruksikan OLE untuk menyimpan data presentasi untuk memastikan bahwa ada presentasi dalam cache. Nilai ini bukan bendera yang valid untuk data atau melihat koneksi saran. Untuk koneksi cache, bendera ini menyimpan data yang hanya memerlukan kode yang dikirim dengan OLE (atau sistem operasi yang mendasar) untuk hadir guna menghasilkannya dengan IDataObject::GetData atau IViewObject::D raw. Dengan menentukan nilai ini, kontainer dapat memastikan bahwa data dapat diambil bahkan ketika objek atau kode handler tidak tersedia. |
ADVFCACHE_ONSAVE Nilai: 32 Untuk koneksi cache, bendera ini memperbarui representasi yang di-cache hanya ketika objek yang berisi cache disimpan. Cache juga diperbarui ketika objek OLE beralih dari status berjalan kembali ke status dimuat (karena operasi penyimpanan berikutnya akan memerlukan menjalankan ulang objek). Nilai ini bukan bendera yang valid untuk data atau melihat koneksi saran. |
Keterangan
Untuk koneksi saran data atau tampilan, kontainer menggunakan konstanta ADVF saat menyiapkan koneksi antara instans IAdviseSink dan instans IDataObject atau IViewObject . Koneksi ini disiapkan menggunakan metode IDataObject::D Advise, IDataAdviseHolder::Advise, atau IViewObject::SetAdvise .
Untuk koneksi penembolokan, konstanta ditentukan dalam metode IOleCache::Cache untuk menunjukkan permintaan kontainer tentang bagaimana objek harus memperbarui cache-nya.
Konstanta ini juga digunakan dalam anggota advf dari struktur STATDATA . Struktur ini digunakan oleh IEnumSTATDATA untuk menjelaskan koneksi yang dijumlahkan, dan anggota advf menunjukkan bendera yang ditentukan ketika koneksi penasihat atau cache dibuat. Ketika STATDATA digunakan untuk enumerator IOleObject::EnumAdvise , anggota advf tidak ditentukan.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | objidl.h |