Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A nem felügyelt kódtárak különböző fázisokat tartalmazó algoritmussal vannak elhelyezve és betöltve.
Az alábbi algoritmus ismerteti, hogyan töltődnek be a natív kódtárak a PInvoke által.
PInvoke kódtár-algoritmus betöltése
PInvoke a következő algoritmust használja, amikor nem menedzselt szerelvényt próbál betölteni:
Határozza meg a
activeAssemblyLoadContext. Nem felügyelt betöltési kódtárak esetén aactiveAssemblyLoadContext az, amelyhez az a szerelvény tartozik, amelyik meghatározza aPInvoke.Próbálja meg az
activeAssemblyLoadContext összeszerelést prioritási sorrendben megtalálni a következő módon:Gyorsítótárának ellenőrzése.
Az aktuális System.Runtime.InteropServices.DllImportResolver delegált meghívása, amelyet a NativeLibrary.SetDllImportResolver(Assembly, DllImportResolver) függvény állított be.
A AssemblyLoadContext.LoadUnmanagedDll függvény meghívása az
activeAssemblyLoadContext objektumon.AppDomain A példány gyorsítótárának ellenőrzése és a nem felügyelt (natív) könyvtárfelderítési logika futtatása.
AssemblyLoadContext.ResolvingUnmanagedDll A AssemblyLoadContext eseményének
activenövelése.