.NET Framework 应用程序中的 COM 互操作性 (Visual Basic)

如果想在同一应用程序中使用 COM 对象和 .NET Framework 对象,则需要解决对象在内存中的存在方式的差异。 .NET Framework 对象位于托管内存(由公共语言运行时控制的内存)中,可由运行时根据需要移动。 COM 对象位于非托管内存中,不应移动到另一个内存位置。 Visual Studio 和 .NET Framework 提供了用于控制这些托管组件和非托管组件的交互的工具。 有关托管代码的详细信息,请参阅公共语言运行时

除了在 .NET 应用程序中使用 COM 对象之外,你可能还希望使用 Visual Basic 开发可通过 COM 从非托管代码访问的对象。

本页上的链接提供了有关 COM 对象和 .NET Framework 对象之间的交互的详细信息。

项目 说明
COM 互操作 提供与 Visual Basic 中的 COM 互操作性相关的主题的链接,包括 COM 对象、ActiveX 控件、Win32 DLL、托管对象以及 COM 对象的继承。
与非托管代码交互操作 简要介绍托管代码与非托管代码之间的一些交互问题,并提供用于进一步研究的链接。
COM 包装 讨论运行时可调用包装器(使托管代码能够调用 COM 方法)和 COM 可调用包装器(使 COM 客户端能够调用 .NET 对象方法)。
高级 COM 互操作性 提供与 COM 互操作性相关的主题的链接,这些主题涉及包装器、异常、继承、线程、事件、转换和封送。
Tlbimp.exe(类型库导入程序) 讨论可用于将 COM 类型库中的类型定义转换为公共语言运行时程序集中的等效定义的工具。