精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳細介紹C#調用API

開發 后端
本文詳細介紹C#調用API,使用C#的委托和IntPtr方法實現.由于我使用C#剛兩天,這是我寫的第一個C#程序,因此例程寫的可能有點粗糙,但是編譯和運行完全沒有問題。

該例程演示了C#調用API函數,而且回調函數的參數包含結構體,使用C#的委托和IntPtr方法實現.由于我使用C#剛兩天,這是我寫的***個C#程序,因此例程寫的可能有點粗糙,但是編譯和運行完全沒有問題.CMPP2.0的API封裝成了標準C調用API的方法,提供以下三個接口,使用的時候只要有CMPPAPI.dll就可以了.

  1. #define DllExport extern "C" __declspec(dllexport)  
  2. DllExport int __stdcall Cmpp2Start(LPCTSTR pchSmgIp  
  3. int nMtPort  
  4. int nMoPort  
  5. LPCTSTR pchUserName  
  6. LPCTSTR pchUserPwd  
  7. unsigned char uchVersion  
  8. void (__stdcall *OnSmgMsg)(CMPP_SMGTOSP* css)  
  9. int nConnType  
  10. void (__stdcall *OnLogFile)(LPCTSTR str));  
  11.  
  12. DllExport int __stdcall Cmpp2Submit(  
  13. unsigned char uchPKtotal  
  14. unsigned char uchPKnumber  
  15. unsigned char uchNeedreport  
  16. unsigned char uchMsglevel  
  17. LPCTSTR pchServiceid  
  18. unsigned char uchFeeusertype  
  19. LPCTSTR pchFeeterminalid  
  20. unsigned char uchTppid  
  21. unsigned char uchTpudhi  
  22. unsigned char uchMsgfmt  
  23. LPCTSTR pchMsgsrc  
  24. LPCTSTR pchFeetype  
  25. LPCTSTR pchFeecode  
  26. LPCTSTR pchValidtime  
  27. LPCTSTR pchAttime  
  28. LPCTSTR pchSrcid  
  29. unsigned char uchDestusrtl  
  30. LPCTSTR pchDestterminalid  
  31. unsigned char uchMsglen  
  32. LPCTSTR pchMsgcontent);  
  33.  
  34. DllExport int __stdcall Cmpp2Release(); 

