#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#该怎么写啊,我对该用什么类型不懂,懂的希望教下,谢谢
C#调用C++编写的dll类库 http://blog.163.com/wwxwb_913/blog/static/9768536201062602321382/
http://www.cnblogs.com/virusswb/archive/2008/05/30/1210520.html这个写的比较简单明了
谢谢,骑是怎么调我懂。我不懂的是方法传递的类型。
我上面给的是c++ 调用dll的代码,我想问,c++中的类型,转化称c#该用什么类型?
@夜星冷: 看上面的代码就int和bool这两个类型和C#中的一样的 不知道你说的是不是这个
@aehyok: 比如这个方法:
JSPRINTERDLL_API int _stdcall ConnectNetPort(SOCKET *lpSocket,//连接的套接口 SOCKADDR_IN * pPrinterAddr, //打印机的地址 timeval *lpTimeout); // 超时
这里的 SOCKET和 SOCKADDR_IN 都是定义的结构,c#也可以传结构吗?
@aehyok: @aehyok: 比如这个方法:
JSPRINTERDLL_API int _stdcall ConnectNetPort(SOCKET *lpSocket,//连接的套接口 SOCKADDR_IN * pPrinterAddr, //打印机的地址 timeval *lpTimeout); // 超时
这里的 SOCKET(引用指针)和 SOCKADDR_IN(的结构),c#也可以传结构吗?