Compartilhar via


Chamando uma função de DLL

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

Estruturas retornadas de chamadas de invocação de plataforma devem ser tipos de dados que têm a mesma representação em um código gerenciado e não gerenciado. Esses tipos são chamados de tipos blittable porque não exigem conversão (consulte Tipos blittable e não blittable). Para chamar uma função que tem uma estrutura não blittable como seu tipo de retorno, é possível definir um tipo de auxiliar blittable do mesmo tamanho do tipo não blittable e converter os dados depois que a função é retornada.

Nesta seção

Passando estruturas
Identifica os problemas de passar estruturas de dados com um layout predefinido.

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

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

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

Marshalling de dados com invocação de plataforma
Descreve como declarar parâmetros de método e passar argumentos para funções exportadas por bibliotecas não gerenciadas.