Bagikan melalui


Fungsi CreateBindCtx (objbase.h)

Mengembalikan pointer ke implementasi IBindCtx (objek konteks ikatan). Objek ini menyimpan informasi tentang operasi pengikatan moniker tertentu.

Sintaks

HRESULT CreateBindCtx(
  [in]  DWORD reserved,
  [out] LPBC  *ppbc
);

Parameter

[in] reserved

Parameter ini dicadangkan dan harus 0.

[out] ppbc

Alamat variabel pointer IBindCtx* yang menerima penunjuk antarmuka ke objek konteks ikatan baru. Ketika fungsi berhasil, pemanggil bertanggung jawab untuk memanggil Rilis pada konteks ikatan. Nilai NULL untuk konteks ikat menunjukkan bahwa terjadi kesalahan.

Nilai kembali

Fungsi ini dapat mengembalikan nilai pengembalian standar E_OUTOFMEMORY dan S_OK.

Keterangan

CreateBindCtx paling umum digunakan dalam proses pengikatan moniker (menemukan dan mendapatkan penunjuk ke antarmuka dengan mengidentifikasinya melalui moniker), seperti pada langkah-langkah berikut:

  1. Dapatkan penunjuk ke konteks ikatan dengan memanggil fungsi CreateBindCtx .
  2. Panggil metode IMoniker::BindToObject pada moniker, mengambil penunjuk antarmuka ke objek yang dirujuk moniker.
  3. Merilis konteks ikatan.
  4. Gunakan penunjuk antarmuka.
  5. Lepaskan penunjuk antarmuka.
Fragmen kode berikut mengilustrasikan langkah-langkah ini.
// pMnk is an IMoniker * that points to a previously acquired moniker 
IInterface *pInterface; 
IBindCtx *pbc; 
 
CreateBindCtx( 0, &pbc ); 
pMnk->BindToObject( pbc, NULL, IID_IInterface, &pInterface ); 
pbc->Release(); 

// pInterface now points to the object; safe to use pInterface 
pInterface->Release(); 

Konteks ikat juga digunakan dalam metode lain dari antarmuka IMoniker selain IMoniker::BindToObject dan dalam fungsi MkParseDisplayName .

Konteks ikatan mempertahankan referensi ke objek yang terikat selama operasi pengikatan, menyebabkan objek terikat tetap aktif (menjaga server objek tetap berjalan) hingga konteks ikatan dirilis. Menggunakan kembali konteks ikatan saat operasi berikutnya mengikat ke objek yang sama dapat meningkatkan performa. Namun, Anda harus merilis konteks ikatan sesegera mungkin, karena Anda dapat menjaga objek tetap diaktifkan secara tidak perlu.

Konteks ikatan berisi struktur BIND_OPTS , yang berisi parameter yang berlaku untuk semua langkah dalam operasi pengikatan. Saat Anda membuat konteks ikatan menggunakan CreateBindCtx, bidang struktur BIND_OPTS diinisialisasi sebagai berikut.

cbStruct = sizeof(BIND_OPTS) 
grfFlags = 0 
grfMode = STGM_READWRITE 
dwTickCountDeadline = 0

Anda dapat memanggil metode IBindCtx::SetBindOptions untuk mengubah nilai default ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header objbase.h
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

IBindCtx

IMoniker

MkParseDisplayName