适用于 .NET Framework 2.0 的宿主接口

本节描述非托管宿主可用于将 .NET Framework 2.0 版中的公共语言运行库 (CLR) 集成到其应用程序中的接口。与 1.0 和 1.1 版本相比,2.0 版本的接口允许宿主对运行库的更多方面进行控制,从而使 CLR 和宿主的执行模型之间能够进行更紧密地集成。

在 .NET Framework 版本 1 中,宿主模型允许非托管宿主将 CLR 加载到进程中,以配置某些设置和接收事件通知。但在通常情况下,宿主和 CLR 可以在该进程中独立运行。.NET Framework 2.0 版提供了新的抽象层,并扩展了宿主可以配置的功能集。通过新的抽象层,宿主可以提供当前由 Win32 程序集中的类型提供的多种资源。

本节内容

  • ICLRControl
    提供一些方法,以便宿主可以获取对 CLR 的访问权限并对 CLR 的各个方面进行配置。
  • ICLRDebugManager
    提供允许宿主将一组任务与某个标识符及友好名称关联起来的方法。
  • ICLRGCManager
    提供允许宿主与 CLR 的垃圾回收系统进行交互的方法。
  • ICLRHostProtectionManager
    为宿主提供用于阻止提供指定功能的托管类、方法、属性和字段在部分受信任的代码中运行的方法。
  • ICLRPolicyManager
    提供允许宿主指定出现错误和超时的情况下采取的策略操作的方法。
  • ICLRProbingAssemblyEnum
    提供一些方法,以使宿主可以通过 CLR 内部的程序集标识信息来获取该程序集的探测标识,而无需创建或了解该标识。
  • ICLRReferenceAssemblyEnum
    提供一些方法,以使宿主可以对文件或流通过 CLR 内部的程序集标识数据引用的一组程序集进行操作,而无需创建或了解这些标识。
  • ICLRSyncManager
    提供一些方法,以便宿主可以获取有关请求的任务的信息并检测由 CLR 创建的同步对象中的死锁条件。
  • ICLRTask
    提供一些方法,以使宿主可以发出 CLR 请求,或者向 CLR 提供与关联的任务有关的通知。
  • ICLRTaskManager
    提供一些方法,以使宿主可以显式请求 CLR 创建一个新任务,获取当前正在执行的任务,以及设置该任务的地理语言和区域性。
  • ICLRValidator
    提供用于验证可移植可执行 (PE) 映像和报告验证错误的方法。
  • IHostAssemblyManager
    提供一些方法,以使宿主可以指定应由 CLR 或宿主加载的多组程序集。
  • IHostAssemblyStore
    提供一些方法,以使宿主可以独立于 CLR 绑定到程序集和模块。
  • IHostAutoEvent
    提供由宿主实现的自动重置事件的表示形式。
  • IHostControl
    提供一些方法,以配置程序集的加载和确定宿主支持的宿主接口。
  • IHostCrst
    用作线程临界区的宿主表示形式。
  • IHostGCManager
    提供一些方法,以通知宿主垃圾回收机制中由 CLR 实现的事件。
  • IHostMAlloc
    提供一些方法,以便 CLR 可以请求从堆到宿主的细化分配。
  • IHostMemoryManager
    提供一些方法,以便 CLR 可以通过宿主而不是调用标准 Win32 虚拟内存函数来请求内存分配。
  • IHostPolicyManager
    提供一些方法,以便通知宿主 CLR 在中止、超时或失败时所执行的操作。
  • IHostSecurityManager
    提供允许访问和控制当前正在执行的线程的安全上下文的方法。
  • IHostSyncManager
    提供一些方法,以便 CLR 可以通过宿主而不是调用 Win32 同步函数来创建同步基元。
  • IHostTask
    提供允许 CLR 与宿主通信以管理任务的方法。
  • IHostTaskManager
    提供一些方法,以使 CLR 可以通过宿主而不是使用标准操作系统线程或纤程函数来处理任务。
  • IHostThreadPoolManager
    提供一些方法,以便 CLR 可以配置线程池并对线程池中的工作项进行排队。
  • IDebuggerInfo
    提供用于获取有关调试器的信息的方法。
  • IGCHost
    提供用于获取有关垃圾回收系统的信息以及控制垃圾回收的某些方面的方法。
  • IGCThreadControl
    提供用于参与线程调度的方法,以防止因阻塞而执行垃圾回收。
  • IObjectHandle
    提供用于通过间接寻址打开按值封送对象的方法。
  • ITypeName
    提供用于获取类型名称信息的方法。
  • IValidator
    提供用于参与 Web 窗体验证的方法。

相关章节

请参见

概念

运行库宿主

其他资源

承载公共语言运行库