Interface ICLRMetaHost

Fornece métodos que retornam uma versão específica do CLR (Common Language Runtime) com base no número de versão, listam todos os CLRs instalados, listam todos os runtimes carregados em um processo especificado, descobrem a versão do CLR usada para compilar um assembly, saem de um processo com um desligamento de runtime limpo e consultam a associação de API herdada.

Métodos

Método Descrição
Método EnumerateInstalledRuntimes Retorna uma enumeração que contém um ponteiro de interface ICLRRuntimeInfo válido para cada versão do CLR instalada em um computador.
Método EnumerateLoadedRuntimes Retorna uma enumeração que contém um ponteiro de interface ICLRRuntimeInfo válido para cada versão do CLR carregada em um determinado processo. Esse método substitui GetVersionFromProcess.
Método ExitProcess Tenta desligar todos os runtimes carregados normalmente e, em seguida, encerra o processo. Substitui a função CorExitProcess.
Método GetRuntime Obtém a interface ICLRRuntimeInfo que corresponde a uma versão específica do CLR. Esse método substitui a função CorBindToRuntimeEx usada com o sinalizador STARTUP_LOADER_SAFEMODE.
Método GetVersionFromFile Obtém a versão de compilação do .NET Framework original de um assembly (armazenada nos metadados), dado o caminho do arquivo. Esse método substitui GetFileVersion.
Método QueryLegacyV2RuntimeBinding Retorna uma interface que representa um runtime ao qual a política de ativação herdada foi associada, por exemplo, usando o atributo useLegacyV2RuntimeActivationPolicy na entrada do arquivo de configuração do elemento de <inicialização>, usando diretamente as APIs de ativação herdadas ou chamando o método ICLRRuntimeInfo::BindAsLegacyV2Runtime.
Método RequestRuntimeLoadedNotification Garante um retorno de chamada para o ponteiro de função especificado quando uma versão do CLR é carregada pela primeira vez, mas ainda não foi iniciada. Esse método substitui LockClrVersion

Comentários

A única maneira de obter uma instância dessa interface é chamando a função CLRCreateInstance da seguinte maneira:

ICLRMetaHost *pMetaHost = NULL;  
HRESULT hr = CLRCreateInstance(CLSID_CLRMetaHost,  
                   IID_ICLRMetaHost, (LPVOID*)&pMetaHost);  

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MetaHost.h

Biblioteca: incluída como um recurso no MSCorEE.dll

Versões do .NET Framework: disponíveis desde 4

Confira também