与非托管代码进行交互操作

.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 互操作提供的包装器。