変更できない次のc++関数があります(サードパーティ):
[c++]
int __stdcall TEST(wchar_t **xml, int &result_size)
{
// xml is instantiated here!
}
[c#]
class native
{
[DllImport("somedll.dll")]
public static extern int TEST(StringBuilder a, ref int size);
{
}
}
例:
StringBuilder b = new StringBuilder();
int size = 0;
native.Test(b,ref size)
stringbuilder オブジェクトには最初の文字のみが含まれます。オブジェクトのサイズを変更すると:
b.Length = size; 最初の文字以外のデータが正しくありません。
これは wchar_t** を c++ から c# に渡す正しい方法ですか?
よろしく、
ジョン