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.
[Didukung di .NET Framework 4.5.2 dan versi yang lebih baru]
Memberi tahu profiler bahwa rakitan berada dalam tahap pemuatan yang sangat awal, ketika runtime bahasa umum melakukan jalan penutupan referensi perakitan.
Syntax
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parameters
wszAssemblyPath [di] Jalur dan nama rakitan yang metadatanya akan dimodifikasi.
pAsmRefProvider [di] Penunjuk ke alamat antarmuka ICorProfilerAssemblyReferenceProvider yang menentukan referensi perakitan yang akan ditambahkan.
Return Value
Nilai pengembalian dari panggilan balik ini diabaikan.
Remarks
Panggilan balik ini dikontrol dengan mengatur bendera masker peristiwa COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES saat memanggil metode ICorProfilerCallback5::SetEventMask2 . Jika profiler mendaftar untuk metode panggilan balik ICorProfilerCallback6::GetAssemblyReferences , runtime meneruskan jalur dan nama rakitan yang akan dimuat, bersama dengan penunjuk ke objek antarmuka ICorProfilerAssemblyReferenceProvider ke metode tersebut. Profiler kemudian dapat memanggil metode ICorProfilerAssemblyReferenceProvider::AddAssemblyReference dengan COR_PRF_ASSEMBLY_REFERENCE_INFO objek untuk setiap rakitan target yang rencananya akan direferensikan dari rakitan yang ditentukan dalam GetAssemblyReferences panggilan balik.
GetAssemblyReferences Gunakan panggilan balik hanya jika profiler harus memodifikasi metadata perakitan untuk menambahkan referensi perakitan. (Tetapi perhatikan bahwa modifikasi aktual metadata rakitan dilakukan dalam metode panggilan balik ICorProfilerCallback::ModuleLoadFinished.) Profiler harus menerapkan GetAssemblyReferences metode panggilan balik untuk menginformasikan runtime bahasa umum (CLR) bahwa referensi perakitan akan ditambahkan ketika modul telah dimuat. Ini membantu memastikan bahwa keputusan berbagi perakitan yang dibuat oleh CLR selama tahap awal ini tetap valid meskipun profiler berencana untuk memodifikasi referensi perakitan metadata nanti. Ini dapat menghindari beberapa instans di mana modifikasi metadata profiler menyebabkan kesalahan SECURITY_E_INCOMPATIBLE_SHARE .
Profiler menggunakan objek ICorProfilerAssemblyReferenceProvider yang disediakan oleh metode ini untuk menambahkan referensi perakitan ke walker penutup referensi perakitan CLR. Objek ICorProfilerAssemblyReferenceProvider harus digunakan hanya dari dalam panggilan balik ini. Panggilan ke metode ICorProfilerAssemblyReferenceProvider::AddAssemblyReference dari panggilan balik ini tidak menghasilkan metadata yang dimodifikasi, tetapi hanya dalam eksekusi penutupan referensi rakitan yang dimodifikasi. Profiler masih harus menggunakan objek IMetaDataAssemblyEmit untuk secara eksplisit menambahkan referensi rakitan dari dalam panggilan balik ICorProfilerCallback::ModuleLoadFinished untuk perakitan referensi, bahkan jika mengimplementasikan GetAssemblyReferences panggilan balik.
Profiler harus siap untuk menerima panggilan duplikat ke panggilan balik ini untuk rakitan yang sama, dan harus merespons secara identik untuk setiap panggilan duplikat tersebut (dengan membuat set panggilan ICorProfilerAssemblyReferenceProvider::AddAssemblyReference yang sama).
Requirements
Platform: Lihat Persyaratan Sistem.
Header: CorProf.idl, CorProf.h
Library: CorGuids.lib
Versi .NET Framework: Tersedia sejak 4.5.2