Partilhar via


Chamando uma função DLL

Embora chamar funções DLL não gerenciadas seja quase idêntico a chamar outro código gerenciado, há diferenças que podem fazer com que as funções DLL pareçam confusas no início. Esta seção apresenta tópicos que descrevem alguns dos problemas incomuns relacionados a chamadas.

As estruturas retornadas de chamadas de invocação de plataforma devem ser tipos de dados que tenham a mesma representação em código gerenciado e não gerenciado. Esses tipos são chamados de tipos blittable porque não exigem conversão (consulte Blittable e Non-Blittable Types). Para chamar uma função que tem uma estrutura não-blittable como seu tipo de retorno, você pode definir um tipo auxiliar blittable do mesmo tamanho que o tipo não-blittable e converter os dados depois que a função retorna.

Nesta Secção

Estruturas de Passagem
Identifica os problemas de passagem de estruturas de dados com um layout predefinido.

Funções de retorno de chamada
Fornece informações básicas sobre funções de retorno de chamada.

Como: Implementar funções de retorno de chamada
Descreve como implementar funções de retorno de chamada em código gerenciado.

Consumindo funções DLL não gerenciadas
Descreve como chamar funções DLL não gerenciadas usando a invocação de plataforma.

Marshalling Data with Platform Invoke
Descreve como declarar parâmetros de método e passar argumentos para funções exportadas por bibliotecas não gerenciadas.