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

📄 smsoperater.h

📁 PDA通讯网关服务器源码程序
💻 H
字号:
// SmsOperater.h: interface for the CSmsOperater class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SMSOPERATER_H__ECF4C822_ED04_4C10_AECD_31142A9D6385__INCLUDED_)
#define AFX_SMSOPERATER_H__ECF4C822_ED04_4C10_AECD_31142A9D6385__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/*
//存放短消息的结构体说明
typedef struct {
	char SCA[16];			// 短消息服务中心号码(SMSC地址)
	char TPA[16];			// 目标号码或回复号码(TP-DA或TP-RA)
	char TP_PID;			// 用户信息协议标识(TP-PID)
	char TP_DCS;			// 用户信息编码方式(TP-DCS)
	char TP_SCTS[16];		// 服务时间戳字符串(TP_SCTS), 接收时用到
	char TP_UD[160];		// 原始用户信息(编码前或解码后的TP-UD)
	short index;			// 短消息序号,在读取时用到
} SM_PARAM;
*/


typedef int (__stdcall *OPENCOM)(const char *pPort, int nBaudRate, int nParity, int nByteSize, int nStopBits);
typedef int (__stdcall *CLOSECOM)(int nHcom);
typedef int (__stdcall *SETINIT)(int nHcom);
typedef const char* (__stdcall *GETSERIALNO)(int nHcom);
typedef const char* (__stdcall *GETSMSCENTERNUM)(int nHcom);
typedef int (__stdcall *RECVSMSBUF)(int nHcom,const unsigned int nLenOutBuffer,const char *pchOutBuffer,bool bDel=true);
typedef int (__stdcall *RECVSMSSTRUCT)(int nHcom,SM_PARAM* pMsg);
typedef int (__stdcall *SENDSMSONE)(int nHcom,const char*pchSCA,const char*pchMobile, const char* pchSms);
typedef int (__stdcall *DELREADANDSEND)(int nHcom);
typedef int (__stdcall *DELAPPOINTED)(int nHcom,int nIndex);;


class CSmsOperater  
{
public:
/******************************************************************************************
功能说明--打开串口
函数返回--如果大于0则为获取的com接口的句柄,小于0则为失败,为int型
输入参数-- 
			const char *pPort  串口字符,如连接的是串口1,则为COM1
			int nBaudRate      波特率,一般为9600
			int nParity        奇偶校验,一般为0
			int nByteSize      数据位, 一般为8
			int nStopBits      停止位,一般位1
调用例子-- int nHcom=OpenCom("COM1",9600,0,8,1);如果nHcom大于0则为句柄,小于0则为打开串口失败
*******************************************************************************************/
int  OpenCom(const char *pPort, int nBaudRate, int nParity, int nByteSize, int nStopBits);


/******************************************************************************************
功能说明--关闭指定的串口
函数返回--If the function succeeds, the return value is nonzero.
			If the function fails, the return value is zero
输入参数-- 
			int nHcom 串口句柄,关闭指定串口,比如串口一(com1)
调用例子-- 
*******************************************************************************************/
int  	CloseCom(int nHcom);

/******************************************************************************************
功能说明--删除指定的消息
函数返回--如果大于等于0则成功,否则失败
输入参数-- 
			int nHcom           串口句柄,表示删除那个串口的数据
			int nIndex          消息索引,指哪条消息
调用例子-- 
*******************************************************************************************/
int  DeleteAppointed(int nHcom,int nIndex);

/******************************************************************************************
功能说明--初始化at命令,一般要验证这个的话,则要调用这个
函数返回--如果大于0则为获取的com接口的句柄,小于0则为失败,为int型
输入参数-- 
			int hCom           串口句柄
调用例子-- 
*******************************************************************************************/
int  SetInit(int nHcom);


/******************************************************************************************
功能说明--获得modem的序列号
函数返回--如果失败则为NULL(空),成功则返回产品序列号码
输入参数-- 
			int nHcom           串口句柄,从指定的串口读出产品序列号码,比如串口一(com1)
调用例子-- 
*******************************************************************************************/
const char*   GetSerialNo(int nHcom);


/******************************************************************************************
功能说明--获取短消息中心号码
函数返回--如果失败则为NULL(空),成功则返回短消息中心号码
输入参数-- 
			int nHcom           串口句柄,从哪个串口读出数据,比如串口一(com1)
调用例子-- 
*******************************************************************************************/
const char*   GetSmsCenterNum(int nHcom);


/******************************************************************************************
功能说明--从sim卡中读出所有新的短信,然后放入pchOutBuffer
函数返回--大于0则为短消息条数,小于0则为读取消息失败
输入参数-- 
			int nHcom						串口句柄,从哪个串口读出数据,比如串口一(com1)
			const char *pchOutBuffer		存放消息的字符缓冲区,格式按照SM_PARAM依次存放,所以建议输出缓冲区尽量定义大一些
			const unsigned int nLenOutBuffer	 存放消息的字符缓冲区长度
			bool bDel						读完新消息后,是否删除,如果为true则删除,缺省为删除

调用例子-- 
*******************************************************************************************/
int  RecvSmsBuf(int nHcom,const unsigned int nLenOutBuffer,const char *pchOutBuffer,bool bDel=true);

/******************************************************************************************
功能说明--从sim卡中读出所有新的短信,然后放入SM_PARAM结构体中
函数返回--大于0则为短消息条数,小于0则为读取消息失败
输入参数-- 
			int nHcom           串口句柄,从哪个串口读出数据,比如串口一(com1)
			SM_PARAM* pMsg     存放消息的结构体指针
调用例子-- 
*******************************************************************************************/
int  WINAPI RecvSmsStruct(int nHcom,SM_PARAM* pMsg);


/******************************************************************************************
功能说明--发送单条短消息
函数返回---1失败,0为成功
输入参数-- 
			int nHcom					串口句柄,从哪个串口发送数据,比如串口一(com1)
			const char*pchSCA           短信中心号码
			const char* pchSms          要发送短消息
			const char*pchMobile        对方的手机号码
调用例子-- 
*******************************************************************************************/
int  SendSmsOne(int nHcom,const char*pchSCA,const char*pchMobile, const char* pchSms);


/******************************************************************************************
功能说明--删除所有的消息(// All READ, SENT and UNSENT messages are deleted)
函数返回--如果大于等于0则成功,否则失败
输入参数-- 
			int nHcom           串口句柄,表示删除那个串口的数据
调用例子-- 
*******************************************************************************************/
int   DeleteReadAndSend(int nHcom);

	int OnInitSms();
	CSmsOperater();
	virtual ~CSmsOperater();
private:
	OPENCOM OpenComOrg;
	CLOSECOM CloseComOrg;
	SETINIT SetInitOrg;
	GETSERIALNO  GetSerialNoOrg;
	GETSMSCENTERNUM GetCenterNumOrg;
	RECVSMSBUF RecvSmsBufOrg;
	RECVSMSSTRUCT RecvSmsStructOrg;
	SENDSMSONE SendSmsOneOrg;
	DELREADANDSEND DelReadAndSendOrg;
	DELAPPOINTED DeleteAppointedOrg;
};

#endif // !defined(AFX_SMSOPERATER_H__ECF4C822_ED04_4C10_AECD_31142A9D6385__INCLUDED_)

⌨️ 快捷键说明

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