⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prmconnect.h

📁 RFID 的实用例子,登陆使用了标准动态库类
💻 H
字号:
#ifndef __PRMCONNECT_H_ 
#define __PRMCONNECT_H_

#define DLLIMPORTLONG extern "C" __declspec(dllimport) long __stdcall


/*********************************************************************
| 函数编号: 001
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTLONG OpenConnect(int nComType, char *Param)
|---------------------------------------------------------------------
| 功能描述: 打开一个通讯连接
|---------------------------------------------------------------------
| 参    数: 
|	int nComType:	[in] 通讯类型 0: 串口;			1: TCP/IP Server; 
|								  2: TCP/IP Client; 3: UDP;
|	char *Param:	[in] 创建通讯连接的参数字符串
|					Param依次为:
|	nComType = 0:	nPort:			串口号
|					dwBaudRate:		波特率
|					byByteSize:		数据位 
|					byParity:		校验位
|					byStopBits:		停止位
|					byFlowCtrl:		流控
|
|	nComType = 1/2:	ServerIP:		服务器IP地址
|					nServerPort:	服务器端口号
|					ClientIP:		客户端IP地址
|					nClientPort:	客户端端口号
|
|	nComType = 3:
|					LocalIP:		本地IP地址
|					nLocalPort:		本地端口号
|					ClientIP:		远程IP地址
|					nClientPort:	远程端口号
|---------------------------------------------------------------------
| 返 回 值: 通讯连接句柄 
'**********************************************************************/
DLLIMPORTLONG OpenConnect(int nComType, char *Param);

/*********************************************************************
| 函数编号: 002
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTLONG CloseConnect(long hHandle)
|---------------------------------------------------------------------
| 功能描述: 关闭通讯连接
|---------------------------------------------------------------------
| 参    数: 
|	long hHandle:	[in]  通讯连接句柄
|---------------------------------------------------------------------
| 返 回 值: 关闭成功,返回TRUE; 否则,返回FALSE
'**********************************************************************/
DLLIMPORTLONG CloseConnect(long hHandle);

/*********************************************************************
| 函数编号: 003
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTLONG WriteConnect(long hHandle, BYTE *byBuffer, int nSize, 
|					const char *strToIP = NULL, int nToPort = 0,
|					BOOL bBroadcast = FALSE)
|---------------------------------------------------------------------
| 功能描述: 从通讯连接发送数据
|---------------------------------------------------------------------
| 参    数: 
|	long hHandle:	[in]  通讯连接句柄
|	BYTE *byBuffer:	[in]  发送数据指针
|	int nSize:		[in]  发送数据大小
|	char *strToIP:	[in]  接收端的IP地址
|	int nToPort:	[in]  接收端的端口号
|	BOOL bBroadcast:[in]  TRUE:	广播发送; FALSE: 定向发送
|---------------------------------------------------------------------
| 返 回 值: 实际发送出的数据长度
'**********************************************************************/
DLLIMPORTLONG WriteConnect(long hHandle, BYTE *byBuffer, int nSize, 
						char *strToIP = NULL, int nToPort = 0, 
						BOOL bBroadcast = FALSE);

/*********************************************************************
| 函数编号: 004
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTLONG ReadConnect(long hHandle, BYTE *byBuffer,
|				int nSize, char * chIpFrom = NULL, 
|				int *nPortFrom = NULL)
|---------------------------------------------------------------------
| 功能描述: 从通讯连接读取接收到的数据
|---------------------------------------------------------------------
| 参    数: 
|	long hHandle:	[in]  通讯连接句柄
|	BYTE *byBuffer:	[out] 读取数据的存储的指针
|	int nSize:		[in]  读取数据的最大长度
|	char *chIpFrom:	[out] 发送端的IP地址
|	int *nPortFrom:	[out] 发送端的端口号
|---------------------------------------------------------------------
| 返 回 值: 实际读取的数据长度
'**********************************************************************/
DLLIMPORTLONG ReadConnect(long hHandle, BYTE *byBuffer,	int nSize,
						char * chIpFrom = NULL , int *nPortFrom = NULL);

