>>42
まぁごにょごにょいったけど、それはつまり「そんな定義を持ったDLL関数はまずない」というわけで、
そもそもあなたが望んでいる機能(2段階以上のポインタマーシャリング)は必要性があまりないのね。
そのMarshalAs指定してダメなら難しい気がするけど。
あるいは struct Foo { double[] array; } みたいなのを通してref渡しだとどう?