当前位置:编程学习 > C#/ASP.NET >>

C#调用C++DLL方法参数格式不知道怎么写

C++头文件中提供的方法
int WINAPI SMGP30_SubmitSM(
                           unsigned char byMsgType,
                           int *FCS = NULL 
                           );
C#中写这个方法
public static extern int SMGP30_SubmitSM(byte byMsgType, ref int FCS);
提示:调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
主要原因是int *FCS = NULL 在C#中写ref int FCS 是错误的,而且C#中ref不能赋初始值,不知道哪位高手能告诉我,谢谢!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,