Метод ICLRRuntimeInfo::GetInterface
Загружает среду CLR в текущий процесс и возвращает указатели интерфейса среды выполнения, такие как ICLRRuntimeHost, ICLRStrongName и IMetaDataDispenserEx.
Этот метод заменяет все CorBindTo
функции * в разделе Нерекомендуемые функции размещения среды CLR .
Синтаксис
HRESULT GetInterface(
[in] REFCLSID rclsid,
[in] REFIID riid,
[out, iid_is(riid), retval] LPVOID *ppUnk);
Параметры
rclsid
[in] Интерфейс CLSID для coclass.
riid
[in] Идентификатор IID запрошенного rclsid
интерфейса.
ppUnk
[out] Указатель на запрошенный интерфейс.
Возвращаемое значение
Этот метод возвращает следующие конкретные результаты HRESULT, а также ошибки HRESULT, которые указывают на сбой метода.
HRESULT | Описание: |
---|---|
S_OK | Метод завершился успешно. |
E_POINTER | Параметр ppUnk имеет значение null. |
E_OUTOFMEMORY | Недостаточно памяти для обработки запроса. |
CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND | Другая среда выполнения уже привязана к устаревшей политике активации СРЕДЫ CLR версии 2. |
Комментарии
Этот метод приводит к загрузке среды CLR, но не инициализации.
В следующей таблице показаны поддерживаемые сочетания для rclsid
и 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 |
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MetaHost.h
Библиотека: Включено в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с 4