Bagikan melalui


Metode IOleObject::SetMoniker (oleidl.h)

Memberi tahu objek moniker kontainernya, moniker objek itu sendiri relatif terhadap kontainer, atau moniker penuh objek.

Sintaks

HRESULT SetMoniker(
  [in] DWORD    dwWhichMoniker,
  [in] IMoniker *pmk
);

Parameter

[in] dwWhichMoniker

Moniker diteruskan dalam pmk. Nilai yang mungkin berasal dari enumerasi OLEWHICHMK.

[in] pmk

Arahkan ke tempat mengembalikan moniker.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_FAIL
Operasi gagal.

Keterangan

Kontainer yang mendukung tautan ke objek yang disematkan harus dapat menginformasikan objek yang disematkan ketika monikernya telah berubah. Jika tidak, upaya berikutnya dengan menautkan klien untuk mengikat objek akan gagal. Metode IOleObject::SetMoniker menyediakan salah satu cara bagi kontainer untuk mengomunikasikan informasi ini.

Kontainer dapat melewati monikernya sendiri, moniker objek yang relatif terhadap kontainer, atau moniker penuh objek. Dalam praktiknya, jika kontainer melewati apa pun selain moniker penuh objek, setiap objek memanggil kontainer kembali untuk meminta penetapan moniker penuh, yang diperlukan objek untuk mendaftarkan dirinya dalam tabel objek yang sedang berjalan.

Moniker objek yang relatif terhadap kontainernya disimpan oleh handler objek sebagai bagian dari status persisten objek. Moniker kontainer objek, bagaimanapun, tidak boleh disimpan secara terus-menerus di dalam objek karena kontainer dapat diganti namanya kapan saja.

Catatan untuk Penelepon

Kontainer memanggil IOleObject::SetMoniker ketika kontainer telah diganti namanya, dan objek yang disematkan kontainer saat ini atau berpotensi berfungsi sebagai sumber tautan. Kontainer memanggil SetMoniker terutama dalam konteks penautan karena objek yang disematkan sudah mengetahui monikernya. Bahkan dalam konteks penautan, memanggil metode ini bersifat opsional karena objek dapat memanggil IOleClientSite::GetMoniker untuk memaksa penugasan moniker baru.

Catatan untuk Pelaksana

Setelah menerima panggilan ke IOleObject::SetMoniker, objek harus mendaftarkan moniker penuhnya di tabel objek yang sedang berjalan dan mengirim pemberitahuan IAdviseSink::OnRename ke semua sink saran yang ada untuk objek.

Persyaratan

Persyaratan Nilai
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

CreateItemMoniker

IAdviseSink::OnRename

IOleClientSite::GetMoniker

IOleObject

IOleObject::GetMoniker