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.
Articles Written by Kate Gregory
Yes, you can leave your legacy C++ class as native code and still use it from C# or Visual Basic .NET.
Make that old legacy C++ code available to managed code It's a lot less work than you might expect!
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.
Learn how to wrap your legacy code into a DLL and then call it from both managed and unmanaged code.
Learn how to convert an ordinary unmanaged class to a COM component, and then use that COM component from both unmanaged and managed code.