Export.h
上传用户:xd_1999
上传日期:2007-05-02
资源大小:2286k
文件大小:43k
源码类别:

手机短信编程

开发平台:

Java

  1. /*******************************************************************************
  2. FileName : Export.h
  3. Description : 本头文件定义了SMEIDLL提供的所有输出函数的定义。
  4. Version : 2.0
  5. Date : 98/11/01
  6. Others :
  7. Function List :
  8. 01. IFInitInterface :初始化动态库
  9. 02. IFSendAndAnswer :基本的发送等待回包函数
  10. 03. IFSetOnRead :设置读回调函数,用于处理非回包数据
  11. 04. IFSetOnError :设置出错回调函数,用于通知上层
  12. 05. IFExitInterface :退出动态库函数
  13. 06. Login :登录函数,使用TRANSMITER命令
  14. 07. Logout :从短讯中心注销
  15. 08. SubmitSM :提交短讯
  16. 09. VPSubmitSM :提交短讯,简化函数
  17. 10. QuerySMStatus :查询短讯状态
  18. 11. QuerySMDetail :查询短讯详细属性,可查询短讯内容
  19. 12. QuerySMS :查询满足条件的短讯
  20. 13. CancelSM :取消短讯
  21. 14. ReplaceSM :替换短讯
  22. 15. AddSubscriber :添加用户
  23. 16. DeleteSubscriber :删除用户
  24. 17. ModifySubscriber :修改用户属性
  25. 18. EnquireSubscriber :查询用户属性
  26. 19. HasDeliverMessage :查询是否有下发短讯
  27. 20. GetDeliverSM :取下发短讯
  28. 21. Login_R :登录函数,使用RECEIVER命令
  29. 22. VPModifySubPassword :修改用户密码
  30. 23. GetErrorString :查询错误代码的描述
  31. 24. SubmitA :增强的SUBMIT函数
  32. 25. VPSubmitA :增强的SUBMIT函数的VP版
  33. 26. GSMConvertTextToData :把ASC字符串变换成指定编码
  34. 27. GSMConvertDataToText :把编码数据变换成ASC字符串
  35. 28. QuerySub
  36. History :
  37. 1. author : 张刚
  38. time : 98/11/01
  39. release : 2.0
  40. desc : 实现基本功能
  41. 2.  author : 张刚
  42. time : 99/06/01
  43. release : 2.1
  44. desc : 优化,修改了一些错误,添加了新函数。
  45. *******************************************************************************/
  46. #if !defined(__SEMIDLL_EXPORT_H__)
  47. #define __SEMIDLL_EXPORT_H__
  48. #define IF_TIMEOUT 5000 //发送超时时间
  49. //最大的短消息文本长度为255*140=35700
  50. #define MAX_SMSIZE 35700 //最大短讯长度
  51. #define ACK_SUCCESS 0 //ACK执行正确
  52. #define SM_PRI_PRIOR 1 //优先级别
  53. #define SM_PRI_DEFAULT 0 //缺省
  54. #define SM_DCS_DEFAULT 0x00 //缺省(7位)
  55. #define SM_DCS_ASC 0x04 //英文(不被手机支持)
  56. #define SM_DCS_CHINA 0x08 //中文(会被转化成UCS2)
  57. #define SM_UDHI_DEFAULT 0 //UD是正常字符串
  58. #define SM_UDHI_STRUCTURE 1 //UD是结构
  59. #define CHINA_ERRSTR 0X40000000 //返回汉字的错误字符串
  60. #define SMSCERR_BEGIN                   10000
  61. #define INITIALTIME 3000
  62. #define SMGP_CODE           6
  63. //#define SMGP_SUCCESS         0
  64. #define SMGP_FAILTURE         1
  65. #define IS_WRITE_PAGE_INDEX   1
  66. //tcpip连接
  67. #define TCPIP_DRV       1
  68. #define MAX_SMGP_MSG_LEN           252
  69. #define PAGE_CODE_LEN                4 
  70. #define SMGP_USERID_LEN             12
  71. #define SMGP_PASSWORD_LEN           (16)
  72. #define MAX_SMGP_PAGE              100
  73. #define SMGP_IP_LEN                 16
  74. #define SMGP_PORT_LEN                5
  75. #define MAX_DESTID_COUNT            100
  76. #define SMGP_ADDRS_LEN               21
  77. #define SMGP_RECVTIME_LEN            14
  78. #define SMGP_MSGIDS_LEN              10
  79. enum CODE_TYPE
  80. {
  81. ASCII_CODE  = 0,
  82. BINARY_CODE = 4,
  83. UCS2_CODE    = 8,
  84. GB_CODE     = 15
  85. };
  86. enum SGIP_LOGINTYPE
  87. {
  88.     SPTOSMG =1,   // 用于SP 向SMG 建立连接
  89.     SMGTOSP =2    // 用于SMG 向SP建立连接
  90. };
  91. typedef struct SendBatchResp
  92. {
  93. int NerrorCode;
  94. char SmsgID[25 + 1];
  95. char DestTermID[SMGP_ADDRS_LEN + 1];
  96. }tagSendBatchResp;
  97. typedef struct DeliverResp
  98. {
  99. char             MsgID[25+1];
  100. unsigned char    uIsReport;
  101.     unsigned char    uMsgFormat;
  102. char             RecvTime[SMGP_RECVTIME_LEN+1];
  103. char             SrcTermID[SMGP_ADDRS_LEN +1];
  104. char             DestTermID[SMGP_ADDRS_LEN +1];
  105. unsigned char    uMsgLength;
  106. char             MsgContent[201];
  107. }tagDeliverResp;
  108. enum DLL_RETURN
  109. {
  110. E_SUCCESS = 0, //成功
  111. //IFSendAndAnswer函数的返回值
  112. E_NOT_INITIALIZED, //INTERFACE没有初始化
  113. E_ACK_COMMAND_ERROR, //回包命令字错误
  114. E_NEWMEMORY_ERROR, //分配内存错误
  115. E_OTHER_ERROR, //其他错误
  116. E_SA_BUFF_TOOBIG, //SEND缓冲区太大
  117. E_SA_POCKET_UNINTEGRATE, //SEND包不完整
  118. E_SA_PROTOCOL_ERROR, //协议错
  119. E_SA_PROTOCOL_NO_SUPPORT, //协议不支持该格式
  120. E_SA_CODE_OTHER_ERROR, //编码其他错误
  121. E_SA_TIMEOUT, //传送超时
  122. E_SA_NO_ENOUGH_BUFFER, //接收缓冲区不够大
  123. E_SA_WAITFAILED, //等待失败
  124. E_SA_SEND_FAILED, //发送失败
  125. //SUBMIT函数的返回值
  126. E_SUBMIT_ORGADDR_ERROR, //源地址错误
  127. E_SUBMIT_DESTADDR_ERROR, //目的地址错误
  128. E_SUBMIT_SCHEDULE_ERROR, //参数定时时间错误
  129. E_SUBMIT_EXPIRE_ERROR, //参数超时时间错误
  130. E_SUBMIT_DCS_ERROR, //参数DCS错误
  131. E_SUBMIT_DCS_CONVERT_ERROR, //数据变换错误
  132. E_SUBMIT_UDHI_ERROR, //参数UDHI错误
  133. E_SUBMIT_UD_ERROR, //用户数据错误
  134. E_SUBMIT_OVER_MO, //超过最大提交数
  135. E_SUBMIT_OVER_MT, //超过最大下发数
  136. E_SUBMIT_INVALID_USER, //无效用户,或者用户无权
  137. E_SUBMIT_INVALID_DATA_FORMAT, //无效数据格式
  138. E_SUBMIT_ADDR_ERROR, //地址错误
  139. E_SUBMIT_CREATE_MESSAGE_ERROR, //生成短讯错误
  140. //QuerySMStatus函数返回值
  141. E_QUERYSMSTATUS_SM_NOT_EXIST, //短讯不存在
  142. E_QUERYSMSTATUS_SM_OTHER_ERR, //查询其他错误
  143. E_QUERYSMSTATUS_ADDR_ERROR, //地址错误
  144. //QuerySMDetail函数返回值
  145. E_QUERYSMDETAIL_SM_DETAILS_ZERO, //查询不到此
  146. E_QUERYSMDETAIL_SM_DETAILS_FAIL, //查询失败
  147. E_QUERYSMDETAIL_CONVERT_ERROR, //用户数据编码出错
  148. E_QUERYSMDETAIL_LEN_ERROR, //LEN参数出错
  149. E_QUERYSMDETAIL_SM_ADDR_ERROR, //地址错误
  150. //CancelSM函数返回值
  151. E_CANCELSM_ACK_STATUS_ERROR, //回包的STATUS指示出错
  152. //ReplaceSM函数返回值
  153. E_REPLACESM_ORGADDR_ERROR, //源地址错误
  154. E_REPLACESM_SCHEDULE_ERROR, //定时数据错误
  155. E_REPLACESM_EXPIRE_ERROR, //超时数据错误
  156. E_REPLACESM_DCS_ERROR, //DCS错误
  157. E_REPLACESM_DCS_CONVERT_ERROR, //用户数据编码出错
  158. E_REPLACESM_UD_ERROR, //用户数据错误
  159. E_REPLACESM_SM_WORKING, //短讯正在下发
  160. E_REPLACESM_SM_ADDR_ERROR, //短讯地址错误
  161. E_REPLACESM_SM_INVALID_SOURCE_ADDR, //无效的源地址
  162. E_REPLACESM_SM_NO_SUCH_SM, //没有指定的短讯
  163. E_REPLACESM_SM_INVALID_DATA_TYPE, //无效数据类型
  164. E_REPLACESM_SM_FAIL, //替换失败
  165. E_QUERYSMS_DIR_ERROR, //参数DIR错
  166. E_QUERYSMS_ADDR_ERROR, //参数用户地址错误
  167. E_QUERYSMS_DATETIME_ERROR, //参数开始时间错误
  168. E_QUERYSMS_FINATIME_ERROR, //参数结束时间错误
  169. E_QUERYSMS_NUMBER_ERROR, //参数查询条数错误
  170. E_QUERYSMS_ACK_STATUS_ERROR, //回包的STATUS指示出错
  171. E_ADDSUB_SUBID_ERROR, //参数用户号码错误
  172. E_ADDSUB_SUBNAME_ERROR, //参数用户姓名错误
  173. E_ADDSUB_SUBADDRESS_ERROR, //参数用户地址错误
  174. E_ADDSUB_PASSWORD_ERROR, //参数用户密码错误
  175. E_ADDSUB_USER_ALREADY_EXIST, //用户已经存在
  176. E_ADDSUB_ADD_USER_FAIL, //添加用户失败
  177. E_DELETESUB_SUBID_ERROR, //参数用户号码错误
  178. E_DELETESUB_USER_NOT_EXIST, //用户不存在
  179. E_DELETESUB_USER_DEL_FAIL, //删除用户失败
  180. E_MODIFYSUB_SUBID_ERROR, //参数用户号码错误
  181. E_MODIFUSUB_SUBNAME_ERROR, //参数用户姓名错误
  182. E_MODIFYSUB_SUBADDRESS_ERROR, //参数用户地址错误
  183. E_MODIFYSUB_PASSWORD_ERROR, //参数用户密码错误
  184. E_MODIFYSUB_FAIL, //修改用户失败
  185. E_MODIFYSUB_SUB_NOT_EXIST, //用户不存在
  186. E_ENQUIRESUB_SUBID_ERROR, //参数用户号码错误
  187. E_ENQUIRESUB_USER_NOT_EXIST, //用户不存在
  188. E_ENQUIRELINK_ERROR, //握手失败
  189. E_DLVSM_GETDATA_FAILED, //GETDATA失败
  190. E_DLVSM_DCS_ERROR, //解码出错
  191. E_NO_RIGHT, //没有权限
  192.     E_REPLACE_UDHI_ERROR,                               //REPLACE UDHI invalid
  193.     E_QUERYSMDETAIL_INVLDLEN,                           // QUERYSMDETAIL LEN INVALID
  194. //begin 2002-12-05  cfk add for CMPP_DeliverSM 
  195. E_DELIVER_UD_ERROR=80,
  196. E_DELIVER_DCS_CONVERT_ERROR,
  197. E_DELIVER_UDHI_ERROR,
  198. E_DELIVER_ORGADDR_ERROR,
  199. E_DELIVER_DESTADDR_ERROR,
  200.    
  201.     E_NOT_RECEIVESERVER= 90,
  202. // end 2002-12-05 cfk add 
  203.     E_PPSCHECKTIMEOUT = 200, //PPS用户鉴权超时
  204.     E_PPSUSERCHECKERR,  //PPS用户鉴权失败
  205.     E_PPSUSERCHECKSENDERR, //PPS用户鉴权发送失败
  206.     E_PPSRESULTNOTIFYTIMEOUT, //通知超时
  207.     E_PPSRESULTNOTIFYACKERR,   //通知客户端返回错误
  208.     E_PPSRESULTNOTIFYTMPERR,   //通知临时错误
  209.     E_PPSRESULTNOTIFYSERIOUSERR, //通知严重错误
  210. };
  211. /*
  212. enum ROUTE_RETURN
  213. {
  214. E_SUCCESS = 0,
  215. //interfacemanager error code
  216. E_ACCESSERR, //接入码错误
  217. E_CALLERERR, //主叫错误 *
  218. E_ACCOUNTERR, //帐号指针不符 *
  219. E_SMTYPEERR, //SmType错误 *
  220. E_NEWACCOUNTFAIL, //生成帐号对象失败 *
  221. E_ACCOUNTNAMEERR, //帐号名错,查无此帐号 *
  222. E_CODETYPEERR, //编码类型错
  223. E_CREATEIFFAIL, //生成IF对象失败
  224. E_BEYONDMAXIFNUM, //超过INTERFACEMANAGER的最大IF数
  225. E_INVALIDIFID, //无效的IF的ID
  226. E_ACCOUNTPASSWORDERR, //帐号的密码错误
  227. E_NORIGHT, //没有权限
  228. E_PIDERR, //PID错误
  229. E_INVALIDROUTETABLE, //无效的ROUTETABLE *
  230. E_CANNOTFINDIF, //通过HDRV不能找到IF *
  231. E_PARAMERR, //参数错
  232. E_STATUSERR, //状态错误
  233. E_NEWIFERR, //生成IF错误
  234. E_NEWDRVERR, //生成DRV错误
  235. //routetable
  236. E_INVALIDACCOUNT, //无效的ACCOUNT *
  237. //account error code
  238. //E_BEYONDACCOUNTMAXIFNUM,
  239. E_INVALIDIF,
  240. //E_ROUTEERR,
  241. E_NOSUBMITRIGHT,
  242. E_NODELIVERRIGHT,
  243. E_CHECKTYPEERR, //鉴权类型错误
  244. E_NUMREPEAT, //号段重复
  245. E_NOTHISNUM, //没有指定的号段
  246.     E_PPSCHECKTIMEOUT = 200, //PPS用户鉴权超时
  247.     E_PPSUSERCHECKERR,  //PPS用户鉴权失败
  248.     E_PPSUSERCHECKSENDERR, //PPS用户鉴权发送失败
  249.     E_PPSRESULTNOTIFYTIMEOUT, //通知超时
  250.     E_PPSRESULTNOTIFYACKERR,   //通知客户端返回错误
  251.     E_PPSRESULTNOTIFYTMPERR,   //通知临时错误
  252.     E_PPSRESULTNOTIFYSERIOUSERR, //通知严重错误
  253. };
  254. */
  255. BOOL WINAPI IFInitInterface(
  256. DWORD dwCodeProtocol, //编码协议
  257. DWORD dwDriverProtocol, //通讯协议
  258. LPCTSTR pDriverParam //通讯参数
  259. );
  260. int WINAPI IFSendAndAnswer(
  261.    LPVOID pSndBuf, //发送缓冲区
  262.    int SndSize, //发送缓冲区大小
  263.    LPVOID pRevBuf, //接收缓冲区
  264.    int* RevSize, //接收缓冲区大小
  265.    DWORD timeout //超时时间
  266.    );
  267. typedef int (*LP_READ_BACK)(LPVOID pbuff,int size,HANDLE hUser);
  268. typedef int (*LP_ERROR_BACK)(int Error,HANDLE hUser);
  269. BOOL WINAPI IFSetOnRead(
  270. LP_READ_BACK pReadFun, //回调函数指针
  271. HANDLE hReadUser //回调句柄
  272. );
  273. BOOL WINAPI IFSetOnError(
  274.  LP_ERROR_BACK pErrorFun, //回调函数指针
  275.  HANDLE hErrorUser //回调句柄
  276.  );
  277. BOOL WINAPI IFExitInterface();
  278. BOOL WINAPI LoginA(
  279.    unsigned long ulBindType, //BIND类型, 0表示BIND_TRANSMITER, 1表示BIND_RECIEVER
  280.    LPCTSTR SystemID, //用户标识 char [MAX_SMEI_SYSTEMID]
  281.    LPCTSTR Password, //密码 char[MAX_SMEI_PASSWORD]
  282.    LPCTSTR system_type, //系统类型 char[13]
  283.    unsigned long ulInterface_version, //接口类型
  284.    unsigned char ucAddr_TON, //号码类型
  285.    unsigned char ucAddr_NPI, //编码方案
  286.    LPCTSTR Address_range //地址类型
  287.    );
  288. BOOL WINAPI Login(
  289.   LPCTSTR SystemID, //用户标识 char [MAX_SMEI_SYSTEMID]
  290.   LPCTSTR Password //密码 char[MAX_SMEI_PASSWORD]
  291.   );
  292. BOOL WINAPI Login_R(LPCTSTR SystemID, //用户标识 char [MAX_SMEI_SYSTEMID]
  293. LPCTSTR Password //密码 char[MAX_SMEI_PASSWORD]
  294. );
  295. BOOL WINAPI Logout();
  296. int WINAPI SubmitSM(
  297.   unsigned char OrgTON, //源地址号码类型
  298.   unsigned char OrgNPI, //源地址编码方案
  299.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  300.   unsigned char DestTON, //目标地址号码类型
  301.   unsigned char DestNPI, //目标地址编码方案
  302.   LPCTSTR DestAddr, //目标地址 char[MAX_ADDR_LEN]
  303.   unsigned char PRI, //SM优先级
  304.   unsigned char DCS, //数据编码方案
  305.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  306.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  307.   unsigned long Default_ID, //缺省短消息
  308.   unsigned char UDHI, //1表示UD为一个结构,0表示缺省
  309.   unsigned long UDLen, //表示UD的长度
  310.   LPCTSTR UserData, //用户信息,短消息正文
  311.   unsigned long* SM_ID, //返回:短消息ID
  312.   unsigned char* FCS //返回:失败原因
  313.   );
  314. int WINAPI VPSubmitSM(
  315.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  316.   LPCTSTR DestAddr, //目标地址 char[MAX_ADDR_LEN]
  317.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  318.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  319.   unsigned long Default_ID, //缺省短消息
  320.   LPCTSTR UserData, //用户信息,短消息正文
  321.   unsigned long* SM_ID //返回:短消息ID
  322.   );
  323. int WINAPI QuerySMStatus(
  324.    unsigned long SM_ID, //短消息ID
  325.    unsigned char* OrgTON, //返回:源地址号码类型
  326.    unsigned char* OrgNPI, //返回:源地址编码方案
  327.    LPTSTR OrgAddr, //返回:源地址 char[MAX_ADDR_LEN]
  328.    unsigned char* DestTON, //返回:目标地址号码类型
  329.    unsigned char* DestNPI, //返回:目标地址编码方案
  330.    LPTSTR DestAddr, //返回:目标地址 char[MAX_ADDR_LEN]
  331.    LPTSTR Final_Date, //返回:最后时间 char[MAX_TIMESTAMP_LEN]
  332.    unsigned char* SM_Status, //返回:短消息状态
  333. //0 : WAITING_FOR_DELIVER 表示等待发送
  334. //1 : DELIVER_SUCCESS 表示成功发送
  335. //2 : DELIVER_FAIL 表示发送失败
  336.    unsigned char* Error_Code //返回:错误代码
  337.    );
  338. int WINAPI QuerySMDetail(
  339.    unsigned long SM_ID, //短消息ID
  340.    unsigned char *OrgTON, //返回:源地址号码类型
  341.    unsigned char *OrgNPI, //返回:源地址编码方案
  342.    LPTSTR OrgAddr, //返回:源地址 char[MAX_ADDR_LEN]
  343.    unsigned char* DestTON, //返回:目标地址号码类型
  344.    unsigned char* DestNPI, //返回:目标地址编码方案
  345.    LPTSTR DestAddr, //返回:目标地址 char[MAX_ADDR_LEN]
  346.    unsigned char* PRI, //返回:SM优先级
  347.    unsigned char* DCS, //返回:数据编码方案
  348.    LPTSTR Schedule, //返回:定时 char[MAX_TIMESTAMP_LEN]
  349.    LPTSTR Expire, //返回:超时时间 char[MAX_TIMESTAMP_LEN]
  350.    LPTSTR Final, //返回:最后时间 char[MAX_TIMESTAMP_LEN]
  351.    unsigned char* SM_Status, //返回:短消息状态, 返回值定义同QuerySMStatus.
  352.    unsigned char* Error_Code, //返回:错误代码
  353.    unsigned long Len, //接收短消息长度,User_Data的大小不能小于此数
  354.    LPTSTR User_Data //返回:短消息文本
  355.    );
  356. int WINAPI CancelSM(
  357.  unsigned long SM_ID //短消息ID
  358.  );
  359. int WINAPI ReplaceSM(
  360.   unsigned long SM_ID, //短消息ID
  361.   unsigned char OrgTON, //源地址号码类型
  362.   unsigned char OrgNPI, //源地址编码方案
  363.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  364.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  365.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  366.   unsigned char DCS, //数据编码方案
  367.   unsigned long Default_ID, //缺省短消息
  368.   unsigned long UDL,
  369.   LPCTSTR UserData //用户信息,短消息正文
  370.   );
  371. int WINAPI QuerySMS(
  372. unsigned char Dir, //0:按源地址 1:按目标地址
  373. unsigned char TON,
  374. unsigned char NPI,
  375. LPCTSTR Addr,
  376. LPCTSTR DateTime, //开始时间
  377. LPCTSTR FinaTime, //结束时间
  378. unsigned char* Number, //要查询的条数
  379. unsigned char* status,
  380. unsigned long* sm_id
  381. );
  382. int WINAPI AddSubscriber(
  383.  unsigned char TON, //号码类型
  384.  unsigned char NPI, //编码方案
  385.  LPCTSTR SubID, //用户标识 char[MAX_ADDR_LEN]
  386.  LPCTSTR SubName, //用户姓名 char[MAX_ADDR_LEN]
  387.  LPCTSTR SubAddress, //用户(通讯)地址 char[MAX_SUB_ADDRESS]
  388.  unsigned char MsType, //手机类型
  389.  unsigned long Service, //服务级别(未定义)
  390.  unsigned char bSM, //是否提供短消息服务
  391.  unsigned long OCOS, //最大下发数
  392.  unsigned long TCOS, //最大提交数
  393.  unsigned short Reserve, //保留
  394.  LPCTSTR Password //密码 char [MAX_PASSWORD]
  395.  );
  396. int WINAPI DeleteSubscriber(
  397. LPCTSTR SubID //用户标识 char[MAX_ADDR_LEN]
  398. );
  399. int WINAPI ModifySubscriber(
  400.  unsigned char TON, //号码类型
  401.  unsigned char NPI, //编码方案
  402.  LPCTSTR SubID, //用户标识 char[MAX_ADDR_LEN]
  403.  LPCTSTR SubName, //用户姓名 char[MAX_ADDR_LEN]
  404.  LPCTSTR SubAddress, //用户地址 char[MAX_SUB_ADDRESS]
  405.  unsigned char MsType, //手机类型
  406.  unsigned long Service, //服务级别
  407.  unsigned char bSM, //是否提供短消息服务
  408.  unsigned long OCOS, //最大下发数
  409.  unsigned long TCOS, //最大提交数
  410.  LPCTSTR Password //密码 char [MAX_PASSWORD]
  411.  );
  412. int WINAPI EnquireSubscriber(
  413.  LPCTSTR SubID, //用户标识
  414.  unsigned char* TON, //返回:号码类型
  415.  unsigned char* NPI, //返回:编码方案
  416.  LPTSTR SubName, //返回:用户姓名 char[MAX_ADDR_LEN]
  417.  LPTSTR SubAddress, //返回:用户地址 char[MAX_SUB_ADDRESS]
  418.  unsigned long* Service, //返回:服务级别
  419.  unsigned char* bSM, //返回:是否提供短消息服务
  420.  unsigned long* OCOS, //返回:最大下发数
  421.  unsigned long* TCOS, //返回:最大提交数
  422.  LPTSTR Password //返回:密码 char [MAX_PASSWORD]
  423.  );
  424. int WINAPI EnquireLink();
  425. int WINAPI HasDeliverMessage(
  426.  DWORD dwTimeOut //超时时间,单位毫秒
  427.  );
  428. int WINAPI GetDeliverSM(
  429. ULONG* sm_ID, //返回:短讯ID
  430. unsigned char* DestTON, //返回:目标地址号码类型
  431. unsigned char* DestNPI, //返回:目标地址编码方案
  432. char* DestAddr, //返回:目标地址
  433. unsigned char* OrgTON, //返回:源地址号码类型
  434. unsigned char* OrgNPI, //返回:源地址编码方案
  435. char* OrgAddr, //返回:源地址
  436. unsigned char* PRI, //返回:优先权
  437. unsigned char* PID, //返回:协议类型
  438. unsigned char* DCS, //返回:编码方案
  439. char* TimeStamp, //返回:下发时间
  440. char* UserData //返回:用户数据
  441. );
  442. int WINAPI VPModifySubPassword(
  443.    LPCTSTR SubID, //用户标识 char[MAX_ADDR_LEN]
  444.    LPCTSTR Password //密码 char [MAX_PASSWORD]
  445.    );
  446. int WINAPI GetErrorString(
  447.   int iErrorNum, //错误代码
  448.   int iBuffSize, //缓冲区大小
  449.   char* lpszBuff //缓冲区指针
  450.   );
  451. int WINAPI GetSMStatusString(
  452.                              DWORD dwStatus,            // 状态值
  453.                              int iBuffLen,              // 缓冲区大小
  454.                              char* lpszBuff             // 缓冲区指针
  455.                              );
  456. int WINAPI SubmitA(
  457.   unsigned char OrgTON, //源地址号码类型
  458.   unsigned char OrgNPI, //源地址编码方案
  459.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  460.   unsigned char DestTON, //目标地址号码类型
  461.   unsigned char DestNPI, //目标地址编码方案
  462.   LPCTSTR DestAddr, //目标地址 char[MAX_ADDR_LEN]
  463.   unsigned char PRI, //SM优先级
  464.   unsigned char RD, //当源地址和目的地址相同时,是否替换存在的短消息。
  465.   unsigned char RP, //回应路径
  466.   unsigned char SRR, //是否需要状态报告
  467.   unsigned char MR, //消息索引
  468.   unsigned char DCS, //数据编码方案
  469.   unsigned char PID, //协议类型
  470.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  471.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  472.   unsigned long Default_ID, //缺省短消息
  473.   unsigned char UDHI, //1表示UD为一个结构,0表示缺省
  474.   unsigned long UDLen, //表示UD的长度
  475.   LPCTSTR UserData, //用户信息,短消息正文
  476.   unsigned long* SM_ID, //返回:短消息ID
  477.   unsigned char* FCS //返回:失败原因
  478.   );
  479. //by ycl 2001.7.9 新增业务子类型
  480. int WINAPI SubmitAEx(
  481.   unsigned char OrgTON, //源地址号码类型
  482.   unsigned char OrgNPI, //源地址编码方案
  483.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  484.   unsigned char DestTON, //目标地址号码类型
  485.   unsigned char DestNPI, //目标地址编码方案
  486.   LPCTSTR DestAddr, //目标地址 char[MAX_ADDR_LEN]
  487.   unsigned char PRI, //SM优先级
  488.   unsigned char RD, //当源地址和目的地址相同时,是否替换存在的短消息。
  489.   unsigned char RP, //回应路径
  490.   unsigned char SRR, //是否需要状态报告
  491.   unsigned char MR, //消息索引
  492.   unsigned char DCS, //数据编码方案
  493.   unsigned char PID, //协议类型
  494.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  495.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  496.   unsigned long Default_ID, //缺省短消息
  497.   unsigned char UDHI, //1表示UD为一个结构,0表示缺省
  498.   unsigned long UDLen, //表示UD的长度
  499.   LPCTSTR UserData, //用户信息,短消息正文
  500.   LPCTSTR sServiceType,                 //业务子类型 by ycl 2001.7.9
  501.   unsigned long* SM_ID, //返回:短消息ID
  502.   unsigned char* FCS //返回:失败原因
  503.   );
  504. //nd by ycl
  505. //by ycl 2001.9.26新增CMPP的计费字段
  506. int WINAPI SubmitAExEx(
  507.   unsigned char OrgTON, //源地址号码类型
  508.   unsigned char OrgNPI, //源地址编码方案
  509.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  510.   unsigned char DestTON, //目标地址号码类型
  511.   unsigned char DestNPI, //目标地址编码方案
  512.   LPCTSTR DestAddr,/*update*/           //目的地址,SMPP时使用
  513.   unsigned char PRI, //SM优先级
  514.   unsigned char RD, //当源地址和目的地址相同时,是否替换存在的短消息。
  515.   unsigned char RP, //回应路径
  516.   unsigned char SRR, //是否需要状态报告
  517.   unsigned char MR, //消息索引
  518.   unsigned char DCS, //数据编码方案
  519.   unsigned char PID, //协议类型
  520.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  521.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  522.   unsigned long Default_ID, //缺省短消息
  523.   unsigned char UDHI, //1表示UD为一个结构,0表示缺省
  524.   unsigned long UDLen, //表示UD的长度
  525.   LPCTSTR UserData, //用户信息,短消息正文
  526.   LPCTSTR sServiceType,                 //业务子类型 by ycl 2001.7.9
  527.   unsigned char* byMsgID,/*new*/        //MAX_MSG_ID,CMPP的字段,消息ID
  528.   unsigned char byPKTotal,/*new*/                  //相同Msg_id的消息总条数,从1开始
  529.      unsigned char byPKNumber,/*new*/                 //相同Msg_id的消息序号,从1开始
  530.   unsigned char byMsglevel,/*new*/                 //信息级别
  531.   unsigned char byFeeUserType,/*new*/              //计费用户类型字段,0:对目的终端MSISDN计费;1:对源终端MSISDN计费;2:对SP计费;3:表示本字段无效   
  532.   LPCTSTR sSPID,/*new*/                 //MAX_SPID_LEN,信息内容来源
  533.   LPCTSTR sFeeType,/*new*/              //MAX_FEE_TYPE_LEN,资费类别
  534.   LPCTSTR sFeeAddr,/*new*/              //MAX_ADDR_LEN,被计费用户地址
  535.   LPCTSTR sFeeCode,/*new*/              //MAX_FEE_CODE_LEN,资费代码
  536.   unsigned char byUserNum,/*new*/                  //接收消息的用户数量
  537.   LPCTSTR sDestAddrs,/*new*/      //目的地址,最多100个,CMPP使用
  538.   unsigned long* SM_ID, //返回:短消息ID
  539.   unsigned char* FCS //返回:失败原因
  540.   );
  541. //end by ycl
  542. int WINAPI VPSubmitA(
  543.   LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  544.   LPCTSTR DestAddr, //目标地址 char[MAX_ADDR_LEN]
  545.   unsigned char PID, //协议类型
  546.   unsigned char DCS, //编码方案
  547.   LPCTSTR Schedule, //定时 char[MAX_TIMESTAMP_LEN]
  548.   LPCTSTR Expire, //超时时间 char[MAX_TIMESTAMP_LEN]
  549.   unsigned long Default_ID, //缺省短消息
  550.   LPCTSTR UserData, //用户信息,短消息正文
  551.   unsigned long* SM_ID //返回:短消息ID
  552.   );
  553. int  WINAPI GSMConvertTextToData(
  554. LPCSTR pString, //需要变换的源字符串指针
  555. unsigned char nDCS, //指定变换的编码方案
  556. unsigned char* pData, //接收缓冲区指针
  557. unsigned long* nLen //用户数据的大小的指针,此是SUBMIT中UDL字段的长度,不是字节长度
  558. );
  559. int  WINAPI GSMConvertDataToText(
  560. unsigned char* pData, //编码后的数据
  561. unsigned long nLen, //编码数据的实际大小,此项为协议的UDL项。
  562. unsigned char nDCS, //编码数据的编码方案
  563. unsigned char nUDHI, //协议的UDHI项,是否有结构头。
  564. char* pString //解码的字符串缓冲区指针
  565. );
  566. int WINAPI QuerySubscriber(
  567.  LPCTSTR SubID, //用户标识
  568.  unsigned char* TON, //返回:号码类型
  569.  unsigned char* NPI, //返回:编码方案
  570.  LPTSTR SubName, //返回:用户姓名 char[MAX_ADDR_LEN]
  571.  LPTSTR SubAddress, //返回:用户地址 char[MAX_SUB_ADDRESS]
  572.  unsigned char* MsType, //返回:手机类型
  573.  unsigned long* Service, //返回:服务级别
  574.  unsigned char* bSM, //返回:是否提供短消息服务
  575.  unsigned long* OCOS, //返回:最大下发数
  576.  unsigned long* TCOS, //返回:最大提交数
  577.  LPTSTR Password, //返回:密码 char [MAX_PASSWORD]
  578.  LPTSTR RegTime //返回:注册时间 char[20]
  579.  );
  580. int WINAPI QuerySMStatusA(
  581. unsigned long SM_ID, //短消息ID
  582. unsigned char OrgTON, //源地址号码类型
  583. unsigned char OrgNPI, //源地址编码方案
  584. LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  585. unsigned char* DestTON, //返回:目标地址号码类型
  586. unsigned char* DestNPI, //返回:目标地址编码方案
  587. LPTSTR DestAddr, //返回:目标地址 char[MAX_ADDR_LEN]
  588. LPTSTR Final_date, //返回:最后时间 char[MAX_TIMESTAMP_LEN]
  589. unsigned char* SM_Status, //返回:短消息状态
  590. //0 : WAITING_FOR_DELIVER 表示等待发送
  591. //1 : DELIVER_SUCCESS 表示成功发送
  592. //2 : DELIVER_FAIL 表示发送失败
  593. unsigned char* Error_Code //返回:错误代码
  594. );
  595. int WINAPI CancelSMA(
  596. char cService_type, //参见GSM3.39说明
  597. unsigned long SM_ID, //短消息ID
  598. unsigned char OrgTON, //源地址号码类型
  599. unsigned char OrgNPI, //源地址编码方案
  600. LPCTSTR OrgAddr, //源地址 char[MAX_ADDR_LEN]
  601. unsigned char DestTON, //目标地址号码类型
  602. unsigned char DestNPI, //目标地址编码方案
  603. LPCTSTR DestAddr //目标地址 char[MAX_ADDR_LEN]
  604. );
  605. int WINAPI ReplaceSMEx(
  606.                        unsigned long SM_ID,
  607.                        unsigned char OrgTON,
  608.                        unsigned char OrgNPI,
  609.                        LPCTSTR OrgAddr,
  610.                        LPCTSTR Schedule,
  611.                        LPCTSTR Expire,
  612.                        unsigned char SRR,
  613.                        unsigned char DCS,
  614.                        unsigned char UDHI,
  615.                        unsigned long Default_ID,
  616.                        unsigned long UDLen,
  617.                        LPCTSTR UserData
  618.                        );
  619. int WINAPI QuerySMDetailEx(
  620.                            unsigned long SM_ID,
  621.                            unsigned char* OrgTON,
  622.                            unsigned char* OrgNPI,
  623.                            LPTSTR OrgAddr,
  624.                            unsigned char* DestTON,
  625.                            unsigned char* DestNPI,
  626.                            LPTSTR DestAddr,
  627.                            unsigned char* PRI,
  628.                            unsigned char* RD,
  629.                            unsigned char* RP,
  630.                            unsigned char* UDHI,
  631.                            unsigned char* SRR,
  632.                            unsigned char* MR,
  633.                            unsigned char* PID,
  634.                            unsigned char* DCS,
  635.                            LPTSTR Schedule,
  636.                            LPTSTR Expire,
  637.                            LPTSTR Final,
  638.                            unsigned char* SM_Status,
  639.                            unsigned char* Error_Code,
  640.                            unsigned long* Len,
  641.                            LPTSTR User_Data
  642.                            );
  643. int WINAPI GetDeliverSMEx(
  644. ULONG* sm_ID, //返回:短讯ID
  645. unsigned char* DestTON, //返回:目标地址号码类型
  646. unsigned char* DestNPI, //返回:目标地址编码方案
  647. char* DestAddr, //返回:目标地址
  648. unsigned char* OrgTON, //返回:源地址号码类型
  649. unsigned char* OrgNPI, //返回:源地址编码方案
  650. char* OrgAddr, //返回:源地址
  651. unsigned char* PRI, //返回:优先权
  652.                         unsigned char* RP,
  653.                         unsigned char* UDHI,
  654. unsigned char* PID, //返回:协议类型
  655. unsigned char* DCS, //返回:编码方案
  656. char* TimeStamp, //返回:下发时间
  657.                         unsigned long * UDLen,
  658. char* UserData //返回:用户数据
  659. );
  660. //2000.12.12 钟朝东增加状态功能
  661. int WINAPI GetDeliverSMExEx(
  662. ULONG* sm_ID, //返回:短讯ID
  663. unsigned char* DestTON, //返回:目标地址号码类型
  664. unsigned char* DestNPI, //返回:目标地址编码方案
  665. char* DestAddr, //返回:目标地址
  666. unsigned char* OrgTON, //返回:源地址号码类型
  667. unsigned char* OrgNPI, //返回:源地址编码方案
  668. char* OrgAddr, //返回:源地址
  669. unsigned char* PRI, //返回:优先权
  670.                         unsigned char* RP,
  671.                         unsigned char* UDHI,
  672. unsigned char* PID, //返回:协议类型
  673. unsigned char* DCS, //返回:编码方案
  674. char* TimeStamp, //返回:下发时间
  675.                         unsigned long * UDLen,
  676. char* UserData, //返回:用户数据
  677.                         unsigned char* StatusReport,
  678. int byDeliverAckResult=0
  679. );
  680. //add by ycl 2001.12.8
  681. int WINAPI QueryCmppStatus(LPCTSTR sBeginTime, 
  682.    LPCTSTR sServiceID,
  683.    unsigned char byQueryType, 
  684.                    unsigned long nMTTLMsg,
  685.    unsigned long m_nMTTLusr,
  686.    unsigned long m_nMTScs,
  687.    unsigned long m_nMTWT,
  688.    unsigned long m_nMTFL,
  689.    unsigned long m_nMOScs,
  690.    unsigned long m_nMOWT,
  691.    unsigned long m_nMOFL);
  692. //
  693. int WINAPI CancelCmppSM(char* byMsgID, unsigned char* byRet);
  694. //返回的消息内容以状态报告的结构出现增加结构如果为状态报告返回MsgID及stat
  695. //deliver消息不返回这两个字段
  696. int WINAPI GetDeliverSMExExEx(
  697. ULONG* sm_ID, //返回:短讯ID
  698. unsigned char* DestTON, //返回:目标地址号码类型
  699. unsigned char* DestNPI, //返回:目标地址编码方案
  700. char* DestAddr, //返回:目标地址
  701. unsigned char* OrgTON, //返回:源地址号码类型
  702. unsigned char* OrgNPI, //返回:源地址编码方案
  703. char* OrgAddr, //返回:源地址
  704. unsigned char* PRI, //返回:优先权
  705.                         unsigned char* RP,
  706.                         unsigned char* UDHI,
  707. unsigned char* PID, //返回:协议类型
  708. unsigned char* DCS, //返回:编码方案
  709. char* TimeStamp, //返回:下发时间
  710.                         unsigned long * UDLen,
  711. char* UserData, //返回:用户数据
  712.                         unsigned char* StatusReport,
  713. unsigned char* sMsgID,
  714. char* sSubmitdate,
  715. char* sDonedate,
  716. char* sStatus,
  717.                         int iDeliverAckResult = 0          //应答错误码
  718. );
  719. /* Begin: Adder: zhangzhilong   Date: 2004-5-27*/
  720. //以下两个函数实现接收Deliver消息后单独返回resp
  721. int WINAPI CMPPGetDeliverSM(
  722. ULONG* sm_ID, //返回:短讯ID
  723. unsigned char* DestTON, //返回:目标地址号码类型
  724. unsigned char* DestNPI, //返回:目标地址编码方案
  725. char* DestAddr, //返回:目标地址
  726. unsigned char* OrgTON, //返回:源地址号码类型
  727. unsigned char* OrgNPI, //返回:源地址编码方案
  728. char* OrgAddr, //返回:源地址
  729. unsigned char* PRI, //返回:优先权
  730. unsigned char* RP,
  731. unsigned char* UDHI,
  732.     unsigned char* PID, //返回:协议类型
  733. unsigned char* DCS, //返回:编码方案
  734. char* TimeStamp, //返回:下发时间
  735. unsigned long * UDLen,
  736. char* UserData, //返回:用户数据
  737. unsigned char* StatusReport,
  738. char* sSubmitdate,
  739. char* sDonedate,
  740. char* sStatus,
  741. unsigned long * sequence,
  742. unsigned char* byMsgID
  743. );
  744. void WINAPI CMPPDoDeliverACK(DWORD dwHeadSequence, 
  745. ULONG sm_ID, 
  746. int iStatus,  
  747. unsigned char* byMsgID
  748. );
  749. /* End  : Adder: zhangzhilong   Date: 2004-5-27*/
  750. int WINAPI DivideMsgOnConfig(unsigned char &iCount, //返回需要发送的次数
  751.                      unsigned char byDCS,   //编码格式
  752.          unsigned long &NMsgLength,//消息总长度
  753.          unsigned char &RealMsgLength,//消息实际长度
  754.          char *SMsgContent,    //处理后的消息内容
  755.          char *MsgContent);    //消息内容
  756. int WINAPI InitSMGPAPI(char* SiniFile);//配置文件名
  757. int WINAPI SMGPSendSingle(int NneedReply,
  758.   int NMsgLever,
  759.   char* SserviceID,
  760.   int NMsgFormat,
  761.   char* SfeeType,
  762.   char* SfeeCode,
  763.   char* Sfixedfee,
  764.   char* SvalidTime,
  765.   char* SatTime,
  766.   char* SchargeTermID,
  767.   char* SdestTermID,
  768.   char* SreplyPath,
  769.   int NMsgLen,
  770.   char* SMsgContent,
  771.   unsigned char* SmsgID,
  772.   int &NerrorCode,
  773.   unsigned char Smsgtype);
  774. int WINAPI SMGPSendBatch(int NneedReply,
  775.  int NMsgLever,
  776.  char* SserviceID,
  777.  int NMsgFormat,
  778.  char* SfeeType,
  779.  char* SfeeCode,
  780.  char* Sfixedfee,
  781.  char* SvalidTime,
  782.  char* SatTime,
  783.  char* SchargeTermID,
  784.  char* SdestTermIDFile,
  785.  char* SMsgFile,
  786.  char* SmsgIDFile,
  787.  unsigned char Smsgtype);//MsgID文件名
  788. int WINAPI GetSendBatchResp(char* SmsgIDFile,//MsgID文件名
  789. int Npos,//位置
  790. SendBatchResp* PsendBatchResp);//Msgid在文件中存放的结构
  791. int WINAPI SMGPDeliver(int Ntimeout, //超时时间
  792.    DeliverResp* PdeliverResp);//deliver消息结构
  793. int WINAPI CMMPActiveTest(int &NerrorCode);//错误码
  794. // begin 2002-07-22 lizhi add for smgp 协议的接入
  795. int WINAPI SubmitAExExEx(unsigned char OrgTON, unsigned char OrgNPI, LPCTSTR OrgAddr,
  796. unsigned char DestTON, unsigned char DestNPI, LPCTSTR DestAddr, 
  797. unsigned char PRI, unsigned char RD, unsigned char RP, 
  798. unsigned char SRR, unsigned char MR, unsigned char DCS, 
  799. unsigned char PID, LPCTSTR Schedule, LPCTSTR Expire, 
  800. unsigned long Default_ID, unsigned char UDHI, unsigned long UDLen,
  801. LPCTSTR UserData, LPCTSTR ServiceSubType, 
  802. unsigned char* byMsgID, unsigned char byPKTotal, 
  803. unsigned char byPKNumber, unsigned char byMsglevel, unsigned char byFeeUserType, 
  804. LPCTSTR sSPID, LPCTSTR sFeeType, LPCTSTR sFeeAddr, LPCTSTR sFeeCode,
  805. unsigned char byUserNum, LPCTSTR sDestAddrs,
  806. unsigned long* SM_ID, unsigned char* FCS, 
  807. unsigned char *bySmgpMsgID, unsigned char byMsgType, LPCTSTR FixedFee);
  808. // end 2002-07-22
  809. //For icd modify on 200305
  810. int WINAPI SubmitAExExForICD(unsigned char OrgTON, unsigned char OrgNPI, LPCTSTR OrgAddr,
  811. unsigned char DestTON, unsigned char DestNPI, LPCTSTR DestAddr, 
  812. unsigned char PRI,/* unsigned char RD, unsigned char RP, */
  813. unsigned char SRR, /*unsigned char MR,*/ unsigned char DCS, 
  814. unsigned char PID, LPCTSTR Schedule, LPCTSTR Expire, 
  815. unsigned long Dfault_ID, unsigned char UDHI, unsigned long UDLen,
  816. LPCTSTR UserData, LPCTSTR ServiceSubType, 
  817. unsigned char* byMsgID, unsigned char byPKTotal, 
  818. unsigned char byPKNumber, unsigned char byMsglevel, unsigned char byFeeUserType, 
  819. LPCTSTR sSPID, LPCTSTR sFeeType, LPCTSTR sFeeAddr, LPCTSTR sFeeCode,
  820. unsigned char byUserNum, LPCTSTR sDestAddrs,
  821. unsigned long* SM_ID, unsigned char* FCS);
  822. //For icd modify on 200305
  823. // begin 2002-11-22 cfk add for cmppdeliver 
  824. int WINAPI CmppDeliver(unsigned char OrgTON, //源地址号码类型
  825.            unsigned char OrgNPI, //源地址编码方案
  826.    LPCTSTR OrgAddr,
  827.    unsigned char DestTON, //目标地址号码类型
  828.            unsigned char DestNPI, //目标地址编码方案
  829.    LPCTSTR DestAddr,
  830.    
  831.    LPCTSTR sServiceType,  
  832.    unsigned char PID,
  833.    unsigned char UDHI, //1表示UD为一个结构,0表示缺省
  834.    unsigned char DCS,                                    
  835.    unsigned char* byMsgID,
  836.         unsigned char byRD,                // 是否为应答消息0:非应答消息,1应答消息。
  837.    unsigned char UDLen,
  838.    LPCTSTR UserData,
  839.    unsigned char* Result);
  840. // end 2002-11-22
  841. //2003-07-21 add by chenxiangrong begin for CMPP3.0  
  842. int WINAPI CMPP3Submit(unsigned char byPKTotal, 
  843. unsigned char byPKNumber,
  844.         unsigned char SRR,
  845.         unsigned char byMsglevel,  
  846.         LPCTSTR ServiceSubType,
  847.         unsigned char byFeeUserType,
  848.         LPCTSTR sFeeAddr,
  849.         unsigned char byFeeTerminalType,
  850.         unsigned char PID,
  851.         unsigned long Default_ID, unsigned char UDHI, 
  852.         unsigned char DCS, 
  853.         LPCTSTR sSPID, LPCTSTR sFeeType,  LPCTSTR sFeeCode,
  854.         LPCTSTR Schedule, LPCTSTR Expire, 
  855.         LPCTSTR OrgAddr,
  856.         unsigned char byUserNum, LPCTSTR sDestAddrs, //LPCTSTR DestAddr, 
  857. unsigned char byDestTerminalType,
  858.         unsigned long UDLen, LPCTSTR UserData,
  859.         LPCTSTR sLinkID, unsigned char* byMsgID);
  860.   
  861. int WINAPI GetCMPP3DeliverSM(
  862. ULONG* sm_ID, //返回:短讯ID
  863. char* DestAddr, //返回:目标地址
  864. char* OrgAddr, //返回:源地址
  865.                         unsigned char* bySrcTerminalType, 
  866. unsigned char* PRI, //返回:优先权
  867.                         unsigned char* RP,
  868.                         unsigned char* UDHI,
  869. unsigned char* PID, //返回:协议类型
  870. unsigned char* DCS, //返回:编码方案
  871. char* TimeStamp, //返回:下发时间
  872.                         unsigned long * UDLen,
  873. char* UserData, //返回:用户数据
  874.                         char* sLinkID, 
  875.                         unsigned char* StatusReport,
  876. unsigned char* sMsgID,
  877. char* sSubmitdate,
  878. char* sDonedate,
  879. char* sStatus,
  880. int iDeliverAckResult=0
  881. );
  882. //2003-07-21 add by chenxiangrong end
  883. //2003-09-03 add by chenxiangrong begin for CNGP1.0
  884. //CNGP1.0 Submit
  885. int WINAPI CNGPSubmit(
  886.                       LPCTSTR sSPID,
  887.                       unsigned char bySubType,
  888.                       unsigned char byNeedReport,
  889.                       unsigned char byPriority,  
  890.                       LPCTSTR       sService,
  891.                       LPCTSTR       sFeeType,
  892.                       unsigned char byFeeUserType,
  893.                       LPCTSTR       sFeeCode,
  894.                       unsigned char byMsgFormat, 
  895.                       LPCTSTR       sValidTime,
  896.                       LPCTSTR       sAtTime,
  897.                       LPCTSTR       sOrgAddr,
  898.                       LPCTSTR       sChargeAddr,
  899.                       unsigned char byUserNum, 
  900.                       LPCTSTR       sDestAddrs, 
  901.                       unsigned char byMsgLen, 
  902.                       LPCTSTR       sMsgContent,
  903.                       unsigned char byProValue = 0,
  904.                       unsigned char* byMsgID = NULL);
  905. int WINAPI GetCNGPDeliverSM(
  906.                             char*          sMsgID,      //返回:网关产生的消息流水号
  907.                             unsigned char* byMsgFormat,         //返回:断消息格式
  908.                             char*          sRecvTime,           //返回:接收时间
  909.                             char*          sOrgAddr,     //返回:源地址
  910.                             char*          sDestAddr, //返回:目标地址
  911.                             unsigned char* byMsgLen,            //返回:消息长度
  912.                             char*          sMsgContent, //返回:消息内容
  913.                             unsigned char* byProValue,          //返回:协议标识
  914.                             unsigned char* byIsReport,          //返回:状态报告标志
  915.                             char*          sSrcMsgID,           //返回:状态报告中原始MsgID
  916.                             char*          sSubmitdate,         
  917.                             char*          sDonedate,
  918.                             char*          sStatus,
  919.                             int            iDeliverAckResult = 0);
  920.                             /*
  921.                             function name   : SgipSubmitSM
  922.                             in              : 见sgip1.2协议submit消息定义
  923.                             out             : 0,成功;其他值,失败
  924.                             description     : 提交短消息
  925. */
  926. int WINAPI SgipSubmitSM(LPCTSTR sSPNumber, LPCTSTR sChargeNumber, unsigned char byUserCount, 
  927.                         LPCTSTR sUserNumber, LPCTSTR sCorpID, LPCTSTR sServiceType, unsigned char byFeeType, 
  928.                         LPCTSTR sFeeValue, LPCTSTR sGivenValue, unsigned char byAgentFlag, unsigned char byCauseMTFlag, 
  929.                         unsigned char byPriority, LPCTSTR sExpireTime, LPCTSTR sScheduleTime, unsigned char byReportFlag, 
  930.                         unsigned char byPID, unsigned char byUDHI, unsigned char byMsgCoding, unsigned char byMsgType, unsigned long ulMsgLen, 
  931.                         LPCTSTR sMsgContent,char* sReserve,unsigned char &byResult);
  932.                         /*
  933.                         function name   : SgipGetDeliverSM
  934.                         in              : 见sgip1.2协议deliver消息定义   &report消息定义 
  935.                         out             : 0,成功;其他值,失败
  936.                         description     : 取下发短消息
  937. */
  938. int WINAPI SgipGetSM(ULONG* ulCommandID,ULONG* ulNodeNum, ULONG* ulTime, ULONG* ulSequenceID,                // 消息序列号
  939.                      char* sUserNumber, char* sSPNumber, unsigned char* byPID,  
  940.                      unsigned char* byUDHI, unsigned char* byMsgCoding, unsigned long* ulMsgLen, char* sMsgContent,                    // Delvier 消息字段序列      
  941.                      unsigned long* ulOrgNodeNum, unsigned long* ulOrgTime, unsigned long* ulOrgSeqID, unsigned char* byReporttype,      // Report  消息字段序列
  942.                      unsigned char* byState, unsigned char* byErrCode,unsigned char* byUserCondition,
  943.                      char* sReserve,unsigned char byAckResult = 0);
  944. int WINAPI SgipGetDeliverSM(ULONG* ulNodeNum, ULONG* ulTime, ULONG* ulSequenceID,                // 消息序列号
  945.                      char* sUserNumber, char* sSPNumber, unsigned char* byPID,  
  946.                      unsigned char* byUDHI, unsigned char* byMsgCoding, unsigned long* ulMsgLen,
  947.                      char* sMsgContent, char* sReserve);
  948. int WINAPI SgipGetReport(ULONG* ulNodeNum, ULONG* ulTime, ULONG* ulSequenceID,
  949.                  unsigned long* ulOrgNodeNum, unsigned long* ulOrgTime, unsigned long* ulOrgSeqID,
  950.                  unsigned char* byReporttype,  unsigned char* byState, unsigned char* byErrCode,
  951.                  char* sReserve);
  952. int WINAPI SgipGetUserRpt(ULONG* ulNodeNum, ULONG* ulTime, ULONG* ulSequenceID,
  953.                     char* sUserNumber, char* sSPNumber, unsigned char* byUserCondition,
  954.                    char* sReserve);
  955. /* Begin: Adder: zhangzhilong  for 4D101   Date: 2004-6-17*/
  956. //SubmitA
  957. int WINAPI SMPP34SubmitSM(unsigned char OrgTON, unsigned char OrgNPI, LPCTSTR OrgAddr,
  958.   unsigned char DestTON, unsigned char DestNPI, LPCTSTR DestAddr, 
  959.   unsigned char PRI, unsigned char RD, unsigned char RP, 
  960.   unsigned char SRR, unsigned char MR, unsigned char DCS, 
  961.   unsigned char PID, LPCTSTR Schedule, LPCTSTR Expire, 
  962.   unsigned long Default_ID, unsigned char UDHI, unsigned long UDLen,
  963.   LPCTSTR UserData, unsigned long* SM_ID, unsigned char* FCS, 
  964.   LPCSTR  pChargeNum);
  965. /* End  : Adder: zhangzhilong  for 4D101   Date: 2004-6-17*/
  966. //2003-09-03 add by chenxiangrong end                            
  967. #endif