The Wayback Machine - https://web.archive.org/web/20110722233538/http://www.codeguru.com:80/cpp/cpp/cpp_managed/interop/
Survey

    Interop

    Hosting WPF Content in an MFC Application

    Learn to host WPF content as a control in MFC applications.

    Visual C++ Orcas Marshaling Library

    The conversion between common native types and the equivalent .NET Framework type is a common programming activity for interoperability development in C++. Visual C++ Orcas introduces a light-weight, template-based library for performing this conversion. This article will look at both the use of this library and how it can be extended to add new conversions.

    Calling .NET from Unmanaged C++

    Learn how to develop C++ wrapper functions around .NET classes.

    Consuming Unmanaged C++ Class Libraries from .NET Clients

    Learn how Managed C++ code can wrap Unmanaged C++ class libraries so they can be used from .NET clients written in C# or VB.NET.

    Why Don't I Get Those Keywords?

    Do you ever get jealous when you're reading code in other managed languages? Code that uses keywords such as Property and Delegate and using. Have you ever wondered whether you could use those in your C++ applications? You can, but it's not always obvious how to do so.

    Arranging Custom Marshaling With P/Invoke

    Learn how to arrange custom marshaling for function parameter when using P/Invoke to access a legacy function from Visual C++.

    Marshaling and Conversion with P/Invoke

    Learn why you need P/Invoke if you would like to control the marshaling or conversions associated with a call to a function where data types may need to be converted.

    Head-Spinning Continued: The Managed Wrapper

    Yes, you can leave your legacy C++ class as native code and still use it from C# or Visual Basic .NET.

    Head-Spinning Continued: The XCopy Port

    Make that old legacy C++ code available to managed code  It's a lot less work than you might expect!

    Head-Spinning Continued: Who needs P/Invoke?

    Is P/Invoke needed when working with DLLs in C++? Discover the answer as well as the It Just Works feature of Visual C++ .NET.

    Head-Spinning Continued: P/Invoke

    Learn how to wrap your legacy code into a DLL and then call it from both managed and unmanaged code.

    Interop: A Look at Managed C++

    Interop features allow managed .NET code to interface with legacy unmanaged code. Now is your chance to learn about the forms of interop built into the .NET Framework Common Language Runtime.