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.
Pustaka yang tidak dikelola terletak dan dimuat menggunakan algoritma yang mencakup beberapa tahapan.
Algoritma berikut menjelaskan bagaimana pustaka asli dimuat melalui PInvoke.
PInvoke pustaka algoritma load
PInvoke menggunakan algoritma berikut saat mencoba memuat rakitan yang tidak dikelola:
Tentukan
activeAssemblyLoadContext. Untuk pustaka beban yang tidak dikelola,activeAssemblyLoadContext adalah pustaka dengan rakitan yang mendefinisikanPInvoke.activeAssemblyLoadContext Cobalah untuk menemukan perakitan dalam urutan prioritas dengan:Memeriksa cache-nya.
Memanggil delegasi System.Runtime.InteropServices.DllImportResolver yang saat ini ditetapkan oleh fungsi NativeLibrary.SetDllImportResolver(Assembly, DllImportResolver).
Memanggil fungsi AssemblyLoadContext.LoadUnmanagedDll pada AssemblyLoadContext
active.Memeriksa AppDomain cache instans dan menjalankan logika penyelidikan pustaka Unmanaged (native).
Menaikkan AssemblyLoadContext.ResolvingUnmanagedDll peristiwa untuk
activeAssemblyLoadContext.