This section describes how the runtime marshaling service handles each of the non-isomorphic types supported by the runtime. The tables that follow show unmanaged representation that the marshaling service supports for each data type. The table has a column of parameters and one for fields because the marshaling behavior is commonly different depending on how the type is being used. Each column has one format shown in bold letters. The format shown in bold is the default format for that usage of that particular type. If the defaults are different for PInvoke and COM Interop, the words P/Invoke or COM are shown in bold next to their respective defaults.