ICLRRuntimeHost

更新:2007 年 11 月

提供与 .NET Framework 版本 1 中提供的 ICorRuntimeHost 接口功能类似的功能,但进行了下列更改:

  • 增加了 SetHostControl 方法以设置宿主控件接口。

  • 省略了 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 方法

在基于清单的 ClickOnce 部署方案中用于指定要在新域中激活的应用程序。

ICLRRuntimeHost::ExecuteInAppDomain 方法

指定要在其中执行指定托管代码的 AppDomain

ICLRRuntimeHost::ExecuteInDefaultAppDomain 方法

调用指定程序集中属于指定类型的指定方法。

ICLRRuntimeHost::GetCLRControl 方法

获取一个 ICLRControl 类型的接口指针,宿主可以使用该类型自定义公共语言运行库 (CLR) 的各个方面。

ICLRRuntimeHost::GetCurrentAppDomainId 方法

获取当前正在执行的 AppDomain 的数字标识符。

ICLRRuntimeHost::SetHostControl 方法

设置主机控制接口。在调用 Start 之前必须调用 SetHostControl

ICLRRuntimeHost::Start 方法

将 CLR 初始化到进程中。

ICLRRuntimeHost::Stop 方法

使运行库停止代码的执行。

ICLRRuntimeHost::UnloadAppDomain 方法

卸载与指定的数字标识符对应的 AppDomain

备注

宿主通过调用 CorBindToRuntimeExCorBindToCurrentRuntime 获取一个指向 ICLRRuntimeHost 实例的指针。若要提供 .NET Framework 2.0 版中提供的任何技术的实现,必须使用 ICLRRuntimeHost 而不是 ICorRuntimeHost

重要说明:

在调用 ExecuteApplication 方法来激活基于清单的应用程序之前,不要调用 Start 方法。如果首先调用 Start 方法,则 ExecuteApplication 方法调用将失败。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**MSCorEE.idl

**库:**作为一项资源包含在 MSCorEE.dll 中

**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

参考

CorBindToCurrentRuntime 函数

CorBindToRuntimeEx 函数

ICLRControl

ICorRuntimeHost

其他资源

承载公共语言运行库

宿主接口