Bagikan melalui


Metode ITypeComp::Bind (oaidl.h)

Memetakan nama ke anggota jenis, atau mengikat variabel dan fungsi global yang terkandung dalam pustaka jenis.

Sintaks

HRESULT Bind(
  [in]  LPOLESTR  szName,
  [in]  ULONG     lHashVal,
  [in]  WORD      wFlags,
  [out] ITypeInfo **ppTInfo,
  [out] DESCKIND  *pDescKind,
  [out] BINDPTR   *pBindPtr
);

Parameter

[in] szName

Nama yang akan diikat.

[in] lHashVal

Nilai hash untuk nama yang dihitung oleh LHashValOfNameSys.

[in] wFlags

Satu atau beberapa bendera yang ditentukan dalam enumerasi INVOKEKIND. Menentukan apakah nama dirujuk sebagai metode atau properti. Saat mengikat ke variabel, tentukan bendera INVOKE_PROPERTYGET. Tentukan nol untuk mengikat ke semua jenis anggota.

[out] ppTInfo

Jika FUNCDESC atau VARDESC dikembalikan, maka ppTInfo menunjuk ke penunjuk ke deskripsi jenis yang berisi item yang terikat.

[out] pDescKind

Menunjukkan apakah nama yang terikat adalah VARDESC, FUNCDESC, atau TYPECOMP. Jika tidak ada kecocokan, DESCKIND_NONE.

[out] pBindPtr

Antarmuka bound-to VARDESC, FUNCDESC, atau ITypeComp .

Nilai kembali

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
E_OUTOFMEMORY
Tidak cukup memori untuk menyelesaikan operasi.

Keterangan

Gunakan Ikatan untuk mengikat variabel dan metode jenis, atau untuk mengikat variabel dan metode global dalam pustaka jenis. PDescKind penunjuk DESCKIND yang dikembalikan menunjukkan apakah namanya terikat ke VARDESC, FUNCDESC, atau ke instans ITypeComp. pBindPtr yang dikembalikan menunjuk ke VARDESC, FUNCDESC, atau ITypeComp.

Jika anggota data atau metode terikat, maka ppTInfopoints ke deskripsi jenis yang berisi metode atau anggota data.

Jika Bind mengikat nama ke konteks pengikatan berlapis, binding mengembalikan pointer ke instans ITypeComp di pBindPtr dan penunjuk deskripsi jenis null di ppTInfo. Misalnya, jika nama deskripsi jenis diteruskan untuk modul (TKIND_MODULE), enumerasi (TKIND_ENUM), atau coclass (TKIND_COCLASS), Bind mengembalikan instans ITypeComp dari deskripsi jenis untuk modul, enumerasi, atau coclass. Fitur ini mendukung bahasa seperti Visual Basic yang memungkinkan referensi ke anggota deskripsi jenis memenuhi syarat dengan nama deskripsi jenis. Misalnya, fungsi dalam modul dapat dirujuk oleh modulename. nama fungsi.

Anggota jenis TKIND_ENUM, TKIND_MODULE, dan TKIND_COCLASS yang ditandai sebagai Objek aplikasi dapat diikat langsung dari ITypeComp, tanpa menentukan nama modul. ITypeComp dari coclass menunda ke ITypeComp dari antarmuka defaultnya.

Seperti metode ITypeComp, ITypeInfo, dan ITypeInfo lainnya, kode panggilan bertanggung jawab untuk merilis instans atau struktur objek yang dikembalikan. Jika VARDESC atau FUNCDESC dikembalikan, pemanggil bertanggung jawab untuk menghapusnya dengan deskripsi jenis yang dikembalikan dan merilis instans deskripsi jenis itu sendiri. Jika tidak, jika instans ITypeComp dikembalikan, pemanggil harus merilisnya.

Aturan khusus berlaku jika Anda memanggil metode Bind pustaka jenis, meneruskannya dengan nama anggota kelas objek Aplikasi (kelas yang memiliki set bendera TYPEFLAG_FAPPOBJECT). Dalam hal ini, Bind mengembalikan DESCKIND_IMPLICITAPPOBJ di pDescKind, VARDESC yang menjelaskan objek Aplikasi di pBindPtr, dan ITypeInfo dari kelas objek Aplikasi di ppTInfo. Untuk mengikat objek, ITypeInfo::GetTypeComp harus melakukan panggilan untuk mendapatkan ITypeComp dari kelas objek Aplikasi, lalu mencabut metode Bind-nya dengan nama yang awalnya diteruskan ke ITypeComp pustaka jenis.

Pemanggil harus menggunakan penunjuk ITypeInfo yang dikembalikan (ppTInfo) untuk mendapatkan alamat anggota.

Catatan Parameter wflags sama dengan parameter wflags di IDispatch::Invoke.
 

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header oaidl.h

Lihat juga

ITypeComp