?? readme.txt.bak
字號:
1.C#調用CMPP2.0接口庫的例程
開發環境:Winxp SP2 + VS.net 2003
被調用的dll:CMPPAPI.DLL (V2.6)
該例程演示了如何在C#里面調用VC6.0開發的帶回調函數的API,而且回調函數的參數包含結構體,
使用C#的委托和IntPtr方法實現.
由于我使用C#剛兩天,這是我寫的第一個C#程序,因此例程寫的可能有點粗糙,但是編譯和運行完全沒有問題.
CMPP2.0的API封裝成了標準C調用的方法,提供以下三個接口,使用的時候只要有CMPPAPI.dll就可以了.
#define DllExport extern "C" __declspec(dllexport)
DllExport int __stdcall Cmpp2Start(LPCTSTR pchSmgIp, int nMtPort, int nMoPort, \
LPCTSTR pchUserName, LPCTSTR pchUserPwd, unsigned char uchVersion, \
void (__stdcall *OnSmgMsg)(CMPP_SMGTOSP* css), int nConnType, void (__stdcall *OnLogFile)(LPCTSTR str));
DllExport int __stdcall Cmpp2Submit(unsigned char uchPKtotal, unsigned char uchPKnumber, \
unsigned char uchNeedreport, unsigned char uchMsglevel, LPCTSTR pchServiceid, \
unsigned char uchFeeusertype, LPCTSTR pchFeeterminalid, unsigned char uchTppid, \
unsigned char uchTpudhi, unsigned char uchMsgfmt, LPCTSTR pchMsgsrc, \
LPCTSTR pchFeetype, LPCTSTR pchFeecode, LPCTSTR pchValidtime, \
LPCTSTR pchAttime, LPCTSTR pchSrcid, unsigned char uchDestusrtl, \
LPCTSTR pchDestterminalid, unsigned char uchMsglen, LPCTSTR pchMsgcontent);
DllExport int __stdcall Cmpp2Release();
在C#里面如何調用API,如何聲明結構體,如何使用委托實現回調函數,如何實現使用自定義結構體作為參數的回調函數,
請仔細查看例程源碼。
測試例程的運行和上下行消息需要有CMPP2.0模擬網關配合,本站也提供下載,或者使用真實網關也可以.
同樣的道理,該API和CMPP3接口庫, SGIP1.2接口庫也可以被C#,VB,VC6,BCB,Delphi,Java調用.
相關的例程和升級版的接口庫會在近期推出,敬請關注!
C#調用CMPP2.0 API的VS.net 2003例程源碼下載
CMPP2.0模擬網關下載
CMPPAPI.dll下載(V2.6)
注意:CMPPAPI.dll要和可執行文件放到同一個目錄下,或者放到可執行文件能找到的目錄,或者放到系統目錄下(如:C:\windows\system32).
http://www.zealware.com
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -