fast/CCEXPipe/CCEXPipeLib.h

108 lines
2.5 KiB
C
Raw Normal View History

2025-01-20 10:30:01 +08:00
#ifndef _CCEX_PIPE_LIB_H__
#define _CCEX_PIPE_LIB_H__
#ifdef CEX_PIPE_DLL
#define CEX_PIPE_API __declspec(dllexport)
#else
#define CEX_PIPE_API __declspec(dllimport)
#ifdef _DEBUG
#pragma comment(lib, "CCEXPipeD.lib")
#else
#pragma comment(lib, "CCEXPipe.lib")
#endif
#endif
typedef void(*CEXPipeCallFunType)(void*, int lMsgId, WPARAM,LPARAM);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>Ϣ
#define CEXPIPE_NEW_CLIENT (1)
#define CEXPIPE_DIS_CLIENT (2)
#define CEXPIPE_NEW_DATA (3)
#define CEXPIPE_CONNECT_OK (4)
#define MAX_PIP_BUF (1024*1024)
//////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>ͨѶ<CDA8><D1B6><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><E5A3AC><EFBFBD>ܺ<EFBFBD>ģ<EFBFBD><C4A3>ͨѶ<CDA8><D1B6>ͬʹ<CDAC>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD>з<EFBFBD><D0B7><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>¡<EFBFBD>
//msgid<69>ֶΣ<D6B6>WCS<43><53><EFBFBD>͸<EFBFBD>WMS<4D><53><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>url<72><6C>ͬ<EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum
{
WCS_2_WMS_ABNORMAL = 1000,
WCS_2_WMS_DATA = 1001,
MAIN_2_MODULE_WMS = 2000, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>WMS<4D><53>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
MAIN_2_MODULE_SHOWWINDOW = 2001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨģ<D6AA><C4A3><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
}WCS_2_WMS_TYPE;
//////////////////////////////////////////////////////////////////////////
typedef struct PIPE_DATA_STRUCT
{
int lMsgId;
int lDataLen;
char acData[4];//<2F><><EFBFBD><EFBFBD>--<2D><>֤<EFBFBD><D6A4><EFBFBD>ֽڶ<D6BD><DAB6>룬ʵ<EBA3AC><CAB5><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>ȶ<EFBFBD>̬<EFBFBD>
}*pPIPE_DATA_STRUCT;
class CEX_PIPE_API CCEXPipeServerBase
{
public:
static CCEXPipeServerBase* CreateObj();
CCEXPipeServerBase()
{
m_pCallBackObj = NULL;
m_pCallBackFun = NULL;
};
virtual ~CCEXPipeServerBase(){};
//ע<><D7A2><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>Ϣ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
void RegisterCall(CEXPipeCallFunType pCallBack, void* pObj){m_pCallBackFun = pCallBack; m_pCallBackObj = pObj;}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5>ܵ<EFBFBD>
virtual BOOL SendeData(const char* pData, int lLen) = 0;
virtual BOOL SendeMsg(int lMsgId, const char* pData, int lLen) = 0;
virtual BOOL Start(const char* pPipeName) = 0;
virtual BOOL Stop() = 0;
virtual BOOL IsAcitve() = 0;
virtual BOOL IsConnect() = 0;
protected:
void* m_pCallBackObj;
CEXPipeCallFunType m_pCallBackFun;
};
class CEX_PIPE_API CCEXPipeClientBase
{
public:
static CCEXPipeClientBase* CreateObj();
CCEXPipeClientBase()
{
m_pCallBackObj = NULL;
m_pCallBackFun = NULL;
};
virtual ~CCEXPipeClientBase(){};
//ע<><D7A2><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>Ϣ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
void RegisterCall(CEXPipeCallFunType pCallBack, void* pObj){m_pCallBackFun = pCallBack; m_pCallBackObj = pObj;}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5>ܵ<EFBFBD>
virtual BOOL SendeData(const char* pData, int lLen) = 0;
virtual BOOL SendeMsg(int lMsgId, const char* pData, int lLen) = 0;
virtual BOOL Connect(const char* pPipeName) = 0;
virtual BOOL DisConnect() = 0;
protected:
void* m_pCallBackObj;
CEXPipeCallFunType m_pCallBackFun;
};
#endif