COM and .NET Interoperability


.NET allows developers to leverage existing code by providing an interface to their COM components. The .NET framework provides a rich infrastructure for development and backward interoperability with COM. The System.Runtime.InteropServices namespace in the .NET framework class library contains interoperability services that allow .NET-managed code to interoperate with COM components.

Calling .NET Components from a COM Client

Although COM clients can call code that is exposed in a public class by .NET components, .NET code is not directly accessible to COM clients. To use .NET code from a COM client, developers need to create a proxy known as a COM callable wrapper (CCW).

There are two prerequisites to creating a .NET class that will be used by COM clients:

Calling COM Components from a .NET Client

Although .NET clients can call code that is exposed through interfaces by classic COM components, COM code is not directly accessible to .NET clients. To use unmanaged COM code from a managed .NET client, developers need to create a proxy known as a Runtime callable wrapper (RCW). COM metadata information, contained in a type library, needs to be converted to .NET metadata before the managed code can access unmanaged COM code at runtime.


TIBCO Adapter™ for COM User’s Guide
Software Release 5.3, September 2005
Copyright © TIBCO Software Inc. All rights reserved
www.tibco.com