适用于 .NET Framework 2.0 和更高版本的宿主接口

更新:2007 年 11 月

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

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

本节内容

  • IActionOnCLREvent
    提供为已注册的事件执行回调的方法。

  • IApartmentCallback
    提供用于在单元内进行回调的方法。

  • IAppDomainBinding
    提供用于设置运行时配置的方法。

  • ICatalogServices
    提供用于编录服务的方法。(此接口支持 .NET Framework 基础结构,但不应在代码中直接使用。)

  • ICLRAssemblyIdentityManager
    提供支持宿主和 CLR 之间就程序集问题进行通信的方法。

  • ICLRAssemblyReferenceList
    管理由 CLR(而非宿主)加载的程序集的列表。

  • ICLRControl
    提供一些方法,以便宿主可以获取对 CLR 的访问权限并对 CLR 的各个方面进行配置。

  • ICLRDebugManager
    提供使宿主能够将一组任务与某个标识符及友好名称关联起来的方法。

  • ICLRErrorReportingManager
    提供使宿主能够为错误报告配置自定义堆转储的方法。

  • ICLRGCManager
    提供使宿主能够与 CLR 的垃圾回收系统进行交互的方法。

  • ICLRHostBindingPolicyManager
    提供允许宿主计算并传达程序集策略信息中的更改的方法。

  • ICLRHostProtectionManager
    使宿主能够阻止特定的托管类、方法、属性和字段在部分受信任的代码中运行。

  • ICLRIoCompletionManager
    实现使宿主能够向 CLR 通知指定 I/O 请求的状态的回调方法。

  • ICLRMemoryNotificationCallback
    使宿主能够使用与 Win32 CreateMemoryResourceNotification 函数方法类似的方法报告内存压力情况。

  • ICLROnEventManager
    提供使宿主能够为 CLR 事件注册和注销回调的方法。

  • ICLRPolicyManager
    提供使宿主能够指定在出现故障和超时的情况下采取的策略操作的方法。

  • ICLRProbingAssemblyEnum
    提供方法,这些方法使宿主能够使用 CLR 内部的程序集标识信息来获取该程序集的探测标识,而无需创建或了解该标识。

  • ICLRReferenceAssemblyEnum
    提供方法,这些方法使宿主能够对文件或流通过 CLR 内部的程序集标识数据引用的一组程序集进行操作,而无需创建或了解这些标识。

  • ICLRRuntimeHost
    提供类似于 ICorRuntimeHost 的功能,以及一个用来设置宿主控件接口的附加方法。

  • ICLRSyncManager
    提供方法,以便让宿主在其同步实现中获取有关请求任务的信息并进行死锁检测。

  • ICLRTask
    提供方法,这些方法使宿主能够向 CLR 发出请求,或者向 CLR 提供与关联的任务有关的通知。

  • ICLRTaskManager
    提供方法,这些方法使宿主能够显式请求 CLR 创建一个新任务,获取当前正在执行的任务,以及设置该任务的地理语言和区域性。

  • ICLRValidator
    提供用于验证可移植可执行 (PE) 映像和报告验证错误的方法。

  • ICorConfiguration
    提供用于配置 CLR 的方法。

  • ICorThreadpool
    提供用于访问线程池的方法。

  • IDebuggerInfo
    提供用于获取调试服务状态信息的方法。

  • IDebuggerThreadControl
    提供方法,用于向宿主发出有关通过调试服务阻止和取消阻止线程的通知。

  • IGCHost
    提供用于获取有关垃圾回收系统的信息以及控制垃圾回收的某些方面的方法。

  • IGCHostControl
    提供使垃圾回收器能够请求宿主更改虚拟内存限制的方法。

  • IGCThreadControl
    提供用于参与线程调度的方法,以防止因阻塞而执行垃圾回收。

  • IHostAssemblyManager
    提供方法,这些方法使宿主能够指定应由 CLR 或宿主加载的多组程序集。

  • IHostAssemblyStore
    提供方法,这些方法使宿主能够独立于 CLR 加载程序集和模块。

  • IHostAutoEvent
    提供由宿主实现的自动重置事件的表示形式。

  • IHostControl
    提供一些方法,以配置程序集的加载和确定宿主支持的宿主接口。

  • IHostCrst
    用作线程临界区的宿主表示形式。

  • IHostGCManager
    提供一些方法,以通知宿主垃圾回收机制中由 CLR 实现的事件。

  • IHostIoCompletionManager
    提供方法,这些方法使 CLR 能够与宿主提供的 I/O 完成端口进行交互。

  • IHostMAlloc
    提供一些方法,以便 CLR 可以请求从堆到宿主的细化分配。

  • IHostManualEvent
    提供宿主的手动重置事件的表示形式的实现。

  • IHostMemoryManager
    提供方法,以便 CLR 可以通过宿主而不是使用标准 Win32 虚拟内存函数来请求虚拟内存。

  • IHostPolicyManager
    提供一些方法,以便通知宿主 CLR 在中止、超时或失败时所执行的操作。

  • IHostSecurityContext
    使 CLR 能够维护由宿主实现的安全性上下文信息。

  • IHostSecurityManager
    提供允许访问和控制当前正在执行的线程的安全性上下文的方法。

  • IHostSemaphore
    提供由宿主实现的信号量的表示形式。

  • IHostSyncManager
    提供方法,以便 CLR 可以通过调用宿主而不是使用 Win32 同步函数来创建同步基元。

  • IHostTask
    提供使 CLR 能够与宿主通信以管理任务的方法。

  • IHostTaskManager
    提供方法,这些方法使 CLR 能够通过宿主而不是使用标准操作系统线程或纤程函数来处理任务。

  • IHostThreadPoolManager
    提供一些方法,以便 CLR 可以配置线程池并对线程池中的工作项进行排队。

  • IManagedObject
    提供用于控制托管对象的方法。

  • IObjectHandle
    提供用于通过间接寻址打开按值封送对象的方法。

  • ITypeName
    提供用于获取类型名称信息的方法。(此接口支持 .NET Framework 基础结构,但不应在代码中直接使用。)

  • ITypeNameBuilder
    提供用于生成类型名称的方法。(此接口支持 .NET Framework 基础结构,但不应在代码中直接使用。)

  • ITypeNameFactory
    提供用于解构类型名称的方法。(此接口支持 .NET Framework 基础结构,但不应在代码中直接使用。)

  • IValidator
    提供用于验证可移植可执行 (PE) 映像和报告验证错误的方法。

相关章节