Empacotamento de dados com a plataforma chamar
Para chamar funções exportadas de uma biblioteca não gerenciada, um.Aplicativo do NET Framework requer um protótipo de função no código gerenciado que representa a função não gerenciada. Para criar um protótipo que permite que a plataforma chamar para empacotar dados corretamente, você deve fazer o seguinte:
Aplicar o DLLImportAttribute de atributo para a função estática ou o método no código gerenciado.
Substitua os tipos de dados gerenciados para tipos de dados não gerenciados.
Você pode usar a documentação fornecida com uma função não gerenciada para construir um protótipo de equivalente gerenciado aplicando o atributo com seus campos opcionais e substituindo os tipos de dados gerenciados para não gerenciado. Para obter instruções sobre como aplicar o DllImportAttribute, consulte Funções de DLL não gerenciada consumindo.
Esta seção fornece exemplos que demonstram como criar protótipos de função gerenciada para passar argumentos para e o recebimento de valores de retorno de funções exportadas pelas bibliotecas não gerenciadas. As amostras demonstram também quando usar o MarshalAsAttribute atributo e o Marshal classe explicitamente empacotar dados.
Nesta seção
Tipos de dados de invocação de plataforma
Fornece uma lista de tipos de dados gerenciados e seus tipos de dados não gerenciados correspondentes.PinvokeLib.dll
Fornece o código que define as funções da biblioteca fornecidas pelo Pinvoke.dll.Empacotamento de Strings
Descreve como transmitir seqüências por valor, por referência, nas estruturas, classes e arrays.O empacotamento de Classes, estruturas e uniões
Descreve como classes de passar por valor, como passar várias estruturas e como passar uniões com valor e tipos mistos.Matrizes de tipos de empacotamento.
Descreve como matrizes multidimensionais de inteiros de passar por valor e matrizes unidimensionais de passar por referência.Diversos exemplos de empacotamento
Descreve os aspectos de coleta de lixo e threading essa interoperabilidade de afetam o comportamento de empacotamento.
Seções relacionadas
Interop Marshaling
Descreve o empacotamento para invocação de plataforma e COM interop.Comportamento de empacotamento padrão
Descreve as regras que o serviço de empacotamento interop usa para empacotar dados.Consumir funções DLL não gerenciada
Descreve como a chamada não gerenciada a chamar funções DLL, usando a plataforma.