前回の記事の逆変換の場合を考えていきます。基本的に、ポインタに変換するよりはコーディングは楽です。 なお、今回変換する構造体と、その構造体のデータが入ったポインタ(IntPtr)は以下のようなものとします。 [StructLayout(LayoutKind.Sequential)] struct Fuga { public double A; public double B; public double C; } Fuga fuga = new Fuga { A = 1.23, B = 4.56, C = 7.89 }; IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(fuga)); Marshal.StructureToPtr(fuga, ptr, false); なおバイト配列の場合は、Marshal.Copyするなり、GCHandle