Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.