C#与C++ 函数互相调用时,socket 参数如果传递
大家好,
我有一个C++ dll 的函数申明:
1.
SOCKET _stdcall ConnectScale(char *ScaleIP, int iPort)
/*
函数:
ConnectScale:连接电子秤
参数:
char *ScaleIP : 电子秤IP地址 ipv4格式(例:192.168.0.1)
int iPort :电子秤的通讯端口 2000+IP地址的最后一段(例:192.168.0.1 的端口为 2001)
返回值:
类型 : int
-1 :连接电子秤失败
>0 :连接电子秤的socket句柄
*/
2. int _stdcall SendRPlu(SOCKET s,ReceiptPlu *ScaleData)
/*
函数:
SendRPlu:下传PLU信息到电子秤上(收据信息)
参数:
SOCKET s: 电子秤socket句柄
ReceiptPlu *ScaleData:需要删除的PLU记录
返回值:
类型 : int
0 :无错误
-1 :错误
*/
问题:
请问在上述2个函数中,我在C#里面如果申明?
我测试过,使用IntPtr 来接收 ConnectScale 可以获取到返回值,但是如果将这个值在 第2个函数 SendRPlu 中使用?
直接使用接收到IntPtr 会提示内存错误?