次の C++ 関数 (DLL によってエクスポートされたもの) を C# から呼び出したいと考えています。
void createVm(
const jace::VmLoader& loader,
const jace::OptionList& options,
bool ignoreUnrecognized = true );
C++ から C# へのプリミティブのマーシャリングに関するドキュメントを見つけましたが、VmLoader や OptionList (どちらもクラス) などの参照型または非プリミティブ型を処理する方法がわかりません。C++ API を C# レイヤーでラップし、実際のメソッド実装のために基になる C++ コードに委譲しようとしています。
何か案は?