?? tapiline.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 + -