Bagikan melalui


Metode IViewObject::SetAdvise (oleidl.h)

Membuat koneksi antara objek tampilan dan sink saran sehingga sink saran dapat diberi tahu tentang perubahan tampilan objek.

Sintaks

HRESULT SetAdvise(
  [in] DWORD       aspects,
  [in] DWORD       advf,
  [in] IAdviseSink *pAdvSink
);

Parameter

[in] aspects

Tampilan yang koneksi penasihatnya sedang disiapkan. Nilai yang valid diambil dari DVASPECT enumerasi. Lihat enumerasi DVASPECT untuk informasi selengkapnya.

[in] advf

Berisi sekelompok bendera untuk mengontrol koneksi penasihat. Nilai yang valid berasal dari ADVF enumerasi. Namun, hanya beberapa nilai ADVF yang mungkin relevan untuk metode ini. Tabel berikut ini menjelaskan secara singkat nilai yang relevan. Lihat enumerasi ADVF untuk deskripsi yang lebih rinci.

Nilai Makna
ADVF_ONLYONCE
Menyebabkan koneksi penasihat dihancurkan setelah pemberitahuan pertama dikirim.
ADVF_PRIMEFIRST
Menyebabkan pemberitahuan awal dikirim terlepas dari apakah data telah berubah dari statusnya saat ini.
 
Catatan ADVF_ONLYONCE dan ADVF_PRIMEFIRST dapat digabungkan untuk memberikan panggilan asinkron ke IDataObject::GetData.
 

[in] pAdvSink

Arahkan ke antarmuka IAdviseSink pada sink penasihat yang akan diberi tahu tentang perubahan. Nilai NULL menghapus koneksi penasihat yang ada.

Mengembalikan nilai

Metode ini mengembalikan S_OK pada keberhasilan. Kemungkinan nilai pengembalian lainnya termasuk yang berikut ini.

Menampilkan kode Deskripsi
OLE_E_ADVISENOTSUPPORTED
Pemberitahuan saran tidak didukung.
DV_E_DVASPECT
Nilai tidak valid untuk dwAspect.
E_INVALIDARG
Satu atau beberapa nilai yang disediakan tidak valid.
E_OUTOFMEMORY
Tidak tersedia cukup memori untuk operasi ini.

Keterangan

Aplikasi kontainer yang meminta operasi gambar pada objek tampilan juga dapat mendaftar dengan metode IViewObject::SetAdvise untuk diberi tahu saat presentasi objek tampilan berubah. Untuk mengetahui tentang kapan data yang mendasar objek berubah, Anda harus memanggil IDataObject::D Advise secara terpisah.

Untuk menghapus koneksi nasihat yang ada, panggil metode IViewObject::SetAdvise dengan pAdvSink diatur ke NULL.

Jika objek tampilan berubah, panggilan dilakukan ke sink saran yang sesuai melalui metode IAdviseSink::OnViewChange .

Kapan saja, objek tampilan tertentu hanya dapat mendukung satu koneksi penasihat. Oleh karena itu, ketika IViewObject::SetAdvise dipanggil dan objek tampilan sudah berpegang pada pointer sink saran, OLE merilis pointer yang ada sebelum yang baru terdaftar.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header oleidl.h

Lihat juga

ADVF

IAdviseSink

IViewObject

IViewObject::GetAdvise