Método ICLRRuntimeInfo::GetInterface

Carrega o CLR no processo atual e retorna ponteiros de interface de runtime, como ICLRRuntimeHost, ICLRStrongName e IMetaDataDispenserEx.

Esse método substitui todas as funções CorBindTo* na seção Funções de hospedagem de CLR preterido.

Sintaxe

HRESULT GetInterface(  
[in]  REFCLSID rclsid,  
[in]  REFIID   riid,  
[out, iid_is(riid), retval] LPVOID *ppUnk);  

Parâmetros

rclsid
[in] A interface CLSID para coclass.

riid
[in] O IID da interface solicitada rclsid.

ppUnk
[out] Um ponteiro para a interface consultada.

Valor Retornado

Esse método retorna os seguintes HRESULTs específicos, bem como erros HRESULT que indicam falha de método.

HRESULT Descrição
S_OK O método foi concluído com sucesso.
E_POINTER ppUnk é nulo.
E_OUTOFMEMORY Não há memória suficiente disponível para identificar a solicitação.
CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND Um runtime diferente já estava associado à política de ativação herdada do CLR versão 2.

Comentários

Esse método faz com que o CLR seja carregado, mas não inicializado.

A tabela a seguir mostra as combinações com suporte para rclsid e riid.

rclsid riid
CLSID_CorMetaDataDispenser IID_IMetaDataDispenser, IID_IMetaDataDispenserEx
CLSID_CorMetaDataDispenserRuntime IID_IMetaDataDispenser, IID_IMetaDataDispenserEx
CLSID_CorRuntimeHost IID_ICorRuntimeHost
CLSID_CLRRuntimeHost IID_ICLRRuntimeHost
CLSID_TypeNameFactory IID_ITypeNameFactory
CLSID_CLRDebuggingLegacy IID_ICorDebug
CLSID_CLRStrongName IID_ICLRStrongName

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