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

📄 tapiline.h

📁 采用GPS的异步串行传送方式通过串行口采集遵循NMEA0183协议的GPS数据
💻 H
字号:
// TAPILine.h: interface for the CTAPILine class.
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TAPILINE_H__378FA136_FC63_4D63_87AE_CA6F56D70764__INCLUDED_)
#define AFX_TAPILINE_H__378FA136_FC63_4D63_87AE_CA6F56D70764__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CTAPILine  
{
	//标识线路的变量
	DWORD m_nNumLines;
	DWORD m_nCurLineID;

	//TAPI句柄
	HLINEAPP m_hLineApp;
	DWORD m_nAPIVersions[10];
	DWORD m_lowAPIVersion;
	DWORD m_highAPIVersion;
	LINEEXTENSIONID m_extAPIVersions[10];
	DWORD m_nApplicationVersion;
	DWORD m_nLastTAPIError;
	
//表示设备和设备属性的变量
	LINEDEVCAPS m_lineCaps;
	CString m_strLineName;
	CString m_strProviderInfo;
	CString m_strSwitchInfo;
	DWORD m_nPermanentLineID;
	DWORD m_nStringFormat;
	DWORD m_numAddresses;
	LONG m_nMediaModes;
	DWORD m_nAddress;
	DWORD m_nMaxDataRate;
	LONG m_nBearerModes;
	LONG m_nAddressModes;
	DWORD m_nGenerateToneMaxNumFreq;
	DWORD m_nGenerateToneModes;
	DWORD m_nNumTerminals;

//呼叫状态和异步函数返回状态变量
	HLINE m_hLine;
	HCALL m_hCall;
	DWORD m_nRequestingCall;
	DWORD m_nDroppingCall;
	DWORD m_nReqPrivileges;
	DWORD m_nReqMedialModes;
	
public:
	CTAPILine();
	virtual ~CTAPILine();

//成员函数
//这四个函数设定和获取最高版本号和最低版本号
	void SetLowAPI(DWORD ver);
	DWORD GetLowAPI();
	void SetHighAPI(DWORD ver);
	DWORD GetHighAPI();	
//获取当前的TAPI线路数值,并提供给其他模块使用
	DWORD GetNumLines();
	
//获取和设定当前TAPI线路
	DWORD GetCurrentLineID();
	void SetCurrentLineID(DWORD id);

//获取线路信息中的内容
	CString GetLineName();
	CString GetProviderInfo();
	CString GetSwitchInfo();
	CString GetLineErrString(DWORD lErrCode);

	DWORD GetPermanentLineID();
	DWORD GetStringFormat();
	DWORD GetNumAddress();
	DWORD GetmaxDataRate();
	LONG GetBearerModes();
	LONG GetAddressModes();
	LONG GetMediaModes();
	DWORD GetGenerateToneMaxNumFreq();
	DWORD GetGenerateToneModes();
	DWORD GetNumTerminals();
	BOOL GetLineSupportsVoice();

	DWORD GetNegoAPIVersion();
	DWORD GetExtAPIID0();
	DWORD GetExtAPIID1();
	DWORD GetExtAPIID2();
	DWORD GetExtAPIID3();

//对错误代码提供返回错误信息字符串	
	DWORD GetLasterror();
	CString ErrorString(DWORD errCode);

//创建函数
	BOOL Create();

//打开线路信息函数
	BOOL OpenLine(DWORD nPrivileges = LINECALLPRIVILEGE_NONE, DWORD nMediaModes = LINEMEDIAMODE_INTERACTIVEVOICE);
//产生异步呼叫的函数
	BOOL MakeCallAsynch(CString strPhoneNumbers = "");
//异步挂断电话的函数
	BOOL DropCallAsynch();
//关闭线路的函数
	BOOL CloseLine();
//线路配置的函数,该函数调用线路配置对话框
	BOOL ConfigDialog(HWND hWnd = NULL, CString strDeviceClass = "");
//拨号配置的函数,该函数调用拨号配置对话框
	BOOL DialoingPropertiesDialog(HWND hWnd, CString strPhoneNumber);
//回调函数,处理线路信息和状态改变信息
	static void FAR PASCAL LineCallbackProc(DWORD dwDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3);
//获得线路状态字符串
	CString GetLineStateString(DWORD state);
	
//私有成员函数
private:
//获取线路信息
	BOOL GetLineDevCaps();	
};

#endif // !defined(AFX_TAPILINE_H__378FA136_FC63_4D63_87AE_CA6F56D70764__INCLUDED_)


⌨️ 快捷键说明

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