本人要把c++的一个dll中的字符串通过参数传递给c#主程序。
c++接口定义:
c++接口定义:
extern "C" __declspec(dllexport)bool __stdcall GetError(char** sErrorStr, ERROR_ENUM* nError);
其中sErrorStr就是本人要的字符串。
c#接口定义:
[DllImport(DllName)] public extern static bool GetError(ref string sErrorStr, ref ERROR_ENUM nError);
但是调用此函数时程序崩溃,错误信息:尝试读取或写入受保护的内存。
是这两个接口转换定义有问题吗?
解决方案
10