Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As bibliotecas não gerenciadas são localizadas e carregadas com um algoritmo que envolve vários estágios.
O algoritmo a seguir descreve como as bibliotecas nativas são carregadas através do PInvoke.
PInvoke Carregar algoritmo de biblioteca
PInvoke usa o seguinte algoritmo ao tentar carregar um assembly não gerenciado:
Determine o
activeAssemblyLoadContextarquivo . Para uma biblioteca de carga não gerenciada, oactiveAssemblyLoadContext é aquele com o assembly que define oPInvoke.Para o
activeAssemblyLoadContext, tente encontrar a montagem em ordem de prioridade por:Verificando seu cache.
Chamando o delegado atual System.Runtime.InteropServices.DllImportResolver definido pela NativeLibrary.SetDllImportResolver(Assembly, DllImportResolver) função.
Chamando a AssemblyLoadContext.LoadUnmanagedDll função no
activeAssemblyLoadContext.Verificar o cache da AppDomain instância e executar a lógica de sondagem da biblioteca não gerenciada (nativa).
Levantando o AssemblyLoadContext.ResolvingUnmanagedDll evento para o
activeAssemblyLoadContext.