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基础结构,不应直接从 code.)

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 接口
通过调用主机(而不是使用 Win32 同步函数)为 CLR 提供创建同步基元的方法。

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

IHostTaskManager 接口
提供使 CLR 能够通过主机(而不是使用标准操作系统线程处理或纤程函数)处理任务的方法。

IHostThreadPoolManager 接口
为 CLR 提供配置线程池和将工作项排入线程池的方法。

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

"IObjectHandle"
提供一种方法,用于从间接寻址中解包按值封送对象。

ITypeName 接口
提供用于获取类型名称信息的方法。 (此接口支持.NET Framework基础结构,不应直接从 code.)

ITypeNameBuilder 接口
提供用于生成类型名称的方法。 (此接口支持.NET Framework基础结构,不应直接从 code.)

ITypeNameFactory 接口
提供用于解构类型名称的方法。 (此接口支持.NET Framework基础结构,不应直接从 code.)

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

弃用的 CLR 承载接口和 Coclass
包含描述 1.0 和 1.1 .NET Framework中提供的托管接口的主题。

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