Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat referensi ke anggota jenis atau modul yang ditentukan di luar cakupan saat ini, dan menentukan token untuk referensi tersebut.
Syntax
HRESULT DefineImportMember (
[in] IMetaDataAssemblyImport *pAssemImport,
[in] const void *pbHashValue,
[in] ULONG cbHashValue,
[in] IMetaDataImport *pImport,
[in] mdToken mbMember,
[in] IMetaDataAssemblyEmit *pAssemEmit,
[in] mdToken tkParent,
[out] mdMemberRef *pmr
);
Parameters
pAssemImport [di] Antarmuka IMetaDataAssemblyImport yang mewakili assembly tempat anggota target diimpor.
pbHashValue [di] Array yang berisi hash untuk rakitan yang ditentukan oleh pAssemImport.
cbHashValue [di] Jumlah byte dalam pbHashValue array.
pImport [di] Antarmuka IMetaDataImport yang mewakili cakupan metadata tempat anggota target diimpor.
mbMember [di] Token metadata yang menentukan anggota target. Token dapat berupa mdMethodDef token (untuk metode anggota), mdProperty (untuk properti anggota), atau mdFieldDef (untuk bidang anggota).
pAssemEmit [di] Antarmuka IMetaDataAssemblyEmit yang mewakili perakitan tempat anggota target diimpor.
tkParent [di] Token mdTypeRef atau mdModuleRef untuk jenis atau modul, masing-masing, yang memiliki anggota target.
pmr [out] Token mdMemberRef yang ditentukan dalam cakupan saat ini untuk referensi anggota.
Remarks
Metode DefineImportMember mencari anggota, yang ditentukan oleh mbMember, yang didefinisikan dalam cakupan lain, yang ditentukan oleh pImport, dan mengambil propertinya. Ini menggunakan informasi ini untuk memanggil metode IMetaDataEmit::D efineMemberRef dalam cakupan saat ini untuk membuat referensi anggota.
Umumnya, sebelum menggunakan metode , DefineImportMember Anda harus membuat, dalam cakupan saat ini, referensi jenis atau referensi modul untuk kelas induk, antarmuka, atau modul anggota target. Token metadata untuk referensi ini kemudian diteruskan dalam tkParent argumen. Anda tidak perlu membuat referensi ke induk anggota target jika akan diselesaikan nanti oleh pengkompilasi atau linker. To summarize:
Jika anggota target adalah bidang atau metode, gunakan metode IMetaDataEmit::D efineTypeRefByName atau metode IMetaDataEmit::D efineImportType untuk membuat referensi jenis, dalam cakupan saat ini, untuk kelas induk anggota atau antarmuka induk.
Jika anggota target adalah variabel global atau fungsi global (yaitu, bukan anggota kelas atau antarmuka), gunakan metode IMetaDataEmit::D efineModuleRef untuk membuat referensi modul, dalam cakupan saat ini, untuk modul induk anggota.
Jika induk anggota target akan diselesaikan nanti oleh pengkompilasi atau pengtaut, maka teruskan
mdTokenNiltkParent. Satu-satunya skenario di mana ini berlaku adalah ketika fungsi global atau variabel global sedang diimpor dari file .obj yang pada akhirnya akan ditautkan ke dalam modul saat ini dan metadata digabungkan.
Requirements
Platform: Lihat Sistem operasi yang didukung .NET.
Header: Cor.h
Library: CorGuids.lib