vs2015呼叫dll庫的一個函式,總是報這個錯誤,查了資料原因很大可能是引數之間轉換的問題
c++函式:
int process(short *pin, int len, char *pout, int &outlen, long long filepos, bool &flag)
c#試過以下幾個:
int process(ref Int16 pin, int len, ref byte pout, ref int outlen, Int64 filepos, ref bool flag)
int process(ref Int16 pin, int len, ref stringBuilder pout, ref int outlen, Int64 filepos, ref bool flag)
int process(ref Int16 pin, int len, [MarshalAs(UnmanagedType.LPStr)] StringBuilder pout, ref int outlen, Int64 filepos, ref bool flag)
還是會報同樣的錯誤,不知道問題出在哪里,請大神們幫忙解答,感謝感謝!
uj5u.com熱心網友回復:
Int16換成指標IntPtr 試試uj5u.com熱心網友回復:
不需要加ref吧,都是傳值,又不是傳參考。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/11470.html
標籤:C#
下一篇:各位大神,這個怎么辦
