Consumir funções DLL não gerenciada

Invocar Plataforma é um serviço que permite gerenciar código chamando funções não gerenciadas implementadas em bibliotecas de vínculo dinâmico (DLLs), tais como os da API Win32. Ele localiza e chama uma função exportada e controla seus argumentos (números inteiros, seqüências de caracteres, matrizes, estruturas e assim por diante) dentro do limite de operação conforme necessário. Para obter mais informações sobre este serviço, consulte A análise detalhada na invocação de plataforma.

Esta seção apresenta várias tarefas associadas a consumir funções DLL não gerenciadas. Além das tarefas a seguir, há considerações gerais e um link fornecendo informações adicionais e exemplos.

Para consumir exportadas funções DLL

  1. Identificar funções em DLLs.

    Especifique, minimamente,  o nome da função e o nome da DLL que a contém.

  2. Criar uma classe para manter as funções DLL.

    Usar uma classe existente, criar uma classe individual para cada função não gerenciada ou criar uma classe que contém um conjunto de funções não gerenciados relacionadas.

  3. Criar protótipos em código gerenciado.

    [Visual Basic] Use o Declare instrução com o função e Lib palavras-chave. Em alguns casos raros, você pode usar o DllImportAttribute com o Função compartilhados palavras-chave. Esses casos serão explicados mais adiante nesta seção.

    [C#] Use o DllImportAttribute para identificar a DLL e a função. Marcar o método com o estático e extern modificadores.

    [C++] Use o DllImportAttribute para identificar a DLL e a função. Marcar o método de invólucro ou funcionar com extern "C".

  4. Chamar uma função DLL.

    Chame o método em sua classe gerenciada como você faria com qualquer outro método gerenciado. Passar estruturas e implementar funções callback são casos especiais.

Para obter exemplos que demonstram como construir.NET com base em declarações para ser usado com a plataforma chamar, consulte o empacotamento de dados com a invocação de plataforma.

Consulte também

Conceitos

Uma análise detalhada da plataforma Invoke

Exemplos de invocação de plataforma

Interop Marshaling

Outros recursos

Interoperação com Código Não Gerenciado