Marshaling data => Sending data from .NET to native language
UnMarshaling data => Sending data from Native language to .NET
ref
Introduction to Marshalling - http://msdn.microsoft.com/en-us/library/aa446536.aspx
Call unmanaged DLL functions and control the marshaling of data - http://en.csharp-online.net/Call_unmanaged_DLL_functions_and_control_the_marshaling_of_data
Marshaling Support in the .NET Compact Framework - http://msdn.microsoft.com/en-us/library/8c5xx97k.aspx
Marshal your .NET API - http://pinvoke.net/
Marshal - http://geekswithblogs.net/taylorrich/archive/2006/08/21/88665.aspx
CodeProject - http://www.codeproject.com/KB/cs/C__Poiter.aspx
Passing structures as param - http://www.codeproject.com/KB/vb/Marshaling_Structures.aspx?fid=132433&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=1209742
How to: Marshal Embedded Pointers Using C++ Interop - http://msdn.microsoft.com/en-us/library/3765161x.aspx
How to: Marshal Structures Using C++ Interop - http://msdn.microsoft.com/en-us/library/10d75z29.aspx
Complete Cycle - http://www.developmentnow.com/g/21_2007_2_0_0_913289/How-to-marshal-complex-data-structures.htm
Revisit P/invoke - http://msdn.microsoft.com/en-us/magazine/cc163910.aspx
msdn Links - http://msdn.microsoft.com/en-us/netframework/aa497271.aspx
Interop (.NET 1.1) Performance Guidelines - Marshal.ReleaseComObject - http://www.guidanceshare.com/wiki/Interop_(.NET_1.1)_Performance_Guidelines_-_Marshal.ReleaseComObject