다음을 통해 공유


ICLRMetaHost 인터페이스

버전 번호에 따라 특정 버전의 CLR(공용 언어 런타임)을 반환하고, 설치된 모든 CLR을 나열하고, 지정된 프로세스에 로드된 모든 런타임을 나열하고, 어셈블리를 컴파일하는 데 사용되는 CLR 버전을 검색하고, 클린 런타임 종료로 프로세스를 종료하고, 레거시 API 바인딩을 쿼리하는 메서드를 제공합니다.

메서드

메서드 Description
EnumerateInstalledRuntimes 메서드 컴퓨터에 설치된 각 CLR 버전에 대해 유효한 ICLRRuntimeInfo 인터페이스 포인터를 포함하는 열거형을 반환합니다.
EnumerateLoadedRuntimes 메서드 지정된 프로세스에 로드된 각 CLR에 대해 유효한 ICLRRuntimeInfo 인터페이스 포인터를 포함하는 열거형을 반환합니다. 이 메서드는 GetVersionFromProcess를 대체합니다.
ExitProcess 메서드 로드된 모든 런타임을 정상적으로 종료한 다음, 프로세스를 종료하려고 시도합니다. CorExitProcess 함수를 대체합니다.
GetRuntime 메서드 특정 CLR 버전에 해당하는 ICLRRuntimeInfo 인터페이스를 가져옵니다. 이 메서드는 STARTUP_LOADER_SAFEMODE 플래그와 함께 사용되는 CorBindToRuntimeEx 함수를 대체합니다.
GetVersionFromFile 메서드 해당 파일 경로가 지정된 경우 어셈블리의 원래 .NET Framework 컴파일 버전(메타데이터에 저장됨)을 가져옵니다. 이 메서드는 GetFileVersion을 대체합니다.
QueryLegacyV2RuntimeBinding 메서드 예를 들어 <startup> 요소 구성 파일 항목에서 useLegacyV2RuntimeActivationPolicy 특성을 사용하거나, 레거시 활성화 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부터 사용 가능

참고 항목