Uma análise detalhada da plataforma Invoke
Invocação de plataforma depende de metadados para localizar funções exportadas e empacotar seus argumentos em tempo de execução. A ilustração a seguir mostra esse processo.
Uma plataforma de invocar a chamada para uma função DLL não gerenciada
Invocação de plataforma quando chama uma função não gerenciada, ele executa a seqüência de ações a seguir:
Localiza a DLL que contém a função.
Carrega a DLL na memória.
Localiza o endereço da função na memória e envia seus argumentos na pilha, o empacotamento de dados, conforme necessário.
Observação
Localizar e carregar a DLL e localizar o endereço da função na memória ocorrerem somente na primeira chamada à função.
Transfere o controle para a função não gerenciada.
Exceções de throws geradas pela função não gerenciada para o chamador gerenciado de invocação de plataforma.