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 接口 提供用于通知主机有关调试服务阻止和取消阻止线程的方法。

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

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

2013 年 12 月 1 日 提供一种方法,使垃圾回收器能够请求主机更改虚拟内存的限制。

20166SC-2016777777777 提供用于参与计划线程的方法,否则会阻止进行垃圾回收。

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 中提供的托管接口的主题。