Unlike System.Reflection and other reflection
engines, the PostSharp Code Model completely supports Platform
Invoke.
Marshalling of structure fields and parameters is specified by the abstract type MarshalType whose all concretizations are in the PostSharp.CodeModel.MarshalTypes namespace. Mapping of managed method signatures to unmanaged implementations are represented by the PInvokeMap class.