Método ICLRRuntimeInfo::GetInterface
Carrega o CLR para o processo atual e devolve ponteiros da interface de runtime, como ICLRRuntimeHost, ICLRStrongName e IMetaDataDispenserEx.
Este método substitui todas as CorBindTo
funções * na secção Funções de Alojamento CLR Preteridas .
Sintaxe
HRESULT GetInterface(
[in] REFCLSID rclsid,
[in] REFIID riid,
[out, iid_is(riid), retval] LPVOID *ppUnk);
Parâmetros
rclsid
[in] A interface CLSID da classe coclasse.
riid
[in] O IID da interface pedida rclsid
.
ppUnk
[fora] Um ponteiro para a interface consultada.
Devolver Valor
Este método devolve os seguintes HRESULTs específicos, bem como erros HRESULT que indicam a falha do método.
HRESULT | Description |
---|---|
S_OK | O método foi concluído com êxito. |
E_POINTER | ppUnk é nulo. |
E_OUTOFMEMORY | Não existe memória suficiente disponível para processar o pedido. |
CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND | Um runtime diferente já estava vinculado à política de ativação da versão 2 do CLR legada. |
Observações
Este método faz com que o CLR seja carregado, mas não inicializado.
A tabela seguinte mostra as combinações suportadas 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: Veja Requisitos do Sistema.
Cabeçalho: MetaHost.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 4