Managed/Native Code Interoperability
9/8/2008
Integrando pedaços de código gerenciado com outras partes do código gerenciado é simples e simples, como é integrar código não gerenciado não gerenciado (nativo) codificar. Enquanto você pode escrever aplicativos inteiramente no gerenciado ou código nativo, é possível mixar gerenciado e nativos projetos na mesma solução. Embora manter seus aplicativos uniformemente gerenciado ou nativo torna seu trabalho como um desenvolvedor mais simples, em alguns apontar você irá localizar que você acabou de Não é possível resolver um aspecto de sua solução sem fazer chamadas para nativo ou código não gerenciado.
Felizmente, você pode fazer estas tarefas programação usando Os serviços de chamada plataforma, ou PInvoke, fornecido pelo .NET Framework Common Language Runtime. O pInvoke função fornece uma maneira para você para acessar o Windows API de código gerenciado. Para obter mais informações sobre PInvoke, consulte Uma introdução para P/invocação e Marshaling na estrutura Compact Microsoft.NET Nesta external Web site.
Ao usar código nativo do seu gerenciado projeto, você receberá um aviso sobre o uso inseguro codificar. Em ordem para seu projeto para compilar, você deve definir a Use inseguro codificar caixa de seleção, a partir de Criar Guia do projeto Propriedades diálogo.
Referência
Microsoft não é responsável por de conteúdo no terceiro-parte sites. Links são fornecidas apenas para conveniência e não constituem um apoio.
- PInvoke.NET
Terceiro-parte site especializado em mixagem nativo e código gerenciado.
- Native and .NET Interoperability
MSDN seção concentra-se na combinação gerenciado e código não gerenciado.
- Interoperating with Unmanaged Code
MSDN seção detalhando usando COM código gerenciado.
- Using Native COM Servers from .NET
TópicoMSDN cobrindo a diferença abordagens usar objetos COM existentes com código gerenciado.
- Pinvoke_and_COM_
SeçãoMSDN cobrindo Platform Invoke com objetos APIs e COM.
- Platform Invoke Sample
Um exemplo que chama código nativo de um aplicativo gerenciado.