UnityでNativePluginと同様のインタフェースを持つjslibを作成することを考えます。

C#側で以下のCreate APIがあった時、JS側からhogeに値を書き込みたいとします。

 [DllImport("__Internal")]
 public static extern int Create(ref IntPtr hoge);

JS側はEmscriptenのsetValue APIで値を書き込むことができます。

Create : function(hoge)
{
  var some_value=1;
  setValue(hoge,some_value,"i32*");
}

同様に構造体へも書き込むことが可能です。

C#側の定義は以下です。

[DllImport("__Internal")]
public static extern int getInfo([In,Out] InfoStructinfo);

[StructLayout(LayoutKind.Sequential)]
public class InfoStruct
{
	public UInt32 width;
	public UInt32 height;
}

JS側の実装は以下です。

getInfo: function(info)
{
	setValue(info+0,i.width,"i32");
	setValue(info+4,i.height,"i32");
	return 0;
}

参考:Emscripten : preamble.js