Partilhar via


Criando uma classe para manter funções DLL

Encapsular uma função DLL usada com freqüência em uma classe gerenciada é uma abordagem eficaz para encapsular a funcionalidade da plataforma. Embora não seja obrigatório fazê-lo em todos os casos, fornecer um wrapper de classe é conveniente porque definir funções DLL pode ser complicado e propenso a erros. Se você estiver programando em Visual Basic ou C#, você deve declarar funções DLL dentro de uma classe ou módulo do Visual Basic.

Dentro de uma classe, você define um método estático para cada função DLL que deseja chamar. A definição pode incluir informações adicionais, como o conjunto de caracteres ou a convenção de chamada usada na passagem de argumentos do método; Ao omitir essas informações, você seleciona as configurações padrão. Para obter uma lista completa de opções de declaração e suas configurações padrão, consulte Criando protótipos em código gerenciado.

Uma vez encapsulado, você pode chamar os métodos na classe como você chama métodos estáticos em qualquer outra classe. Platform invoke lida com a função exportada subjacente automaticamente.

Ao projetar uma classe gerenciada para invocar plataforma, considere as relações entre classes e funções DLL. Por exemplo, pode:

  • Declare funções DLL dentro de uma classe existente.

  • Crie uma classe individual para cada função DLL, mantendo as funções isoladas e fáceis de encontrar.

  • Crie uma classe para um conjunto de funções DLL relacionadas para formar agrupamentos lógicos e reduzir a sobrecarga.

Você pode nomear a classe e seus métodos como quiser. Para exemplos que demonstram como construir . Declarações baseadas em NET a serem usadas com invocação de plataforma, consulte Marshalling Data with Platform Invoke.

Consulte também