📄 clientapi.h
字号:
// ClientApi.h: interface for the USSD API routines.
//
#ifndef __CLIENT_API
#define __CLIENT_API
#define MAX_MSISDN_LENGTH 20
#define MAX_SERVICECODE_LENGTH 3
#define MAX_USSDSTRING_LENGTH 181
#define UT_REQUEST 1 // Request.
#define UT_NOTIFY 2 // Notify.
#define UT_RESPONSE 3 // Response.
#define UT_RELEASE 4 // Release.
#define UV_UNKNOWN 0x00 // 未知.
#define UV_PHASE_I 0x10 // Phase I (只能由移动台发起)
#define UV_PHASE_II 0x20 // Phase II
#define UV_PHASE_II_PLUS 0x25 // Phase II+
#define INVALID_INSTANCE_HANDLE ((HANDLE)-1)
struct TUssdSwitchInfo //业务转移信息
{
BYTE m_bSwitchMode;
char m_szMsIsdn[MAX_MSISDN_LENGTH + 1];
char m_szServiceCode[MAX_SERVICECODE_LENGTH + 1];
char m_szUssdString[MAX_USSDSTRING_LENGTH + 1];
};
struct TUssdChargeIndInfo //计费指示信息
{
DWORD m_dwChargeRatio;
DWORD m_dwChargeType;
char m_szChargeSource[MAX_MSISDN_LENGTH + 1];
BYTE m_bChargeLocation;
};
struct TUssdData
{
DWORD m_dwUssdCmd; // USSD会话操作类型(Request、Response、Abort、Error)
BYTE m_bUssdVersion; // USSD会话版本号(Phase I、Phase II、Phase II+)
BYTE m_bCodeScheme; //编码方案
DWORD m_dwErrorCode; // USSD错误代码(仅对UssdAbort和UssdError)
char m_szMsIsdn[MAX_MSISDN_LENGTH + 1]; // 移动台号码.
char m_szServiceCode[MAX_SERVICECODE_LENGTH + 1]; // 业务码.
char m_szUssdString[MAX_USSDSTRING_LENGTH + 1]; // USSD串内容。
DWORD m_dwUssdAppParam; // USSD业务应用程序自定义的参数。
};
//-----------------------------------------------------------------------------
// CallBack Functions For GetMessage
//------------------------------------------------------------------------------
typedef int (*LPONUSSDREQUEST)(HANDLE hLoginInstance, HANDLE hUssdDialog,
TUssdData UssdData, DWORD *pdwUssdAppParam);
typedef int (*LPONUSSDRESPONSE)(HANDLE hLoginInstance, HANDLE hUssdDialog,
char szUssdString[], DWORD dwUssdAppParam);
typedef int (*LPONUSSDABORT)(HANDLE hLoginInstance, HANDLE hUssdDialog,
DWORD dwErrorCode, DWORD dwUssdAppParam);
typedef int (*LPONUSSDERROR)(HANDLE hLoginInstance, HANDLE hUssdDialog,
DWORD dwErrorCode, DWORD dwUssdAppParam);
typedef int (*LPONUSSDTIMEOUT)(HANDLE hLoginInstance, HANDLE hUssdDialog,
DWORD dwUssdAppParam);
struct TUssdCallbacks
{
LPONUSSDREQUEST m_pOnUssdRequest;
LPONUSSDRESPONSE m_pOnUssdResponse;
LPONUSSDABORT m_pOnUssdAbort;
LPONUSSDERROR m_pOnUssdError;
LPONUSSDTIMEOUT m_pOnUssdTimeOut;
};
extern "C"
{
int PASCAL EXPORT UssdInit(char szServerAddress[],int nServicePort);
int PASCAL EXPORT UssdExit();
HANDLE PASCAL EXPORT UssdLogin(char szAccountName[],char szPassword[],int *pnErrorCode,BOOL fAutoConnect,DWORD dwTimeOut);
BOOL PASCAL EXPORT UssdLogout(HANDLE hLoginInstance,int *pnErrorCode);
BOOL PASCAL EXPORT UssdIsConnectionOK(HANDLE hLoginInstance);
void PASCAL EXPORT UssdGetErrorString(int nErrorCode,char *pszErrorString);
BOOL PASCAL EXPORT UssdReloadErrorInfoLib();
HANDLE PASCAL EXPORT UssdLocalOpen(HANDLE hLoginInstance, DWORD dwUssdAppParam, DWORD *pdwErrorCode);
BOOL PASCAL EXPORT UssdLocalClose(HANDLE hUssdDialog);
int PASCAL EXPORT UssdSendRequest(HANDLE hUssdDialog, TUssdData UssdData);
int PASCAL EXPORT UssdSendNotify(HANDLE hUssdDialog, TUssdData UssdData);
int PASCAL EXPORT UssdSendResponse(HANDLE hUssdDialog, TUssdData UssdData);
int PASCAL EXPORT UssdSendRelease(HANDLE hUssdDialog);
int PASCAL EXPORT UssdSendAbort(HANDLE hUssdDialog, DWORD dwErrorCode);
int PASCAL EXPORT UssdSendError(HANDLE hUssdDialog, DWORD dwErrorCode);
int PASCAL EXPORT UssdSendSwitch(HANDLE hUssdDialog, TUssdSwitchInfo SwitchInfo);
int PASCAL EXPORT UssdSendChargeInd(HANDLE hUssdDialog, TUssdChargeIndInfo ChargeIndInfo);
int PASCAL EXPORT RegisterUssdCallbackFunctions(TUssdCallbacks CallbackFuncs);
};
#endif // __CLIENT_API defined.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -