110,533
社区成员
发帖
与我相关
我的任务
分享
[DllImport("cplus.dll", CallingConvention = CallingConvention.Cdecl)]
unsafe public static extern uint CalcSign(
ref byte pCertData, uint nSize,
ref byte pSignSapData, ref int nOutSize
);
把unsign char * 转成 ref byte试试看static extern uint CalcSign(byte[] pCertData, int nSize, byte[] pSignSapData, ref int nOutSize);
//调用时,要准备pSignSapData:
int size = 1024;
byte[] data = new byte[size];
CalcSign(..., data, ref size);
另,你的unsafe byte* toBytes(string str)函数有问题(出了fixed范围后,得到的指针就不安全了)。