Carregando o Common Language Runtime em um processo
Antes de qualquer código gerenciado pode ser executado, o host deve carregar e inicializar o common language runtime (CLR). Todos os hosts começam com um stub de não gerenciado, porque o tempo de execução ainda não está executando no processo. A.NET Framework fornece um conjunto de APIs não gerenciadas chamados as APIs de hospedagem que o host pode usar para iniciar o tempo de execução. Para obter mais informações, consulte Interfaces de hospedagem..
Observação
Hospedando os métodos fornecidos por versões do.NET Framework antes de .NET Framework versão 4 são preteridos.Recomendamos que você use as interfaces introduzidas pela .NET Framework 4 e discutidas neste tópico.
Um host pode carregar o CLR em um processo usando um dos seguintes procedimentos:
Chamar o CLRCreateInstance função para obter um ICLRMetaHost ou um ICLRMetaHostPolicy interface. O CLRCreateInstance função substitui todas as CorBindTo* funções listadas na .NET Framework 1.1 e 2.0, hospedagem Global de funções estáticas seção.
Chamar o ICLRMetaHost::EnumerateInstalledRuntimes, ICLRMetaHost::GetRuntime ou ICLRMetaHostPolicy::GetRequestedRuntime método para obter um válido ICLRRuntimeInfo ponteiro.
Chamar o ICLRRuntimeInfo::GetInterface método. Especificar o CLSID_CLRRuntimeHost para o rclsid parâmetro e IID_ICLRRuntimeHost para o riid parâmetro.
O protótipo para todas essas interfaces está localizado no arquivo Metahost.h, que está localizado no diretório Include do Windows Software Development Kit (SDK). Os hosts podem usar tanto o ICLRRuntimeInfo e ICLRRuntimeHost interfaces para controlar qual versão do runtime para carregar e para controlar o comportamento de funções básicas como, por exemplo, coleta de lixo e o carregamento do assembly.
Use o ICLRRuntimeHost interface para executar as seguintes ações:
Inicie o tempo de execução chamando o ICLRRuntimeHost::Start método.
Execute código gerenciado.
Obter um ponteiro para o ICLRControl interface (que fornece acesso para os gerentes que são implementados pelo common language runtime) e registrar um objeto de controle de host que implementa o IHostControl interface. As chamadas de tempo de execução de linguagem comum a IHostControl interface para determinar quais gerenciadores implementa o host.
Consulte também
Referência
Conceitos
Transição para hospedagem de código gerenciado