Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os assemblies não gerenciados estão localizados e são carregados com um algoritmo que envolve várias fases.
O algoritmo a seguir descreve como as bibliotecas nativas são carregadas por meio de PInvoke.
Algoritmo de carregamento de biblioteca PInvoke
PInvoke usa o seguinte algoritmo ao tentar carregar um assembly não gerenciado:
Determinar o
activeAssemblyLoadContext. Para uma biblioteca de carregamento não gerenciada, o AssemblyLoadContext deactiveé aquele com o assembly que define oPInvoke.Para o
activeAssemblyLoadContext, tente localizar o assembly em ordem de prioridade:Verificando o respectivo cache.
Chamando o delegado atual System.Runtime.InteropServices.DllImportResolver definido pela função NativeLibrary.SetDllImportResolver(Assembly, DllImportResolver).
Chamando a função AssemblyLoadContext.LoadUnmanagedDll no AssemblyLoadContext de
active.Verificando o cache da instância AppDomain e executando a lógica de Investigação de biblioteca não gerenciada (nativa).
Gerando o evento AssemblyLoadContext.ResolvingUnmanagedDll para o AssemblyLoadContext de
active.