/*********************************************************************
| 函数编号: 005
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTLONG GetConnectType(long hHandle)
|---------------------------------------------------------------------
| 功能描述: 根据连接句柄查找连接的类型,是串口连接还是SOCKET连接
|			串口连接接收到的数据为字符流,完整的数据包较难得到
|			SOCKET连接收到的数据, 一般可一次读到完整的一个数据包
|---------------------------------------------------------------------
| 参    数: 
|	long hHandle:	[in]  通讯连接句柄
|---------------------------------------------------------------------
| 返 回 值: int 通讯连接的类型, 0: 串口;			1: TCP/IP Server; 
|								2: TCP/IP Client;   3: UDP;
|								-1:未找到连接。
'**********************************************************************/
DLLIMPORTLONG GetConnectType(long hHandle);

#define DLLIMPORTINT extern "C" __declspec(dllimport) int __stdcall

/*********************************************************************
| 函数编号: 006
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTINT DecomposeByte(char *pbyParam, BYTE &byByte)
|---------------------------------------------------------------------
| 功能描述: 从参数字符串的最前端分离出一个BYTE型的参数
|---------------------------------------------------------------------
| 参    数: 
|	char *pbyParam:	[in]  参数字符串, 参数间以/分隔
|	BYTE &byByte:	[out] 分离出的BYTE型参数
|---------------------------------------------------------------------
| 返 回 值: 参数字符串向前移动的长度
'**********************************************************************/
DLLIMPORTINT DecomposeByte(char *pbyParam, BYTE &byByte);

/*********************************************************************
| 函数编号: 007
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTINT DecomposeWord(char *pbyParam, WORD &wdWord)
|---------------------------------------------------------------------
| 功能描述: 从参数字符串的最前端分离出一个WORD型的参数
|---------------------------------------------------------------------
| 参    数: 
|	char *pbyParam:	[in]  参数字符串, 参数间以/分隔
|	WORD &wdWord:	[out] 分离出的WORD型参数
|---------------------------------------------------------------------
| 返 回 值: 参数字符串向前移动的长度
'**********************************************************************/
DLLIMPORTINT DecomposeWord(char *pbyParam, WORD &wdWord);

/*********************************************************************
| 函数编号: 008
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTINT DecomposeBool(char *pbyParam, bool &bBool)
|---------------------------------------------------------------------
| 功能描述: 从参数字符串的最前端分离出一个bool型的参数
|---------------------------------------------------------------------
| 参    数: 
|	char *pbyParam:	[in]  参数字符串, 参数间以/分隔
|	bool &bBool:	[out] 分离出的bool型参数
|---------------------------------------------------------------------
| 返 回 值: 参数字符串向前移动的长度
'**********************************************************************/
DLLIMPORTINT DecomposeBool(char *pbyParam, bool &bBool);

/*********************************************************************
| 函数编号: 009
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTINT DecomposeDword(char *pbyParam, DWORD &dwDword)
|---------------------------------------------------------------------
| 功能描述: 从参数字符串的最前端分离出一个DWORD型的参数
|---------------------------------------------------------------------
| 参    数: 
|	char *pbyParam:	[in]  参数字符串, 参数间以/分隔
|	DWORD &dwDword:	[out] 分离出的DWORD型参数
|---------------------------------------------------------------------
| 返 回 值: 参数字符串向前移动的长度
'**********************************************************************/
DLLIMPORTINT DecomposeDword(char *pbyParam, DWORD &dwDword);

/*********************************************************************
| 函数编号: 010
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTINT DecomposeString(char *pbyParam, char *str, int nLen)
|---------------------------------------------------------------------
| 功能描述: 从参数字符串的最前端分离出一个字符串型的参数
|---------------------------------------------------------------------
| 参    数: 
|	char *pbyParam:	[in]  参数字符串, 参数间以/分隔
|	char *str:		[out] 分离出的字符串型参数,以'\0'结束
|	int nLen:		[in]  字符串str的最大长度
|---------------------------------------------------------------------
| 返 回 值: 参数字符串向前移动的长度
'**********************************************************************/
DLLIMPORTINT DecomposeString(char *pbyParam, char *str, int nLen);

/*********************************************************************
| 函数编号: 011
|---------------------------------------------------------------------
| 函数原型:
|	DLLIMPORTINT DecomposeInt(char *pbyParam, int &nInteger)
|---------------------------------------------------------------------
| 功能描述: 从参数字符串的最前端分离出一个int型的参数
|---------------------------------------------------------------------
| 参    数: 
|	char *pbyParam:	[in]  参数字符串, 参数间以/分隔
|	int &nInteger:	[out] 分离出的int型参数
|---------------------------------------------------------------------
| 返 回 值: 参数字符串向前移动的长度
'**********************************************************************/
DLLIMPORTINT DecomposeInt(char *pbyParam, int &nInteger);

