CLR 承载接口

本部分介绍非托管主机可用于将公共语言运行时 (CLR) 集成到其应用程序中的接口。 此信息与 .NET Framework 2.0 及更高版本相关。 与版本 1.0 和 1.1 相比,这些接口使主机能够控制运行时的更多方面,并使 CLR 与主机执行模型之间更紧密地集成。

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

本节内容

IActionOnCLREvent 接口
提供对已注册事件执行回调的方法。

IApartmentCallback 接口
提供在单元中执行回调的方法。

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

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

ICLRAssemblyIdentityManager 接口
提供支持主机与 CLR 之间有关程序集的通信的方法。

ICLRAssemblyReferenceList 接口
管理由 CLR 加载的程序集列表,而不是由主机加载的程序集列表。

ICLRControl 接口
为主机提供访问和配置 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 接口
提供获取有关垃圾回收系统的信息以及控制垃圾回收的某些方面的方法。

IGCHost2 接口
提供 SetGCStartupLimitsEx 方法,该方法使主机能够将垃圾回收段的大小和垃圾回收系统第 0 代的最大大小设置为大于 DWORD 的值。

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) 映像和报告验证错误的方法。

弃用的 CLR 承载接口和 Coclass
包含介绍 .NET Framework 版本 1.0 和 1.1 中提供的承载接口的主题。

.NET Framework 4 和 4.5 中添加的 CLR 承载接口
包含介绍 .NET Framework 4 中提供的承载接口的主题。