Metode IOleLink::BindToSource (oleidl.h)
Mengaktifkan koneksi ke sumber tautan dengan mengikat moniker yang disimpan dalam objek tertaut.
Sintaks
HRESULT BindToSource(
[in] DWORD bindflags,
[in] IBindCtx *pbc
);
Parameter
[in] bindflags
Menentukan cara melanjutkan jika sumber tautan memiliki CLSID yang berbeda dari terakhir kali terikat. Jika parameter ini nol dan CLSID berbeda, metode gagal dan mengembalikan OLE_E_CLASSDIFF. Jika nilai OLELINKBIND_EVENIFCLASSDIFF dari enumerasi OLELINKBIND ditentukan dan CLSID berbeda, metode berhasil mengikat dan memperbarui CLSID yang disimpan dalam objek tertaut.
[in] pbc
Penunjuk ke antarmuka IBindCtx pada konteks ikatan yang akan digunakan dalam operasi pengikatan ini. Parameter ini bisa NULL. Konteks ikatan menyimpan objek yang terikat selama proses pengikatan, berisi parameter yang berlaku untuk semua operasi menggunakan konteks ikatan, dan menyediakan sarana di mana implementasi pengikatan harus mengambil informasi tentang lingkungannya. Untuk informasi selengkapnya, lihat IBindCtx.
Menampilkan nilai
Metode ini mengembalikan S_OK pada keberhasilan. Kemungkinan nilai pengembalian lainnya termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Sumber tautan tidak terikat karena CLSID-nya telah berubah. Kesalahan ini dikembalikan hanya jika bendera OLELINKBIND_EVENIFCLASSDIFF tidak ditentukan dalam parameter bindflags . |
|
Sumber tautan tidak dapat ditemukan atau (jika moniker sumber tautan adalah komposit) beberapa objek perantara yang diidentifikasi dalam komposit tidak dapat ditemukan. |
|
Moniker tautan adalah NULL. |
Mengikat moniker mungkin memerlukan panggilan fungsi CreateBindCtx ; oleh karena itu, metode ini dapat mengembalikan kesalahan yang dihasilkan oleh CreateBindCtx.
Keterangan
Catatan untuk Penelepon
Biasanya, aplikasi kontainer Anda tidak perlu memanggil metode IOleLink::BindToSource secara langsung. Jika perlu mengaktifkan koneksi ke sumber tautan, kontainer Anda biasanya memanggil IOleObject::D oVerb, IOleObject::Update, atau IOleLink::Update. Implementasi objek tertaut dari metode ini memanggil IOleLink::BindToSource. Kontainer Anda juga dapat memanggil fungsi OleRun , yang memanggil IOleLink::BindToSource saat dipanggil pada objek tertaut.Dalam setiap contoh yang tercantum sebelumnya, di mana IOleLink::BindToSource dipanggil secara tidak langsung, parameter bindflags diatur ke nol. Akibatnya, panggilan ini dapat gagal dengan kesalahan OLE_E_CLASSDIFF jika kelas sumber tautan berbeda dari yang terakhir kali objek tertaut terikat. Ini bisa terjadi, misalnya, jika sumber tautan asli adalah spreadsheet Lotus yang disematkan yang kemudian dikonversi pengguna akhir (menggunakan kotak dialog Ubah Jenis) ke lembar bentang Excel.
Jika Anda ingin kontainer Anda mengikat meskipun sumber tautan sekarang memiliki CLSID yang berbeda, Anda dapat memanggil IOleLink::BindToSource secara langsung dan menentukan OLELINKBIND_EVENIFCLASSDIFF untuk parameter bindflags. Panggilan ini mengikat ke sumber tautan dan memperbarui CLSID objek tautan. Atau, kontainer Anda dapat menghapus tautan yang ada dan menggunakan fungsi OleCreateLink untuk membuat objek tertaut baru.
Catatan untuk Pelaksana
Objek yang ditautkan menyimpan penunjuk antarmuka ke sumber tautan yang diperoleh selama pengikatan.Implementasi IOleLink::BindToSource objek yang ditautkan pertama kali mencoba mengikat menggunakan moniker yang terdiri dari moniker dokumen majemuk yang terdiri dari moniker relatif sumber tautan. Jika berhasil, ini memperbarui moniker absolut tautan. Jika tidak, ia mencoba mengikat menggunakan moniker absolut, memperbarui moniker relatif jika berhasil.
Jika IOleLink::BindToSource mengikat ke sumber tautan, IOleContainer::LockContainer dokumen majemuk akan tetap aktif saat sumber tautan berjalan. IOleLink::BindToSource juga memanggil implementasi IOleObject::Advise dan IDataObject::D Advise dari sumber tautan untuk menyiapkan koneksi saran. Implementasi IOleLink::UnbindSource membuka kunci kontainer dan menghapus koneksi penasihat.
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
Saran dan Komentar
Kirim dan lihat umpan balik untuk