Compartilhar via


Usar PInvoke Explicit no C++ (atributo DllImport)

O .NET estrutura fornece recursos de invocação de plataforma (ou PInvoke) explícitos com o Dllimport atributo para permitir que os aplicativos gerenciado telefonar não gerenciado empacotadas dentro de DLLs de funções. PInvoke explícita é necessária para situações em que APIs não gerenciadas são empacotadas sistema autônomo DLLs e o código-fonte não está disponível.Por exemplo, chamar funções do Win32, requer PInvoke.Caso contrário, use P implícita {Invoke; consulte Usando a interoperabilidade de C++ (PInvoke implícita) Para obter mais informações.

PInvoke funciona utilizando DllImportAttribute. Esse atributo, que obtém o nome da DLL sistema autônomo seu primeiro argumento, é colocado antes de uma declaração de função para cada ponto de entrada DLL que será usado.Assinatura da função deve corresponder ao nome de uma função exportada pela DLL (mas alguns conversão de tipo pode ser executado implicitamente, definindo o DllImport declarações em termos de tipos gerenciado).

O resultado é um ponto de entrada gerenciado para cada função de DLL nativo que contém o código necessário transição (ou conversão) e conversões de dados simples.Funções gerenciadas podem então telefonar dll por esses pontos de entrada.O código inserido em um módulo sistema autônomo resultado de PInvoke é totalmente gerenciado e PInvoke explícita é suportado para /clr, /clr:pure, e /clr:safe compilações. Para obter mais informações, consulte Código puro e verificável.

Nesta seção

Consulte também

Conceitos

Chamando funções nativo código gerenciado