Advanced COM Interop
The .NET framework is a natural progression from COM because the two models share many central themes, including component reuse and language neutrality. For backward compatibility, COM interop provides access to existing COM components without requiring that the original component be modified. You can incorporate COM components into a .NET Framework application by using COM interop tools to import the relevant COM types. Once imported, the COM types are ready to use.
COM interop also introduces forward compatibility by enabling your COM clients to access managed code as easily as they access other COM objects. Again, COM interop provides the means to seamlessly export metadata in an assembly to a type library and registers the managed component as a traditional COM component. Both the import and export utilities produce results consistent with COM specifications. At run time, the common language runtime marshals data between COM objects and managed objects as needed.
In This Section
- COM Wrappers
Describes the wrappers provided by COM interop. - Primary Interop Assemblies
Describes how to create and use primary interop assemblies. - Side-By-Side Execution for COM Interop
Describes how to safely share components through COM interop services. - Registration-Free COM Interop
Describes how COM interop can activate components without using the Windows registry. - HRESULTs and Exceptions
Describes the mapping between exceptions and HRESULTs. - Inheritance, Aggregation, and Containment
Describes various strategies for extending COM types. - Managed and Unmanaged Threading
Describes the threading differences that impact interoperation. - Managed and Unmanaged Events
Describes how to raise and handle events using COM interop. - Type Library to Assembly Conversion Summary
Describes the type library to assembly import conversion process. - Assembly to Type Library Conversion Summary
Describes the assembly to type library export conversion process. - Custom Marshaling
Describes the process for writing a custom marshaler for interoperation.
Related Topics
- Exposing COM Components to the .NET Framework
Describes the process for calling COM types through COM interop. - Exposing .NET Framework Components to COM
Describes the preparation and use of managed types from COM. - Design Considerations for Interoperation
Provides tips for writing integrated COM types. - Interop Marshaling
Describes marshaling behavior for COM interop and platform invoke.