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
    );
    
};

Methods

Method

Description

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.

Remarks

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.

Requirements

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

See Also

Reference

CorBindToCurrentRuntime Function

CorBindToRuntimeEx Function

ICLRControl Interface

ICorRuntimeHost Interface

Other Resources

Hosting the Common Language Runtime

Hosting Interfaces