📄 modeocom.h
字号:
// ModeoCom.h: interface for the ModeoCom class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MODEOCOM_H__0CEC782F_6E6F_11DA_9930_00E04CF968BC__INCLUDED_)
#define AFX_MODEOCOM_H__0CEC782F_6E6F_11DA_9930_00E04CF968BC__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define COM_ERROR 0
#define RX_DATA 1
#define TX_DATA 2
#define RING_COM 51002
class ModeoCom
{
HANDLE hCom;//通信口
HANDLE RThread;//接收处理线程
OVERLAPPED m_OverlappedWrite;//发送异步结构
OVERLAPPED m_OverlappedRead;//接收异步结构
OVERLAPPED m_OverlappedWaite;//事件异步结构
DWORD m_Tall_time;//拨号时间
DWORD m_Code;
DWORD m_Blck_time;//送包时间
DWORD m_End_Code;
DWORD m_End_CodeEx;
DWORD m_Ring_time;
//简单传送包协议数据结构
WORD m_Input;
HANDLE R_Waite_Event;//用于上层查询低层数据到达
HANDLE R_Message_Event;//等待上层把收到的数据读走
HANDLE Read_Event;//等待数据到达
int str_ln[32];
WORD m_out;
HANDLE S_Event;
char VCID_time[16];
char VCID_data[16];
char VCID_ph[32];
HANDLE hMutex;
HANDLE wMutex;
CFile m_fp;
DWORD OPEN;
DWORD m_Link;//当前在线吗?
BOOL m_BEAK_ph;
DWORD R_time;
BOOL m_FILE_OPEN;//文件是否打开了
CFile m_FILE_fp; //文件数
public:
void GetPh(DWORD ID);
int SendExMessage(void *lpData,WORD ln);
void SendMouse(DWORD key, CPoint point);
void SendKey(BYTE TR, UINT nChar, UINT nRepCnt, UINT nFlags);
char* GetTallName(void);
BOOL GetVCIDph(void);
DWORD GetTai(void);
void UnLock(void);
void Link(void);
void DownPh(void);
void AddTall(char *ip);
void ClsLastTimeData(void);
long GetLength(void);
BOOL SendCommand(char *comx);
BOOL TallPh(char *tall);
BOOL TestLink(void);
long Send(void *lpData,WORD ln);
long Read(void *lpData,WORD ln);
BOOL TestDataRx(DWORD wait=0xFFFFFFFF);
//初始化
BOOL OpenCom(char *con_name,DWORD speek);//打开通信口,并拨号
long TxData(void *lpData,DWORD ln);//发送数据
long RxData(void *lpData,DWORD ln);//读出数据
void Run(void);//接收线程处理接口
DWORD GetCRC32(BYTE *databuf,DWORD len);
ModeoCom();
virtual ~ModeoCom();
void Close();
char Err_code[128];//当前错误描述
DWORD m_Rx;//当前接收字节数
DWORD m_Tx;//当前发送总字节数
DWORD m_RxSeek;//接收速度
DWORD m_TxSeek;//发送速度
DWORD sou_speek_ln;
char command_str[128];
char command_ok[128];
BOOL m_NEW;
HWND m_hWnd;
BOOL m_LINK_OK;
DWORD DATA_MAC;
BYTE *R_buf;//接收缓冲区
protected:
BOOL RxFile(int k, BYTE *m_sou);
BOOL WaiteEx(DWORD tx);
void SaveData(char *ip);
void Lock(void);
void ReadEx(void);
void PhAutoMac(void);
BOOL FindThDataMac(void);
void Cls(void);
void WaiteRead(void);
BOOL Waite(DWORD tx);
void Full(int lx);
void ReadPro(void);
DWORD FenTallChar(BOOL TX=TRUE);
DWORD ReadRun(DWORD waitetime);
DWORD GetRvcLength(void);
char command[64];
int command_ln;
BOOL AUTO_MAC; //是否自动应答
int RING_TIME; //多少铃声应答
int RING_COUNT;//铃声计数
int num;//有多少个电话
char MAC_th[32][32];
BYTE S_buf_ex[32];//应答发送缓冲区
BYTE *S_buf;//发送缓冲区
BYTE *m_buf;//接收备份缓冲区
long R_ln; //接收长度
long m_ln;
};
#endif // !defined(AFX_MODEOCOM_H__0CEC782F_6E6F_11DA_9930_00E04CF968BC__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -