与非托管代码进行交互操作
.NET Framework 提升与 COM 组件、COM+ 服务、外部类型库和许多操作系统服务的交互。 托管和非托管对象模型之间的数据类型、方法签名和错误处理机制有所不同。 要简化 .NET Framework 组件和非托管代码之间的互操作并简化迁移路径,公共语言运行时需对客户端和服务器隐藏这些对象模型中的差异。
在运行时控制下执行的代码称为托管代码。 反之,在运行时以外运行的代码称为非托管代码。 COM 组件、ActiveX 接口和 Windows API 函数都是非托管代码的示例。
本节内容
向 .NET Framework 公开 COM 组件
描述如何使用 .NET Framework 应用程序的 COM 组件。
向 COM 公开 .NET Framework 组件
描述如何使用 COM 应用程序的 .NET Framework 组件。
使用非托管 DLL 函数
描述如何使用平台调用调用非托管 DLL 函数。
互操作封送处理
描述 COM 互操作和平台调用的封送处理。
如何:映射 HRESULT 和异常
描述异常和 HRESULT 之间的映射。
类型等效性和嵌入的互操作类型
介绍如何在程序集中嵌入 COM 类型的类型信息,以及公共语言运行时如何确定嵌入的 COM 类型的等效性。
如何:使用 Tlbimp.exe 生成主互操作程序集
介绍如何使用 Tlbimp.exe (类型库导入程序)生成主要互操作程序集。
如何:注册主互操作程序集
介绍如何注册主互操作程序集,然后才能在项目中引用它们。
免注册 COM 互操作
介绍 COM 互操作如何在不使用 Windows 注册表的情况下激活组件。
如何:配置基于 .NET Framework 的 COM 组件以进行免注册激活
介绍如何创建应用程序清单以及如何创建并嵌入组件清单。
相关章节
COM 包装
介绍 COM 互操作提供的包装器。