我有一个用C++编写的DLL。其中一个函数的代码如下:
C++代码:
现在我想从C#代码中的GetPalette()函数获取Pallet字符串。
我该如何从该函数中获取字符串? 我已经尝试在C#代码中实现这一点。但无法得到正确的结果。
C#代码:
最终我想要得到这样的字符串
这段代码不能正常工作。 有人能帮我吗?我该如何从我的 C++ DLL 函数中获取字符串值? 谢谢。 Shahriar
C++代码:
char _H *GetPalette() {
-------Functions body
-------Functions body
return pPaletteString;
}
现在我想从C#代码中的GetPalette()函数获取Pallet字符串。
我该如何从该函数中获取字符串? 我已经尝试在C#代码中实现这一点。但无法得到正确的结果。
C#代码:
[DllImport("cl.dll", EntryPoint = "GetPalette@0", CallingConvention = CallingConvention.StdCall)]
private static extern IntPtr libGetPalette();
public IntPtr GetPalette()
{
return libGetPalette();
}
最终我想要得到这样的字符串
IntPtr result;
result = imgProcess.GetPallet();
string pallet;
pallet = Marshal.PtrToStringAnsi(result);
MessageBox.Show(pallet);
这段代码不能正常工作。 有人能帮我吗?我该如何从我的 C++ DLL 函数中获取字符串值? 谢谢。 Shahriar