📄 datapoolpro.h
字号:
#include <winsock2.h>
#if !defined(AFX_DATAPOOLPRO_H__1116DC1D_7F73_48C4_80B9_39A25B702E37__INCLUDED_)
#define AFX_DATAPOOLPRO_H__1116DC1D_7F73_48C4_80B9_39A25B702E37__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DataPoolPro.h : header file
//
#include "IComPro.h"
#include "datatype.h"
#include "Reg.h"
#pragma comment( lib, "ws2_32.lib" )
#define SOCKET_VER_MAJOR 2
#define SOCKET_VER_MINOR 0
/////////////////////////////////////////////////////////////////////////////
// DataPoolPro command target
class DataPoolPro : public CCmdTarget
{
DECLARE_DYNCREATE(DataPoolPro)
DataPoolPro(); // protected constructor used by dynamic creation
// Attributes
public:
DWORD LIPAddr;
DWORD RIPAddr;
WORD LIPPort;
WORD RIPPort;
SOCKET sClient;
WSAEVENT Event;
int m_nTimeOut;
int m_nLastErrorCode;
// Operations
public:
bool SocketError();
bool SocketInit();
bool SocketEnds();
bool SocketStart();
bool SocketStop();
int SocketSend(SOCKET, void *, int, DWORD , WORD );
int SocketRecv(SOCKET, void *, int, DWORD *, WORD *);
bool ParseIPAddr(char *sIP, DWORD *dwIP);
WORD MyConvert( LPVOID lpDbItem, LPVOID lpVar,LPVOID lRegInfos ,int reg_type_num);
BOOL PhysicalReceive( char *pReceive, int * nLen);
BOOL PhysicalSend(char * buf, int *nLen);
BOOL RequestPacket(PPACKET pPac);
BOOL UpdatePacket(PPACKET pPac);
public:
// Overrides
// ClassWizard generated virtual function overrides
virtual void OnFinalRelease();
//{{AFX_VIRTUAL(DataPoolPro)
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~DataPoolPro();
// Generated message map functions
//{{AFX_MSG(DataPoolPro)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
DECLARE_OLECREATE(DataPoolPro)
// Generated OLE dispatch map functions
//{{AFX_DISPATCH(DataPoolPro)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
BEGIN_INTERFACE_PART(ProtocolImp,IProtocolImp)
STDMETHOD_(BOOL, GetRegisters)(char *szDeviceName,LPVOID *ppRegs, int *pRegNum);
STDMETHOD_(BOOL, TryConnect)(char* devName,int nAddr,LPVOID lpDevAddr);
STDMETHOD_(WORD, ConvertUserConfigToVar)(LPVOID lpDbItem, LPVOID lpVar);
STDMETHOD_(int, LoadDeviceInfo)(const char *sProd, const char *sDevName, int nType);
STDMETHOD_(BOOL, OpenComDevice)(int nDevType,LPVOID lpInitData);
STDMETHOD_(BOOL, CloseComDevice)();
STDMETHOD_(BOOL, InitialDevice)(char* DevName,int nUnitAddr, LPVOID lpInitData);
STDMETHOD_(BOOL, AddVarToPacket)(LPVOID lpVar, int nVarAccessType, LPVOID lpPacket);
STDMETHOD_(int, ProcessPacket)(LPVOID lpPacket);
STDMETHOD_(BOOL, StrToDevAddr)(const char* str,LPVOID lpDevAddr);
STDMETHOD_(char*,GetLastError)(void);
END_INTERFACE_PART(ProtocolImp)
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DATAPOOLPRO_H__1116DC1D_7F73_48C4_80B9_39A25B702E37__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -