ICLRRuntimeInfo::GetInterface 메서드
CLR을 현재 프로세스에 로드하고 ICLRRuntimeHost, ICLRStrongName, IMetaDataDispenser와 같은 런타임 인터페이스 포인터를 반환합니다.
이 메서드는 사용되지 않는 CLR 호스팅 함수 섹션의 모든 CorBindTo
* 함수를 대체합니다.
구문
HRESULT GetInterface(
[in] REFCLSID rclsid,
[in] REFIID riid,
[out, iid_is(riid), retval] LPVOID *ppUnk);
매개 변수
rclsid
[in] coclass에 대한 CLSID 인터페이스입니다.
riid
[in] 요청된 rclsid
인터페이스의 IID입니다.
ppUnk
[out] 쿼리된 인터페이스에 대한 포인터입니다.
Return Value
이 메서드는 다음과 같은 특정 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부터 사용 가능
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET