332 lines
8.7 KiB
C
332 lines
8.7 KiB
C
![]() |
#pragma once
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
#ifdef UNICODE
|
|||
|
#define BUFFER_SIZE 500000
|
|||
|
#define MAXTHREAD_COUNT 8
|
|||
|
#define MAX_LOGINUSER 50 //<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ͬʱ<CDAC><CAB1><EFBFBD>ߵ<EFBFBD><DFB5>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
#else
|
|||
|
#define BUFFER_SIZE 300000
|
|||
|
#define MAXTHREAD_COUNT 16
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define MAX_LOGINUSER 30 //<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ͬʱ<CDAC><CAB1><EFBFBD>ߵ<EFBFBD><DFB5>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
#else
|
|||
|
#define MAX_LOGINUSER 2000 //<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ͬʱ<CDAC><CAB1><EFBFBD>ߵ<EFBFBD><DFB5>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
#endif
|
|||
|
#endif
|
|||
|
|
|||
|
#define MIN_SQLCONNECT 15 //<2F><>Сͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>SQL<51><4C><EFBFBD>ݿ<EFBFBD>
|
|||
|
#define MAX_SQLCONNECT 150 //<2F><><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>SQL<51><4C><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
|||
|
#define SQL_TIMEOUT_USE 30*60*1000 //ʹ<><CAB9>״̬<D7B4>е<EFBFBD>SQL,30<33><30><EFBFBD>ӳ<EFBFBD>ʱ
|
|||
|
#define SQL_TIMEOUT_DISUSE 15*60*1000 //<2F><>ʹ<EFBFBD><CAB9><EFBFBD>е<EFBFBD>SQL,15<31><35><EFBFBD>ӳ<EFBFBD>ʱ
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
//
|
|||
|
//<2F><><EFBFBD>ɶ˿<C9B6><CBBF><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5>¼<EFBFBD>
|
|||
|
//
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
IOCP_COMPLETE_NULL,
|
|||
|
IOCP_COMPLETE_READ,
|
|||
|
IOCP_COMPLETE_ACCEPT_READ,
|
|||
|
IOCP_COMPLETE_WRITE,
|
|||
|
IOCP_COMPLETE_ACCEPT
|
|||
|
}IOCP_COMPLETE_STATE;
|
|||
|
|
|||
|
//
|
|||
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><D7BD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
IOCP_NULL, //AcceptEx/accept
|
|||
|
IOCP_ACCEPT, //AcceptEx/accept
|
|||
|
IOCP_READ, //WSARecv/recv/ReadFile
|
|||
|
IOCP_WRITE, //WSASend/send/WriteFile
|
|||
|
IOCP_END,
|
|||
|
IOCP_WRITE2, //WSASend/send/WriteFile
|
|||
|
}IOCP_OPERATION, *IOCP_OPERATION_PTR;
|
|||
|
|
|||
|
//
|
|||
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
//
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
SOCKET socket;
|
|||
|
long lRandID;
|
|||
|
}IOCP_KEY,*IOCP_KEY_PTR;
|
|||
|
|
|||
|
//
|
|||
|
//<2F><>־SOCKET<45>ĵ<EFBFBD>ǰ״̬
|
|||
|
//
|
|||
|
enum
|
|||
|
{
|
|||
|
SOCKET_STATE_NOT_CONNECT,
|
|||
|
SOCKET_STATE_CONNECT,
|
|||
|
SOCKET_STATE_CONNECT_AND_READ,
|
|||
|
SOCKET_STATE_TIMEOUT
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD>ڽ<EFBFBD><DABD>յ<EFBFBD>IO
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
WSAOVERLAPPED ol;
|
|||
|
SOCKET socket;
|
|||
|
IOCP_OPERATION operation;
|
|||
|
volatile int state;
|
|||
|
long lRandID; //<2F>ж<EFBFBD>״̬<D7B4><CCAC>
|
|||
|
WSABUF wsaBuf; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>head<61><64><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>
|
|||
|
}IOCP_IO_SEND,*IOCP_IO_SEND_PTR;
|
|||
|
|
|||
|
//
|
|||
|
//<2F><>IO<49><4F><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>չ<EFBFBD><D5B9>WSAOVERLAPPED
|
|||
|
//
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
WSAOVERLAPPED ol;
|
|||
|
SOCKET socket;
|
|||
|
IOCP_OPERATION operation;
|
|||
|
volatile int state;
|
|||
|
long lRandID; //<2F>ж<EFBFBD>״̬<D7B4><CCAC>
|
|||
|
WSABUF wsaBuf;
|
|||
|
long lRecvLen;
|
|||
|
|
|||
|
|
|||
|
//ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ProcessSocket<65><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCHAR m_szIP[32]; //<2F>Է<EFBFBD><D4B7><EFBFBD>ip
|
|||
|
UINT m_lPort; //<2F>Է<EFBFBD><D4B7>Ķ˿<C4B6>
|
|||
|
UINT m_lLocalPort; //<2F><><EFBFBD>ض˿<D8B6>
|
|||
|
SYSTEMTIME m_LoginTime; //<2F><>¼ʱ<C2BC><CAB1>
|
|||
|
TCHAR m_szCorpName[96]; //<2F><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>
|
|||
|
TCHAR m_szLoginName[32]; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|||
|
long m_lLoginCount; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|||
|
UCHAR m_ucUserType; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long m_lCorpID; //<2F><>ҵID
|
|||
|
long m_lUserID; //<2F>û<EFBFBD>ID
|
|||
|
long m_lAgentID; //<2F><><EFBFBD><EFBFBD>ҵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ID
|
|||
|
long m_lYWYAgent;
|
|||
|
long m_lAgentType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ULONG m_ulPurviewType; //Ȩ<><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ULONG m_ulPurview; //Ȩ<><C8A8>
|
|||
|
long m_lVer;
|
|||
|
long m_lAccessGroup; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ¼<D1B6><C2BC>
|
|||
|
|
|||
|
BOOL m_bCheckup;
|
|||
|
|
|||
|
BOOL m_bCompress; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD>ѹ<EFBFBD><D1B9>
|
|||
|
DWORD m_dwSendCount; //<2F><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
DWORD m_dwLastSend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
|
|||
|
long m_lFStep; //<2F><><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>
|
|||
|
ULONG m_lID;
|
|||
|
BOOL m_bCmpp; //<2F>Ƿ<EFBFBD>CmppЭ<70><D0AD>
|
|||
|
long m_lSDK; //SDK<44><4B><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
DWORD dwAcceptTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
DWORD dwEndRecvFrame; //<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>֡<EFBFBD><D6A1>ʱ<EFBFBD><CAB1>
|
|||
|
IOCP_KEY_PTR pKey; //<2F><>Ӧ<EFBFBD><D3A6>key<65><79><EFBFBD><EFBFBD>
|
|||
|
// IOCP_IO_SEND IOS;
|
|||
|
|
|||
|
char buf[BUFFER_SIZE];
|
|||
|
}IOCP_IO,*IOCP_IO_PTR;
|
|||
|
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
BOOL bUse;
|
|||
|
long lRandID;
|
|||
|
CAdoConnection adoConnection;
|
|||
|
DWORD dwBeginUse;
|
|||
|
DWORD dwEndUse;
|
|||
|
long lFuncID;
|
|||
|
long lUserID;
|
|||
|
}IOCP_SQL,*IOCP_SQL_PTR;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//CMPP Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define CMPP_CONNECT 0x00000001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_CONNECT_RESP 0x80000001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_TERMINATE 0x00000002 //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_TERMINATE_RESP 0x80000002 //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_SUBMIT 0x00000004 //<2F>ύ<EFBFBD><E1BDBB><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_SUBMIT_RESP 0x80000004 //<2F>ύ<EFBFBD><E1BDBB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_DELIVER 0x00000005 //<2F><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
|
|||
|
#define CMPP_DELIVER_RESP 0x80000005 //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_QUERY 0x00000006 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>״̬<D7B4><CCAC>ѯ
|
|||
|
#define CMPP_QUERY_RESP 0x80000006 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>״̬<D7B4><CCAC>ѯӦ<D1AF><D3A6>
|
|||
|
#define CMPP_CANCEL 0x00000007 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_CANCEL_RESP 0x80000007 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_ACTIVE_TEST 0x00000008 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_ACTIVE_TEST_RESP 0x80000008 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_FWD 0x00000009 //<2F><>Ϣǰת
|
|||
|
#define CMPP_FWD_RESP 0x80000009 //<2F><>ϢǰתӦ<D7AA><D3A6>
|
|||
|
#define CMPP_MT_ROUTE 0x00000010 //MT·<54><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_MT_ROUTE_RESP 0x80000010 //MT·<54><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_MO_ROUTE 0x00000011 //MO·<4F><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_MO_ROUTE_RESP 0x80000011 //MO·<4F><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_GET_ROUTE 0x00000012 //<2F><>ȡ·<C8A1><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CMPP_GET_ROUTE_RESP 0x80000012 //<2F><>ȡ·<C8A1><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_MT_ROUTE_UPDATE 0x00000013 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define CMPP_MT_ROUTE_UPDATE_RESP 0x80000013 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_MO_ROUTE_UPDATE 0x00000014 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define CMPP_MO_ROUTE_UPDATE_RESP 0x80000014 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_PUSH_MT_ROUTE_UPDATE 0x00000015 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define CMPP_PUSH_MT_ROUTE_UPDATE_RESP 0x80000015 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define CMPP_PUSH_MO_ROUTE_UPDATE 0x00000016 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define CMPP_PUSH_MO_ROUTE_UPDATE_RESP 0x80000016 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
|
|||
|
#pragma pack( push )
|
|||
|
#pragma pack( 1 )
|
|||
|
|
|||
|
typedef struct _Cmpp_Head
|
|||
|
{
|
|||
|
ULONG Total_Length;
|
|||
|
ULONG Command_Id;
|
|||
|
ULONG Sequence_Id;
|
|||
|
}Cmpp_Head;
|
|||
|
|
|||
|
typedef struct _Cmpp_Connect
|
|||
|
{
|
|||
|
char Source_Addr[6];
|
|||
|
UCHAR AuthenticatorSource[16];
|
|||
|
UCHAR Version;
|
|||
|
ULONG Timestamp;
|
|||
|
}Cmpp_Connect;
|
|||
|
typedef struct _Cmpp_Connect_Resp
|
|||
|
{
|
|||
|
UCHAR Status;
|
|||
|
UCHAR AuthenticatorSource[16];
|
|||
|
UCHAR Version;
|
|||
|
}Cmpp_Connect_Resp;
|
|||
|
|
|||
|
typedef struct _Cmpp_Active_Test_Resp
|
|||
|
{
|
|||
|
UCHAR Reserved;
|
|||
|
}Cmpp_Active_Test_Resp;
|
|||
|
|
|||
|
typedef struct _Cmpp_Terminate_Resp
|
|||
|
{
|
|||
|
}Cmpp_Terminate_Resp;
|
|||
|
|
|||
|
typedef struct _Cmpp_Submit
|
|||
|
{
|
|||
|
LONGLONG Msg_ID;
|
|||
|
UCHAR Pk_total;
|
|||
|
UCHAR Pk_number;
|
|||
|
UCHAR Registered_Delivery;
|
|||
|
UCHAR Msg_level;
|
|||
|
UCHAR Service_Id[10];
|
|||
|
UCHAR Fee_UserType;
|
|||
|
UCHAR Fee_terminal_Id[21];
|
|||
|
UCHAR TP_pId;
|
|||
|
UCHAR TP_udhi;
|
|||
|
UCHAR Msg_Fmt;
|
|||
|
UCHAR Msg_src[6];
|
|||
|
UCHAR FeeType[2];
|
|||
|
UCHAR FeeCode[6];
|
|||
|
UCHAR ValId_Time[17];
|
|||
|
UCHAR At_Time[17];
|
|||
|
UCHAR Src_Id[21];
|
|||
|
UCHAR DestUsr_tl;
|
|||
|
UCHAR Dest_terminal_Id[21];
|
|||
|
UCHAR Msg_Length;
|
|||
|
}Cmpp_Submit;
|
|||
|
typedef struct _Cmpp_Submit_Resp
|
|||
|
{
|
|||
|
LONGLONG Msg_ID;
|
|||
|
UCHAR Result;
|
|||
|
}Cmpp_Submit_Resp;
|
|||
|
typedef struct _Send_List
|
|||
|
{
|
|||
|
ULONG lSendID; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>м<EFBFBD>¼<EFBFBD><C2BC>SendID
|
|||
|
ULONG lSeq; //<2F><><EFBFBD><EFBFBD>cmpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ULONG lCmppSeq; //ʹ<><CAB9>cmppת<70>ӵ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|||
|
ULONG lSendTime; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD>η<EFBFBD><CEB7><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
ULONG lReSendCount; //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ٴ<EFBFBD>
|
|||
|
UCHAR Msg[512]; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
Cmpp_Submit Submit;
|
|||
|
}Send_List;
|
|||
|
typedef struct _SmsReport
|
|||
|
{
|
|||
|
long lSmsReportID;
|
|||
|
CString strMsgID;
|
|||
|
long lReportStatus;
|
|||
|
CString strRecvStatus;
|
|||
|
long lSendFCS;
|
|||
|
CString strMobile;
|
|||
|
}SmsReport;
|
|||
|
|
|||
|
typedef struct _FXSend_MT
|
|||
|
{
|
|||
|
long SendID;
|
|||
|
long CorpID;
|
|||
|
long UserID;
|
|||
|
CString GroupID;
|
|||
|
long Status;
|
|||
|
CString MsgID;
|
|||
|
long SendRet;
|
|||
|
long SendFCS;
|
|||
|
long ReSendCount;
|
|||
|
CString Sender;
|
|||
|
CString SendNum;
|
|||
|
CString Recver;
|
|||
|
CString RecvNum;
|
|||
|
long RecvNumType;
|
|||
|
CString Msg;
|
|||
|
long MsgType;
|
|||
|
COleDateTime SubTime;
|
|||
|
COleDateTime Timer;
|
|||
|
long Priority;
|
|||
|
long StatusReport;
|
|||
|
COleDateTime OvrTime;
|
|||
|
COleDateTime SendTime;
|
|||
|
COleDateTime RecvTime;
|
|||
|
CString RecvStatus;
|
|||
|
long KF;
|
|||
|
CString IP;
|
|||
|
CString SM_ID;
|
|||
|
CString TRANS_CODE;
|
|||
|
CString ORGAN_CODE;
|
|||
|
COleDateTime tAddThisTime;
|
|||
|
}FXSend_MT;
|
|||
|
|
|||
|
//<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>״̬
|
|||
|
typedef struct _Send_Resp
|
|||
|
{
|
|||
|
ULONG lSendID; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>м<EFBFBD>¼<EFBFBD><C2BC>SendID
|
|||
|
ULONG lResult; //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
ULONG lReSendCount; //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ٴ<EFBFBD>
|
|||
|
LONGLONG lMsgID; //<2F><><EFBFBD>ͳɹ<CDB3>ʱ<EFBFBD>д˷<D0B4><CBB7><EFBFBD>
|
|||
|
}Send_Resp;
|
|||
|
|
|||
|
typedef struct _Cmpp_Deliver
|
|||
|
{
|
|||
|
LONGLONG Msg_ID;
|
|||
|
UCHAR Dest_Id[21];
|
|||
|
UCHAR Service_Id[10];
|
|||
|
UCHAR TP_pid;
|
|||
|
UCHAR TP_udhi;
|
|||
|
UCHAR Msg_Fmt;
|
|||
|
UCHAR Src_terminal_Id[21];
|
|||
|
UCHAR Registered_Delivery;
|
|||
|
UCHAR Msg_Length;
|
|||
|
}Cmpp_Deliver;
|
|||
|
typedef struct _Cmpp_Status
|
|||
|
{
|
|||
|
LONGLONG Msg_ID;
|
|||
|
UCHAR Stat[7];
|
|||
|
UCHAR Submit_time[10];
|
|||
|
UCHAR Done_time[10];
|
|||
|
UCHAR Dest_terminal_Id[21];
|
|||
|
ULONG SMSC_sequence;
|
|||
|
}Cmpp_Status;
|
|||
|
typedef struct _Cmpp_Deliver_Resp
|
|||
|
{
|
|||
|
LONGLONG Msg_ID;
|
|||
|
UCHAR Result;
|
|||
|
}Cmpp_Deliver_Resp;
|
|||
|
#pragma pack( pop )
|