This documentation is archived and is not being maintained.

Interoperability in Managed Extensions for C++

Interoperability eases the communication between separate components. It allows managed and unmanaged components to communicate and call functions, implemented in different languages (such as Visual Basic or Visual C#) with minimal effort. For an overview of interoperability, see Language Interoperability Overview.

In This Section

Referencing Additional Components from a Managed Application
Demonstrates referencing managed components from a managed application with the TilePuzzle sample.
Implementing Native COM Interfaces
Provides code showing how an object written in Managed Extensions implements native COM interfaces.
Managed Applications and Unmanaged Functions
Provides information and links about where unmanaged code is generated when using the /clr compiler option.
The Debug Class in Managed Extensions for C++
Discusses using the .NET Framework Debug class and the behavior not changing between debug and release builds.
Producing Verifiable Components with Managed Extensions for C++
Describes guidelines for authoring components that can be compiled into verifiable components.
Running a Managed Extensions for C++ Application on a Previous Runtime Version
Provides a method for allowing an EXE built with one version of the common language runtime to run on any version.

Related Sections

Data Marshaling Tutorial
Discusses passing data between the common language runtime and native code.
COM Interoperability Tutorial
Describes techniques for using existing COM objects through managed code.
.NET Remoting Tutorial
Discusses remoting issues such as sockets, transports, formatters, DCOM vs. .NET, custom marshaling, and client vs. server data management.
Interoperating with Unmanaged Code
Provides a general overview of interacting with unmanaged components, such as COM components, existing C++ applications, and external type libraries.
TilePuzzle Sample
Demonstrates interoperability calls between Managed Extensions and Visual C# DLLs (see the PUZZLE and TileDriver assemblies).
Walkthrough: Using the DllImport Attribute
Describes an attribute designed to facilitate making calls from a managed application to native code.
Type Library Importer (Tlbimp.exe)
Discusses a tool for converting type definitions within an existing COM type library into a common language runtime assembly with equivalent definition.
Provides links to reference material on keywords, pragmas, compiler and linker options, attributes, and preprocessor directives.
Provides links to samples that show how to use Managed Extensions to write .NET Framework applications.
Frequently Asked Questions
Provides specific answers to various questions about using Managed Extensions.
Managed Extensions for C++ Programming
Provides links to different areas of the Managed Extensions for C++ documentation.