May 2010
Intermediate to advanced
1272 pages
61h 18m
English
When you work with P/Invokes, you might have the need to pass custom types as function arguments. If such types are .NET types, the most important thing is converting primitives into types that are acceptable by the COM/Win32 architecture. The System.Runtime.InteropServices namespace exposes the MarshalAs attribute that can be applied to fields and method arguments to convert the object into the most appropriate COM counterpart. The following sample implementation of the Person class demonstrates how to apply MarshalAs:

The attribute receives a value from the UnmanagedType enumeration; IntelliSense offers great help ...
Read now
Unlock full access