我有以下无法更改的 c++ 函数(第 3 方):
[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# 的正确方法吗?
问候,
约翰