失礼します。
C++で作成されたdllにポインタを渡したいのですが

[StructLayout(LayoutKind.Sequential]
public struct hoge
{
Public UInt32 aaa;
Public Uin64 bbb;
Public IntPtr ccc;
(その他配列等色々)
}

で宣言された構造体のポインタのポインタを渡すにはどうしたら良いのでしょうか?

C++の関数宣言は
ret hage(hoge** test);
ですが、C#で ret hage(ref hoge test);ではtestの先頭にアドレスっぽい値が入っていました。
さらにtestも配列なので、少し混乱しています。(構造体の配列のポインタのポインタ 構造体の中にも配列やポインタ有り)

ttp://oshiete.goo.ne.jp/qa/2119623.html
を参考にしようとしてみましたが、hoge* testと書くとマネージ型のアドレスの取得は出来ませんと出てしまいます。

よろしくお願いします。