首页 新闻 会员 周边

C# 调用 C/C++ 第三方DLL 函数 定义

0
悬赏园豆:20 [已解决问题] 解决于 2013-05-28 20:57

long CapSetNBCardInfo(long CustomerID, long opFare, long objNo, LPSTR jyDT, __int64 *psamID, long *psamJyNo, long *tac)

以上 是 C++ DLL 的原型。

 

我在C#这边是这样定义的

       public static extern int CapSetNBCardInfo(int CustomerID, long opFare, int objNo, [MarshalAs(UnmanagedType.LPTStr] string jyDT,
            out long psamID, out int psamJyNo, out int tac);

 

结果不行。 

错误:    尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

Miracle_Yang的主页 Miracle_Yang | 初学一级 | 园豆:10
提问于:2013-05-27 17:57
< >
分享
最佳答案
0

[MarshalAs(UnmanagedType.LPStr)]

 

但不确定是这个的问题, 主要看他的参数定义到底要传些什么

收获园豆:20
悟了 | 小虾三级 |园豆:521 | 2013-05-27 18:37

解决了 呵呵  自己的把 入口点的  方法名字写错了

Miracle_Yang | 园豆:10 (初学一级) | 2013-05-28 20:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册