/*********************************************************************
| 函数编号: 012
|---------------------------------------------------------------------
| 函数原型: 
|	long RFIDLib_DetectAllConventers(int &iDevCnt, char *chData)
|---------------------------------------------------------------------
| 功能描述: 侦测网络中所有基于TCPIP相连接的设备(或者TCP/IP-RS485转换器)
|---------------------------------------------------------------------
| 参数说明: 
|	int &iDevCnt:	[in, out]	in  :  返回设备的最大数量
|								out :  找到的设备数量
|   char *chData:	[out]		返回设备(TCP/IP-RS485转换器)的配置信息. 
|								为无符号字符串, 每39个字符为一个设备的
|								配置信息, 长度为iDevCnt * 39.
|								可调用DeviceInfoToParameters()将配置信
|								息转换为配置参数。
|---------------------------------------------------------------------
| 输出说明: 如果执行成功,函数返回值TRUE,否则返回FALSE
'**********************************************************************/
DLLIMPORTLONG DetectAllDevice(int &iDevCnt, char *chData);

/*********************************************************************
| 函数编号: 013
|---------------------------------------------------------------------
| 函数原型: 
|	DLLEXPORT DeviceInfoToParameters(char *chData, char* strDevMacAddr, char *strDevIP,
|		char *strSubnet,char *strGateWay, char *strRemoteIP, int &remotePort, 
|		int &localPort,	long &baudRate, BYTE &byParity, BYTE &byProtocol)
|---------------------------------------------------------------------
| 功能描述: 将设备的配置信息换为配置参数
|---------------------------------------------------------------------
| 参数说明: 
|	char *chData:		[in]	一个设备的配置信息, 长度为iDevCnt * 39.
|	char* strDevMacAddr:[out]	设备MAC地址
|	char *strDevIP:		[out]	设备IP地址
|	char *strSubnet:	[out]	子网掩码
|	char *strGateWay:	[out]	网关
|	char *strRemoteIP:	[out]	远程IP地址
|	int &remotePort:	[out]	远程Socket端口号
|	int &localPort:		[out]	本地Socket端口号
|	long &baudRate:		[out]	设备通讯波特率
|	BYTE &byParity:		[out]	设备通讯奇偶校验位
|	BYTE &byProtocol:	[out]	设备通讯协议
|---------------------------------------------------------------------
| 输出说明: 如果执行成功,函数返回值TRUE,否则返回FALSE
'**********************************************************************/
DLLIMPORTLONG DeviceInfoToParameters(char *chData, char* strDevMacAddr, char *strDevIP,
		char *strSubnet,char *strGateWay, char *strRemoteIP, int &remotePort, 
		int &localPort,	long &baudRate, BYTE &byParity, BYTE &byProtocol);

/*********************************************************************
| 函数编号: 014
|---------------------------------------------------------------------
| 函数原型: 
|	DLLEXPORT SetDeviceParameters(char* strDevMacAddr, char *strNewMacAddr,
|			char *strDevIP, char *strSubnet, char *strGateWay,
|			char *strRemoteIP, int remotePort, int localPort,
|			long baudRate, BYTE bParity, BYTE bProtocol)
|---------------------------------------------------------------------
| 功能描述: 将设备的配置信息换为配置参数
|---------------------------------------------------------------------
| 参数说明: 
|	char* strDevMacAddr:[in]	设备的旧MAC地址
|	char* strNewMacAddr:[in]	设备的新MAC地址
|	char *strDevIP:		[in]	设备IP地址
|	char *strSubnet:	[in]	子网掩码
|	char *strGateWay:	[in]	网关
|	char *strRemoteIP:	[in]	远程IP地址
|	int remotePort:		[in]	远程Socket端口号
|	int localPort:		[in]	本地Socket端口号
|	long baudRate:		[in]	设备通讯波特率
|	BYTE byParity:		[in]	设备通讯奇偶校验位
|	BYTE byProtocol:	[in]	设备通讯协议
|---------------------------------------------------------------------
| 输出说明: 如果执行成功,函数返回值TRUE,否则返回FALSE
'**********************************************************************/
DLLIMPORTLONG SetDeviceParameters(const char* strDevMacAddr, const char *strNewMacAddr,
			const char *strDevIP, const char *strSubnet, const char *strGateWay,
			const char *strRemoteIP, const int remotePort, const int localPort,
			const long baudRate, const BYTE bParity, const BYTE bProtocol);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -