⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shpa3api.h

📁 三汇CTI示例程序源码
💻 H
📖 第 1 页 / 共 5 页
字号:
	E_CHG_RxPhoNumBuf,	//0x0021
	E_CHG_PolarRvrsCount,//0x0022
	E_SYS_RemotePickup,	//0x0023

	E_CHG_FlashCount,	//0x0024
	E_CHG_HookState,	//0x0025

	E_CHG_ToneAnalyze,	//0x0026
	E_OverallEnergy,	//0x0027
	E_CHG_OvrlEnrgLevel,//0x0028
	E_CHG_BusyTone,		//0x0029
	E_CHG_BusyToneEx,	//0x002A
	E_CHG_VocFxFlag,	//0x002B
	E_CHG_ToneValue,	//0x002Cˉ
	E_CHG_RingEchoToneTime,	//0x002D
	E_CHG_PeakFrq,		//0x002E
	E_SYS_BargeIn,		//0x003F
	E_SYS_NoSound,		//0x0030
	E_SYS_TIMEOUT,		//0x0031

	E_CHG_SpyState,		//0x0032
	E_CHG_SpyLinkStatus,//0x0033

	E_RCV_DTR_AUDIO,	//0x0034
	E_RCV_DTR_HOOK,		//0x0035
	E_RCV_DTR_LAMP,		//0x0036
	E_RCV_DTR_FKEY,		//0x0037
	E_RCV_DTR_DKEY,		//0x0038
	E_RCV_DTR_VOX,		//0x0039
	E_RCV_DTR_DISPLAY,	//0x003a
	E_RCV_DTR_DIRECTION,//0x003b
	E_RCV_DTR_RING,		//0x003c
	E_CHG_CICRxPhoNumBuf,
	E_CHG_CICState,
	E_PROC_CICAutoDial,
	E_RCV_Ss7IsupUtuinf, //0x0040

	E_CHG_Mtp2Status,	//0x0041
	E_RCV_DSTDChannel,		//0x0042

	MAX_EVENT_SIZE
};

typedef struct  _MESSAGE_INFO
{
	WORD	wEventCode;
	int		nReference;
	DWORD	dwParam; //输出参数
}MESSAGE_INFO, *PMESSAGE_INFO;

typedef struct _EVENT_SET_INFO
{
	DWORD dwWorkMode;
	LPVOID lpHandlerParam;
	DWORD dwOutCondition;
	DWORD dwOutParamVal;
	DWORD dwUser;
}EVENT_SET_INFO,*PEVENT_SET_INFO;

typedef struct tagFAX_FILE_SCT
{
	char	szFileName[256];
	int	nStartPage;
	int	nEndPage;
	int	nReserve1;
	int	nReserve2;
}FAX_FILE_SCT, *PFAX_FILE_SCT;

typedef struct _SSM_EVENT{
	WORD			wEventCode;
	int				nReference;
	DWORD			dwParam;
	DWORD			dwUser;
	DWORD			dwSubReason;			//Event sub-reason
	DWORD			dwXtraInfo;				//Extra information
	PVOID           pvBuffer;				//Pointer to buffer
    DWORD           dwBufferLength;			//Length of buffer pointed by pvBuffer
    DWORD           dwDataLength;			//Length of data in buffer pointed by pvBuffer
    DWORD           dwEventFlag;            //Falgs of the following:
                                            //bit 0,	=1 - App created the event
                                            //			=0 - SHP_A3.DLL created the event
                                            //bit 1,	Reserved
											//bit 2,	=1 - data has been truncated
											//			=0 - data has not been truncated
	DWORD           dwReserved1;
	LONGLONG		llReserved2;
}SSM_EVENT, *PSSM_EVENT;

typedef struct _VERSION
{
    UCHAR   ucMajor;
    UCHAR   ucMinor;
    USHORT  usInternal;
    USHORT  usBuild;
    UCHAR   ucRelease;
    UCHAR   ucFeature;
}SSM_VERSION, *PSSM_VERSION;

enum
{
TIMER_ONE,
TIMER_PERIODIC 
};

enum
{
	NO_EVENT, // 无事件方式
	EVENT_POLLING, //事件轮询
	EVENT_CALLBACK, //事件回调
	EVENT_MESSAGE //windows消息
};

//文件放音进程指示输出参数类型.
enum
{
	PLAYPERCENT,
	PLAYTIME,
	DATABYTESPLAYED,
	DATABYTESTOPLAY
};

//内存录放音进程指示输出参数类型.
enum
{
	END_HALF_BUFFER,
	END_BUFFER,	
	MEM_OFFSET,
	MEM_BYTES,
};

//文件录音进程指示输出参数类型.
enum
{
	RECORD_TIME,
	RECORD_BYTES
};

//ISUP用户部分参数常量定义,函数SsmSetIsupFlag中nType类型
enum
{
	ISUP_CallerParam = 1,//主叫号码参数
	ISUP_PhoNumParam = 2,//被叫号码参数
	ISUP_PhoNumREL = 3,//带号码改发信息的REL

	ISUP_REL_DENY_SetToOther = 100,//呼叫被拒设置为其它情况
	DefaultIAM_OriginalCalleeParam = 101,
};

enum
{
	Tup_ANX = 1,//呼叫:C_TUP_ANU, C_TUP_ANC, C_TUP_ANN
};

#pragma pack(1)
typedef struct tag_ISUP_RIREL{
	WORD	wRIMsg;
	WORD	wRIPhoNumPara;
	WORD	wPhoNumLen;
	UCHAR	ucRIPhoNum[20];
}ISUP_RIREL,*PISUP_RIREL;
#pragma pack()

#endif	// end of #ifndef SHCTI_CONST

#ifndef SHCTI_CALLBACK
	#define SHCTI_CALLBACK

	typedef	void (WINAPI *RXDTMFHANDLER) (int ch, char cDtmf, int nDTStatus, PVOID pV);
	typedef	BOOL (WINAPI *RECORDMEMBLOCKHANDLER) (int ch, int nEndReason, PUCHAR pucBuf, DWORD dwStopOffset, PVOID pV);
	typedef	BOOL (WINAPI *PLAYMEMBLOCKHANDLER) (int ch, int nEndReason, PUCHAR pucBuf, DWORD dwStopOffset, PVOID pV);
	typedef	void (CALLBACK  *LPRECTOMEM) (int ch, LPBYTE lpData, DWORD dwDataLen); //appended by xxb,2002.12.02
	typedef	void (CALLBACK  *LPRECTOMEMB) (int ch, LPBYTE lpData, DWORD dwDataLen, PVOID pV);
	typedef	int  (CALLBACK  *LPFNEVENTCALLBACK) (WORD wEvent, int nReference, DWORD dwParam, DWORD	dwUser);
	typedef	int  (CALLBACK  *LPFNEVENTCALLBACKA) (PSSM_EVENT pEvent);
#endif

#ifdef __cplusplus
	extern "C" {
#endif


//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@ INITIALIZATION OPERATION  @@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
int WINAPI SsmStartCti(LPSTR lpSsmCfgFileName, LPSTR lpIndexCfgFileName);
int WINAPI SsmCloseCti();
void WINAPI SsmGetLastErrMsg(LPSTR szErrMsgBuf);
char *WINAPI SsmGetLastErrMsgA(void);
int WINAPI SsmGetLastErrCode();
int WINAPI SsmGetMaxUsableBoard();
int WINAPI SsmGetMaxCfgBoard();
int WINAPI SsmGetRxDtmfBufSize();
int WINAPI SsmGetAccreditId(int nBId);
int WINAPI SsmGetMaxCh(void);
int WINAPI SsmGetChType(int ch);
int WINAPI SsmSetMaxIdxSeg(WORD wMaxIdxSeg);
int WINAPI SsmLoadIndexData(int	nSegNo, LPSTR pAlias, int nCodec, LPSTR	pVocFile, long lStartPos, long lLen);
int WINAPI SsmFreeIndexData(int nSegNo);
int WINAPI SsmGetTotalIndexSeg();
int WINAPI SsmPauseCard();
int WINAPI SsmRestartCard();

int WINAPI SsmGetAccreditIdEx(int nBId);	
int WINAPI SsmGetBoardModel(int nBId);		
void WINAPI SsmSetDV(BOOL bEnable);			
BOOL WINAPI SsmGetDV(void);

DWORD WINAPI SsmGetPciSerialNo(int nBId);

DWORD WINAPI SsmGetIntCount();
int WINAPI SsmSetListenMode(int nMode);

int WINAPI SsmStartBoard(int nBId);
int WINAPI SsmStopBoard(int nBId);
int WINAPI SsmGetChHdInfo(int ch, int * pnBId, int * pnBCh);
int WINAPI SsmGetAppChId(int * AppchId, int BrdId, int BrdChId);

int WINAPI SsmSetChState(int ch, int nState);
int	WINAPI StartTimer(int ch, WORD ClockType);
DWORD WINAPI ElapseTime(int ch, WORD ClockType);
int WINAPI SsmSetLogOutput(int nAPIDbg, int nEventStart, int nEventEnd, int nChStart, int nChEnd, DWORD dwReserve);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ PLAY OPERATION @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
int WINAPI SsmSetPlayVolume(int ch, int nVolume);
int WINAPI SsmSetDtmfStopPlay(int ch, BOOL bDspf);
int WINAPI SsmGetDtmfStopPlayFlag(int ch);
int WINAPI SsmSetBargeinStopPlay(int ch, BOOL bBispf);
int WINAPI SsmGetBargeinStopPlayFlag(int ch);
int	WINAPI SsmStopPlay(int ch);
int WINAPI SsmPlayFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen);
int WINAPI SsmStopPlayFile(int ch);
int WINAPI SsmPausePlay(int ch);
int WINAPI SsmRestartPlay(int ch);
int WINAPI SsmFastFwdPlay(int ch);
int WINAPI SsmFastBwdPlay(int ch);
int WINAPI SsmSetPlayTime(int ch, DWORD dwTime);
long WINAPI SsmGetPlayedTimeEx(int ch);
int  WINAPI SsmGetPlayingFileInfo(int ch , int *pnFormat , long *pnTotalTime);
int WINAPI SsmSetPlayPrct(int ch, DWORD dwPercentage);
long WINAPI SsmGetPlayedTime(int ch);
int WINAPI SsmGetPlayedPercentage(int ch);
long WINAPI SsmGetDataBytesToPlay(int ch);
int WINAPI SsmCheckPlay(int ch);
int WINAPI SsmGetPlayType(int ch);
int WINAPI SsmPlayIndexString(int ch, LPSTR pszIdxStr);
int WINAPI SsmPlayIndexList(int ch, WORD wIdxListLen, PWORD pwIdxList);
int WINAPI SsmStopPlayIndex(int ch);
int WINAPI SsmClearFileList(int ch);
int WINAPI SsmAddToFileList(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen);
int WINAPI SsmPlayFileList(int ch);
int WINAPI SsmStopPlayFileList(int ch);
int WINAPI SsmPlayMem(int ch, int nFormat, LPBYTE pBuf, DWORD dwBufSize, DWORD dwStartOffset, DWORD dwStopOffset);
int WINAPI SsmGetPlayOffset(int ch, DWORD* pdwPlayOffset);
int WINAPI SsmSetStopPlayOffset(int ch, DWORD dwStopPlayOffset);
int WINAPI SsmStopPlayMem(int ch);
int WINAPI SsmClearPlayMemList(void);
int WINAPI SsmAddToPlayMemList(LPBYTE pBuf, DWORD dwDataLen, int nFormat);
int WINAPI SsmPlayMemList(int ch, PWORD pMemList, WORD wMemListLen);
int WINAPI SsmStopPlayMemList(int ch);

int WINAPI SsmSetDTMFStopPlayCharSet(int ch, LPSTR lpstrDtmfCharSet);
int WINAPI SsmGetDTMFStopPlayCharSet(int ch, LPSTR lpstrDtmfCharSet);
int WINAPI SsmSetHangupStopPlayFlag(int ch, BOOL bHangupStopRecFlag);
int WINAPI SsmSetHangupStopPlayFlag(int ch, BOOL bHangupStopPlayFlag);
int WINAPI SsmPlayMemBlock(int ch, int nFormat, LPBYTE pBuf, DWORD dwBufSize, PLAYMEMBLOCKHANDLER OnPlayMemBlockDone, PVOID pV);

int WINAPI SsmStopPlayMemBlock(int ch);
long WINAPI SsmGetDataBytesPlayed(int ch);
int	WINAPI SsmSetPlayGain(int ch, WORD wGainLevel);
int WINAPI SsmSetLine0OutTo(BOOL bEnable);

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@    RECORD OPERATION   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
int WINAPI SsmSetRecVolume(int ch, int nVolume);
int WINAPI SsmGetRecType(int ch);
int WINAPI SsmRecToFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwBytes, DWORD dwTime, int nMask);
int WINAPI SsmRecToFileA(int ch, LPSTR pszFileName, int nFormat,
						DWORD dwStartPos, DWORD dwBytes, DWORD dwTime, int nMask,
						LPRECTOMEM	pfnRecToMem);

int WINAPI SsmRecToFileB(int ch, LPSTR pszFileName, int nFormat,
						DWORD dwStartPos, DWORD dwBytes, DWORD dwTime, int nMask,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -