Поделиться через


Интерфейс ICLRMetaHost

Предоставляет методы, которые возвращают определенную версию среды CLR на основе ее номера версии, перечисляют все установленные среды CLR, перечисляют все среды выполнения, загруженные в указанный процесс, обнаруживают версию среды CLR, используемую для компиляции сборки, завершают процесс с чистым завершением работы среды выполнения и запрашивают устаревшую привязку API.

Методы

Метод Описание
Метод EnumerateInstalledRuntimes Возвращает перечисление, содержащее допустимый указатель интерфейса ICLRRuntimeInfo для каждой версии СРЕДЫ CLR, установленной на компьютере.
Метод EnumerateLoadedRuntimes Возвращает перечисление, содержащее допустимый указатель интерфейса ICLRRuntimeInfo для каждой среды CLR, загруженной в данном процессе. Этот метод заменяет GetVersionFromProcess.
Метод ExitProcess Пытается корректно завершить работу всех загруженных сред выполнения, а затем завершает процесс. Заменяет функцию CorExitProcess .
Метод GetRuntime Возвращает интерфейс ICLRRuntimeInfo , соответствующий определенной версии среды CLR. Этот метод заменяет функцию CorBindToRuntimeEx , используемую с флагом STARTUP_LOADER_SAFEMODE .
Метод GetVersionFromFile Возвращает исходную версию компиляции платформа .NET Framework сборки (хранящуюся в метаданных) с учетом пути к файлу. Этот метод заменяет GetFileVersion.
Метод QueryLegacyV2RuntimeBinding Возвращает интерфейс, представляющий среду выполнения, к которой была привязана устаревшая политика активации, например с помощью useLegacyV2RuntimeActivationPolicy атрибута в <записи файла конфигурации startup> Element , путем прямого использования устаревших API активации или путем вызова метода ICLRRuntimeInfo::BindAsLegacyV2Runtime .
Метод RequestRuntimeLoadedNotification Гарантирует обратный вызов указанного указателя функции при первой загрузке версии СРЕДЫ CLR, но еще не запущенной. Этот метод заменяет LockClrVersion

Комментарии

Единственный способ получить экземпляр этого интерфейса — вызвать функцию CLRCreateInstance следующим образом:

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

Требования

Платформы: см. раздел Требования к системе.

Заголовка: MetaHost.h

Библиотека: Включено в качестве ресурса в MSCorEE.dll

версии платформа .NET Framework: доступно с 4

См. также раздел