I am needing to make a couple of assumptions here:
1. MCDTYPE1 has been declared in C#, decorated with a
StructLayoutAttribute(LayoutKind.Sequential)
.
2. You've somehow retrieved the pointer to pDest in MapView
I've found (if you're using .NET4.6), the simplest solution is to use the Generic form if PtrToStructure
MCDTYPE1 result = Marshal.PtrToStructure<mcdtype1>(mapView)</mcdtype1>
Otherwise, what is your UIStruct? Should not that be
typeof(MCDTYPE1)
?