C#調用API,如何聲明結構體,如何使用委托實現回調函數,如何實現使用自定義結構體作為參數的回調函數,請仔細查看例程源碼。注意:CMPPAPI.dll要和可執行文件放到同一個目錄下,或者放到可執行文件能找到的目錄,或者放到系統目錄下(如:C:\windows \system32).

  1. //Class1.cs  
  2.  
  3. using System;  
  4. // 該名稱空間包含了在Visual C#中調用API的一些必要集合  
  5. using System.Runtime.InteropServices;  
  6. // 使用Sleep方法需要的命名空間  
  7. using System.Threading;  
  8.  
  9. namespace CMPPAPI_Sample_CSharp  
  10. {  
  11.  
  12. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  13. public struct CMPP_HEAD  
  14. {  
  15. public uint nTotalLength;  
  16. public uint nCommandId;  
  17. public uint nSeqId;  
  18. }  
  19.  
  20. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  21. public struct CMPP_CONNECT  
  22. {  
  23. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]  
  24. public string sSourceAddr;  
  25. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]  
  26. public string sAuthSource;  
  27. public byte cVersion;  
  28. public uint nTimeStamp;  
  29. }  
  30.  
  31. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  32. publicstruct CMPP_CONNECT_RESP  
  33. {  
  34. public byte uchStatus;  
  35. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]  
  36. public string sAuthISMG;  
  37. public byte cVersion;  
  38. }  
  39.  
  40. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  41. publicstruct CMPP_SUBMIT_RESP  
  42. {  
  43. public long nMsgid;  
  44. public byte uchResult;  
  45. }  
  46.  
  47. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  48. publicstruct CMPP_STATUS_REPORT  
  49. {  
  50. public long nMsgid;  
  51. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)]  
  52. public string sStat;  
  53. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]  
  54. public string sSubmitTime;  
  55. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]  
  56. public string sDoneTime;  
  57. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]  
  58. public string sDestTerminalId;  
  59. public uint nSmscSeq;  
  60. }  
  61.  
  62. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  63. publicstruct CMPP_MO_MSGCONTENT  
  64. {  
  65. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 160)]  
  66. public string sMsgcontent;  
  67. public CMPP_STATUS_REPORT csr;  
  68. }  
  69.  
  70. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  71. publicstruct CMPP_DELIVER  
  72. {  
  73. public longnMsgid;  
  74. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]  
  75. public string sDestid;  
  76. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]  
  77. public string sServiceid;  
  78. public byteuchTppid;  
  79. public byteuchTpudhi;  
  80. public byteuchMsgfmt;  
  81. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]  
  82. public string sSrcterminalid;  
  83. public byteuchRegisteredDelivery;  
  84. public byteuchMsglength;  
  85.  
  86. public CMPP_MO_MSGCONTENT mo_msg;  
  87.  
  88. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]  
  89. public string sReserved;  
  90. }  
  91.  
  92. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  93. publicstruct CMPP_SUBMIT  
  94. {  
  95. public longnMsgid;  
  96. public byteuchPkTotal;  
  97. public byteuchPkNumber;  
  98. public byteuchRegisteredDelivery;  
  99. public byteuchMsgLevel;  
  100. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]  
  101. public string sServiceId;  
  102. public byteuchFeeUserType;  
  103. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]  
  104. public string sFeeTerminalId;  
  105. public byteuchTpPid;  
  106. public byteuchTpUdhi;  
  107. public byteuchMsgFmt;  
  108. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]  
  109. public string sMsgSrc;  
  110. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)]  
  111. public string sFeeType;  
  112. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]  
  113. public string sFeeCode;  
  114. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)]  
  115. public string sValidTime;  
  116. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)]  
  117. public string sAtTime;  
  118. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21)]  
  119. public string sSrcId;  
  120. public byte uchDstUsrTl;  
  121. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 21*100)]  
  122. public string sDstTerminalId;  
  123. public byteuchMsgLength;  
  124. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 160)]  
  125. public string sMsgContent;  
  126. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]  
  127. public string sReserved;  
  128. }  
  129.  
  130. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  131. publicstruct CMPP_QUERY  
  132. {  
  133. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]  
  134. public string sTime;  
  135. public byte uchQueryType;  
  136. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]  
  137. public string sQueryCode;  
  138. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]  
  139. public string sReserved;  
  140. }  
  141.  
  142. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  143. publicstruct CMPP_QUERY_RESP  
  144. {  
  145. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]  
  146. public string sTime;  
  147. public byte uchQueryType;  
  148. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]  
  149. public string sQueryCode;  
  150. public uint nMTTLMsg;//從SP接收消息總數.  
  151. public uint nMTTLUsr;//從SP接收用戶總數.  
  152. public uint nMTScs; //成功轉發數量.  
  153. public uint nMTWT; //待轉發數量.  
  154. public uint nMTFL; //轉發失敗數量.  
  155. public uint nMOScs; //向SP成功送達數量.  
  156. public uint nMOWT; //向SP待送達數量.  
  157. public uint nMOFL; //向SP送達失敗數量.  
  158. }  
  159.  
  160. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  161. publicstruct CMPP_CANCEL  
  162. {  
  163. public long nMsgid;  
  164. }  
  165.  
  166. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  167. publicstruct CMPP_CANCEL_RESP  
  168. {  
  169. public byte uchSuccessId;  
  170. }  
  171.  
  172. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  173. publicstruct CMPP_ACTIVETEST_RESP  
  174. {  
  175. public byte uchReserved;  
  176. }  
  177.  
  178. [StructLayout(LayoutKind.Sequential, Pack = 1)]  
  179. publicstruct CMPP_BODY  
  180. {  
  181. public CMPP_CONNECT_RESP pk_connectresp;  
  182. public CMPP_SUBMIT_RESPpk_submitresp;  
  183. public CMPP_QUERY_RESPpk_queryre  

以上介紹C#調用API

【編輯推薦】

  1. C#字符串進行分割
  2. 全面測試C#字符串
  3. C# out和ref傳遞數組
  4. 淺析C#定義整型數組
  5. C#數據庫連接字符串
責任編輯:佚名 來源: MSDN
相關推薦

2009-08-03 14:09:15

C#調用API

2009-08-10 16:30:56

C# BitmapDa

2009-08-12 15:34:40

C# DBNull

2009-08-03 18:49:17

C#和Java

2009-08-21 09:23:11

C# GDI+

2009-08-26 17:31:59

C# const常量

2009-08-24 18:21:23

C# ListView

2009-08-20 15:26:42

C#循環語句

2009-08-21 15:16:23

C#使用指針

2009-08-14 17:04:50

C#類型系統

2009-08-13 13:38:30

C#命名規范

2009-08-05 15:10:19

C#調用GoogleE

2009-07-31 16:12:10

Windows APIC#

2009-08-03 13:13:52

C#調用Outlook

2009-08-03 13:34:57

C#調用Windows

2009-08-20 12:29:46

C#調用PInvoke

2009-08-06 14:59:36

C#編譯器

2009-08-25 17:28:23

C#創建DataSet

2009-08-27 14:32:15

C#編寫ActiveX

2009-08-27 17:31:44

C#創建Windows
點贊
收藏

51CTO技術棧公眾號

国产精品99无码一区二区| 国产精品嫩草影院8vv8| 香蕉视频黄在线观看| 久久久久久黄| 欧美成人免费在线视频| 中文字幕a在线观看| 快播电影网址老女人久久| 国产精品久久久久久久久动漫| 亚洲综合色激情五月| 国产一级特黄aaa大片| 精品久久网站| 精品99一区二区| 9l视频白拍9色9l视频| 免费电影视频在线看| 久久亚洲综合色| 91在线免费网站| 午夜精品久久久久久久蜜桃| 亚洲区综合中文字幕日日| 日韩av影院在线观看| 粉色视频免费看| 黄色视屏在线免费观看| 亚洲男帅同性gay1069| 欧美xxxx黑人又粗又长密月| 国产女18毛片多18精品| 久久久噜噜噜久久狠狠50岁| 欧美疯狂xxxx大交乱88av| 波多野结衣av在线观看| 高潮按摩久久久久久av免费| 欧美日韩黄视频| 女人和拘做爰正片视频| 污视频网站免费在线观看| 中文字幕乱码久久午夜不卡| 久久精品国产精品国产精品污| 国产毛片毛片毛片毛片毛片| 三级在线观看一区二区| 77777少妇光屁股久久一区| 天海翼在线视频| 国产成人ay| 日韩精品高清在线观看| 国产性猛交96| 在线观看视频一区二区三区| 欧美丰满一区二区免费视频| 成人3d动漫一区二区三区| 超碰资源在线| 亚洲成人免费视频| 久久久久久久久久伊人| 麻豆视频免费在线观看| 欧美国产激情二区三区| 欧美一区三区二区在线观看| 午夜18视频在线观看| 不卡av在线免费观看| 亚洲伊人久久综合| 精品国产乱码一区二区三 | 色在人av网站天堂精品| 亚洲欧美另类日本| 国产高清欧美| 美女视频久久黄| 日本午夜在线观看| 欧美黄色大片网站| 欧美激情精品久久久久| 国产精品成人国产乱| 亚洲精品一级| 青青草国产精品一区二区| 黄色在线免费观看| 丝袜美腿高跟呻吟高潮一区| 国产精品电影网| 一卡二卡三卡在线观看| 国产河南妇女毛片精品久久久| 97神马电影| 人妻少妇精品无码专区| 久久婷婷综合激情| 亚洲欧美丝袜| 丝袜美腿av在线| 午夜精品影院在线观看| www.浪潮av.com| 99蜜月精品久久91| 日韩一二三区视频| 中出视频在线观看| 人人狠狠综合久久亚洲婷| x99av成人免费| 国产一级中文字幕| 日韩综合小视频| 91精品视频免费观看| 高h震动喷水双性1v1| 91香蕉视频污在线| 亚洲精品美女久久7777777| 八戒八戒神马在线电影| 午夜电影一区二区三区| 韩国日本美国免费毛片| 精品视频国内| 亚洲精品小视频| 免费黄色国产视频| 亚洲精品日本| 国产免费一区二区三区香蕉精| 精品毛片一区二区三区| 久久婷婷色综合| 免费成人进口网站| 一二三四视频在线中文| 在线播放中文一区| 久久性爱视频网站| 久久激情电影| 97精品国产97久久久久久春色| 亚洲精品国产精品国自产网站按摩| 国产一区二区在线影院| 日本不卡二区| h片在线观看视频免费免费| 欧美视频中文一区二区三区在线观看| 日韩大尺度视频| 成人婷婷网色偷偷亚洲男人的天堂| 麻豆成人在线看| 中文字幕xxxx| a级高清视频欧美日韩| 中文字幕一区综合| 蜜桃成人精品| 亚洲精品中文字幕女同| 九九热国产在线| 精品一区二区三区日韩| 日本一区视频在线观看免费| 日本三级韩国三级欧美三级| 在线视频国内一区二区| 国产又黄又粗又猛又爽的视频| 在线精品国产| 国产精品永久免费在线| 欧美色18zzzzxxxxx| 亚洲免费看黄网站| 91日韩视频在线观看| 欧美美女在线直播| 久久久久久亚洲| 国产xxxxxx| 成人免费在线视频| 999精品视频在线| 免费看成人哺乳视频网站| 97人人爽人人喊人人模波多 | 久久久久久久黄色| 精品无人码麻豆乱码1区2区| 日韩妆和欧美的一区二区| 漫画在线观看av| 精品国产一区a| 欧美日韩免费做爰视频| 国产精品一区二区视频| 日韩最新中文字幕| 青青久久精品| 日韩在线观看成人| 一卡二卡三卡在线观看| 国产精品你懂的在线欣赏| 国产精品久久久久9999小说| 中国av一区| 国产精品久久久久影院日本| 成a人v在线播放| 欧美色爱综合网| 91麻豆制片厂| 久久99精品国产麻豆不卡| 亚洲日本精品| japansex久久高清精品| 日韩在线不卡视频| 99久久国产免费| 一级特黄大欧美久久久| 先锋资源av在线| 亚洲欧美清纯在线制服| 农村寡妇一区二区三区| **在线精品| 在线观看日韩专区| 国产喷水吹潮视频www| 亚洲精品中文在线影院| 亚洲成人福利视频| 亚洲九九精品| 青青草成人网| 99er精品视频| 久久久久成人网| 暖暖视频在线免费观看| 欧美色综合天天久久综合精品| 在线日韩国产网站| 成人性生交大片免费看视频在线| 成年人午夜免费视频| 精品在线观看入口| 国产在线播放91| 欧美78videosex性欧美| 亚洲精品乱码久久久久久金桔影视 | 国产黄色免费在线观看| 91精品久久久久久久99蜜桃 | 毛片网站免费观看| 蜜臀久久99精品久久久久宅男| 中文字幕99| 日韩av黄色在线| 国产一区二中文字幕在线看| 蜜臀av国内免费精品久久久夜夜| 亚洲另类激情图| 国产又粗又长视频| 午夜日韩在线观看| 成人午夜免费影院| 成人综合婷婷国产精品久久蜜臀 | 韩国女主播成人在线| 人妻夜夜添夜夜无码av| 成人激情开心网| 国产乱码精品一区二区三区日韩精品| 久久99久久99精品免观看软件| 欧美成人免费一级人片100| 暖暖视频在线免费观看| 91精品欧美福利在线观看| 成人毛片在线播放| 亚洲综合色网站| 91激情视频在线观看| 粉嫩嫩av羞羞动漫久久久| 美女黄色片视频| 一本色道久久综合| 51xx午夜影福利| 国内精品久久久久久久影视简单 | 热99在线视频| 天堂av在线电影| 中文字幕亚洲国产| 视频二区在线| 日韩精品一区国产麻豆| 亚洲中文一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 手机免费观看av| 91亚洲精品一区二区乱码| 天堂网成人在线| 日韩高清在线电影| 国产免费毛卡片| 在线不卡亚洲| 国产一级大片免费看| 欧美高清视频在线观看mv| 欧美午夜免费| 天堂网av成人| 狠狠色狠狠色综合人人| 超碰成人免费| 国产精品区一区| 日韩精品视频在线看| 亚洲免费观看高清完整版在线观看熊| 亚洲欧美欧美一区二区三区| 成年人网站av| 日韩电影一区二区三区| 岳毛多又紧做起爽| 国产婷婷精品| www.爱色av.com| 亚洲精品欧美| 欧美二区在线视频| 亚洲大黄网站| 久操网在线观看| 亚洲精品四区| 国产综合av在线| 一本色道88久久加勒比精品| 欧美精品一区二区三区三州| 亚洲高清毛片| 免费观看美女裸体网站| 亚洲视频二区| 无码人妻丰满熟妇区毛片| 西西人体一区二区| 国产精品秘入口18禁麻豆免会员 | 欧美色图色综合| 国产一区二区三区成人欧美日韩在线观看| 激情小视频网站| 国产欧美三级| 成人在线看视频| 日韩av成人高清| 亚洲最大综合网| 蜜桃av一区二区在线观看| 亚洲精品午夜在线观看| 韩国成人在线视频| 中文字幕乱妇无码av在线| 国产精品一区二区在线观看网站 | 亚洲高清999| 国产区二精品视| 欧美精品密入口播放| 日韩av电影免费播放| 手机在线一区二区三区| 国产日产欧美一区二区| 国产精品www994| 国产91在线视频观看| 日本亚洲最大的色成网站www| 一区二区三区韩国| 国产一区在线不卡| 亚洲av成人片无码| 国产人伦精品一区二区| 二区三区四区视频| 亚洲午夜久久久| 日本中文字幕在线| 欧美精品粉嫩高潮一区二区| 亚洲黄色小说网址| 亚洲欧美日韩在线一区| 一级毛片视频在线观看| 欧美日韩国产成人在线| 高潮一区二区| 91在线国产电影| 亚洲黄页在线观看| 免费观看黄色大片| 久久国产成人| 国产大片一区二区三区| 26uuu精品一区二区三区四区在线| 国产一区二区三区四区在线| 一区二区三区在线观看网站| 亚洲GV成人无码久久精品| 欧美日韩国产影片| 五月激情婷婷综合| 久久精品国产99国产精品澳门| 91美女主播在线视频| 国产精品久久久久77777| 综合成人在线| 一区二区三区在线视频111| 国产毛片一区| 欧美激情第四页| 欧美—级在线免费片| 国产精品18p| 欧美精品xxxxbbbb| 国产小视频福利在线| 久久久久久久久国产| 看片一区二区| 欧美精品一区二区三区在线四季| 欧美永久精品| 手机在线成人免费视频| 97久久超碰国产精品| 中文字幕影音先锋| 欧美日韩国产大片| 粉嫩av一区| 欧美亚洲日本黄色| 东京久久高清| 日本免费黄色小视频 | 国产成人精品综合久久久久99| 国产清纯白嫩初高生在线观看91| 亚洲国产成人精品激情在线| 日韩精品一区二| 国产不卡在线| 国产日韩视频在线观看| 日韩大片在线| 国产精品久久久久9999小说| 91日韩在线专区| 国产污视频在线看| 欧美一级二级三级乱码| 91青青在线视频| 国产国语刺激对白av不卡| 日韩激情啪啪| 国产av天堂无码一区二区三区| 国产91精品露脸国语对白| 日韩欧美国产成人精品免费| 欧美日韩激情一区二区| 嫩草在线视频| 国产欧美婷婷中文| 成人影视亚洲图片在线| 激情综合网俺也去| 欧美韩日一区二区三区| 中文字幕+乱码+中文| 伊人一区二区三区久久精品| 日韩pacopacomama| 日韩欧美99| 日韩不卡免费视频| 欧美老女人性生活视频| 欧美亚洲综合网| shkd中文字幕久久在线观看| 国产精品视频专区| 婷婷综合五月| 亚洲精品国产久| 亚洲精品免费在线| 亚洲av无码乱码在线观看性色| 欧美激情亚洲国产| 精品综合久久88少妇激情| 久色视频在线播放| 国产亚洲综合性久久久影院| 伊人网免费视频| 久久手机精品视频| 91成人午夜| av动漫在线观看| 中文在线免费一区三区高中清不卡| 中文区中文字幕免费看| 久久久精品一区二区三区| 欧美经典一区| 免费一级特黄特色毛片久久看| 波多野结衣视频一区| 日本一区二区免费电影| 伊人激情综合网| 国产精品一区二区三区av| 日韩人妻无码精品久久久不卡| 91天堂素人约啪| 中文字幕人妻一区二区在线视频 | 高清国产一区二区| 日韩在线视频免费播放| 色婷婷久久av| 亚洲一区 二区| 日韩 欧美 高清| 中文字幕综合网| 欧美自拍第一页| 国产精品高清在线观看| 午夜日韩激情| 国产av自拍一区| 日韩欧美一区二区在线视频| 亚洲精品永久免费视频| a级网站在线观看| 久久先锋影音av鲁色资源| 国产精品一区二区黑人巨大| 久久免费在线观看| 欧美综合视频| xfplay5566色资源网站| 欧美亚洲综合网| 色吧亚洲日本| 在线国产99| 久久综合久久久久88| 99久久99久久久精品棕色圆| 国产mv久久久| 亚洲人成久久| 精品人妻伦九区久久aaa片| 国产午夜精品麻豆|