This documentation is archived and is not being maintained.

ICLRRuntimeHost Interface

Provides functionality similar to that of the ICorRuntimeHost interface provided in the .NET Framework version 1, with the following changes:

  • The addition of the SetHostControl method to set the host control interface.

  • The omission of some methods provided by ICorRuntimeHost.

interface ICLRRuntimeHost : IUnknown {
    HRESULT ExecuteApplication (
        [in] LPCWSTR                   pwzAppFullName,
        [in] DWORD                     dwManifestPaths,
        [in] LPCWSTR                   *ppwzManifestPaths,   
        [in] DWORD                     dwActivationData,
        [in] LPCWSTR                   *ppwzActivationData,  
        [out] int                      *pReturnValue
    HRESULT ExecuteInAppDomain (
        [in] DWORD                     appDomainId, 
        [in] FExecuteInDomainCallback  pCallback,
        [in] void*                     cookie
    HRESULT ExecuteInDefaultAppDomain (
        [in] LPCWSTR                   pwzAssemblyPath, 
        [in] LPCWSTR                   pwzTypeName,
        [in] LPCWSTR                   pwzMethodName,
        [in] LPCWSTR                   pwzArgument,
        [out] DWORD                    *pReturnValue
    HRESULT GetCLRControl (
        [out] ICLRControl              **pCLRControl
    HRESULT GetCurrentAppDomainId (
        [out] DWORD                    *pdwAppDomainId
    HRESULT SetHostControl (
        [in] IHostControl              *pHostControl
    HRESULT Start();
    HRESULT Stop();
    HRESULT UnloadAppDomain (
        [in] DWORD                     dwAppDomainId
        [in] BOOL                      fWaitUntilDone



ICLRRuntimeHost::ExecuteApplication Method

Used in manifest-based ClickOnce deployment scenarios to specify the application to be activated in a new domain.

ICLRRuntimeHost::ExecuteInAppDomain Method

Specifies the AppDomain in which to execute the specified managed code.

ICLRRuntimeHost::ExecuteInDefaultAppDomain Method

Invokes the specified method of the specified type in the specified assembly.

ICLRRuntimeHost::GetCLRControl Method

Gets an interface pointer of type ICLRControl that hosts can use to customize aspects of the common language runtime (CLR).

ICLRRuntimeHost::GetCurrentAppDomainId Method

Gets the numeric identifier of the AppDomain that is currently executing.

ICLRRuntimeHost::SetHostControl Method

Sets the host control interface. You must call SetHostControl before calling Start.

ICLRRuntimeHost::Start Method

Initializes the CLR into a process.

ICLRRuntimeHost::Stop Method

Stops the execution of code by the runtime.

ICLRRuntimeHost::UnloadAppDomain Method

Unloads the AppDomain that corresponds to the specified numeric identifier.

The host gets a pointer to an ICLRRuntimeHost instance by calling CorBindToRuntimeEx or CorBindToCurrentRuntime. To provide implementations of any of the technologies provided in the .NET Framework version 2.0, you must use ICLRRuntimeHost instead of ICorRuntimeHost.

Important noteImportant Note:

Do not call the Start method before calling the ExecuteApplication method to activate a manifest-based application. If the Start method is called first, the ExecuteApplication method call will fail.

Platforms: See .NET Framework System Requirements.

Header: MSCorEE.idl

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0