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);
结果不行。
错误: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
[MarshalAs(UnmanagedType.LPStr)]
但不确定是这个的问题, 主要看他的参数定义到底要传些什么
解决了 呵呵 自己的把 入口点的 方法名字写错了