ICLRRuntimeInfo::GetInterface Method

Loads the CLR into the current process and returns runtime interface pointers, such as ICLRRuntimeHost, ICLRStrongName, ICorDebug, and IMetaDataDispenserEx.

This method supersedes all the CorBindTo* functions in the .NET Framework 1.1 and 2.0 Hosting Global Static Functions section.

HRESULT GetInterface(
[in]  REFCLSID rclsid,
[in]  REFIID   riid,
[out, iid_is(riid), retval] LPVOID *ppUnk);

Parameters

  • rclsid
    [in] The CLSID interface for the coclass.

  • riid
    [in] The IID of the requested rclsid interface.

  • ppUnk
    [out] A pointer to the queried interface.

Return Value

This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULT

Description

S_OK

The method completed successfully.

E_POINTER

ppUnk is null.

E_OUTOFMEMORY

Not enough memory is available to handle the request.

CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND

A different runtime was already bound to the legacy CLR version 2 activation policy.

Remarks

This method causes the CLR to be loaded but not initialized.

The following table shows the supported combinations for rclsid and 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

Requirements

Platforms: See .NET Framework System Requirements.

Header: MetaHost.h

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: 4

See Also

Reference

ICLRRuntimeInfo Interface

Other Resources

Hosting Interfaces

Hosting (Unmanaged API Reference)