首页 新闻 搜索 专区 学院

c++调用dll,怎么换成c#的

0
悬赏园豆:5 [已解决问题] 解决于 2016-03-08 17:18

#include <winsock2.h> #ifdef JSPRINTERDLL_EXPORTS #define JSPRINTERDLL_API __declspec(dllexport) #else #define JSPRINTERDLL_API __declspec(dllimport) #endif

 

/********网口打印机操作API**************/ JSPRINTERDLL_API BOOL _stdcall InitNetSev(); //启动SOCKET服务

JSPRINTERDLL_API int _stdcall ConnectNetPort(SOCKET *lpSocket,//连接的套接口  SOCKADDR_IN * pPrinterAddr,   //打印机的地址  timeval *lpTimeout);   // 超时

JSPRINTERDLL_API int _stdcall WriteToNetPort(SOCKET *lpSocket,  char *SendBuf,  DWORD SendBufSize);

JSPRINTERDLL_API int _stdcall ReadFromNetPort(SOCKET *lpSocket,//已建立连接的套接字符  char *RecvBuf,    //用于接收数据的缓冲区。  DWORD RecvBufSize);  //缓冲区长度。

JSPRINTERDLL_API BOOL _stdcall CloseNetPor(SOCKET *lpSocket);

JSPRINTERDLL_API  BOOL _stdcall CloseNetServ();

 

 

上面是是c++调用写的方法,请问c#该怎么写啊,我对该用什么类型不懂,懂的希望教下,谢谢

夜星冷的主页 夜星冷 | 初学一级 | 园豆:71
提问于:2013-12-31 11:05
< >
分享
最佳答案
0
收获园豆:5
aehyok | 小虾三级 |园豆:1012 | 2013-12-31 11:51

谢谢,骑是怎么调我懂。我不懂的是方法传递的类型。

我上面给的是c++ 调用dll的代码,我想问,c++中的类型,转化称c#该用什么类型?

夜星冷 | 园豆:71 (初学一级) | 2013-12-31 11:59

@夜星冷: 看上面的代码就int和bool这两个类型和C#中的一样的  不知道你说的是不是这个

aehyok | 园豆:1012 (小虾三级) | 2013-12-31 12:04

@aehyok: 比如这个方法:

JSPRINTERDLL_API int _stdcall ConnectNetPort(SOCKET *lpSocket,//连接的套接口  SOCKADDR_IN * pPrinterAddr,   //打印机的地址  timeval *lpTimeout);   // 超时

这里的 SOCKET和 SOCKADDR_IN 都是定义的结构,c#也可以传结构吗?

夜星冷 | 园豆:71 (初学一级) | 2013-12-31 14:08

@aehyok: @aehyok: 比如这个方法:

JSPRINTERDLL_API int _stdcall ConnectNetPort(SOCKET *lpSocket,//连接的套接口  SOCKADDR_IN * pPrinterAddr,   //打印机的地址  timeval *lpTimeout);   // 超时

这里的 SOCKET(引用指针)和 SOCKADDR_IN(的结构),c#也可以传结构吗?

夜星冷 | 园豆:71 (初学一级) | 2013-12-31 14:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册