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

📄 tapidevice.h

📁 windows mobile下tapi实现监视电话线路的程序。vs2008下创建
💻 H
字号:
#pragma once

#define TAPI_FRIENDLY_NAME	TEXT("TAPIDeviceV1.0")

class CTAPIDevice;

class CTAPIEventSink
{
public:
	virtual void OnAddressState(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnCallInfo(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)			= 0;
	virtual void OnCallState(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)			= 0;
	virtual void OnLineClose(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)			= 0;
	virtual void OnDevSpecific(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnDevSpecificFeature(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)	= 0;
	virtual void OnGatherDigits(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnLineGenerate(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnLineDevState(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnMonitorDigits(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnMonitorMedia(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnMonitorTone(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnLineReply(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)			= 0;
	virtual void OnLineRequest(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)		= 0;
	virtual void OnLineCreate(DWORD dwParam1,DWORD dwParam2,DWORD dwParam3)			= 0;
};

typedef CTAPIEventSink ITAPIEventSink;

class CTAPIDevice
{
public:
	CTAPIDevice(void);
	virtual ~CTAPIDevice(void);

public:
	BOOL Initialize(IN	HINSTANCE		hInstance,
					IN	ITAPIEventSink*	pSink,
					IN	TCHAR*			pszAppName	= NULL);
	void Shutdown();
	void GetGeneralInfo(TCHAR* pszIMEI,TCHAR* pszManufacturer,TCHAR* pszModal,TCHAR* pszSubscriber,TCHAR* pszRevision);
	BOOL OpenLine(DWORD dwId = -1,DWORD dwPrivileges = LINECALLPRIVILEGE_MONITOR);
	BOOL CloseLine();

public:
private:
	HLINEAPP		m_hLineApp;
	HLINE			m_hLine;
	DWORD			m_dwLowAPIVersion;
	DWORD			m_dwDevices;
	DWORD			m_dwCellularId;

private:
	DWORD GetCellularLineId();
	BOOL  GetLineGeneralInfo(LPLINEGENERALINFO pInfo,LPTSTR pszInfo,DWORD dwInfo,DWORD dwOffset);
	
private:
	static ITAPIEventSink* m_pEventSink;

	static void FAR PASCAL lineCallback(DWORD hDevice,
										DWORD dwMsg,
										DWORD dwCallbackInstance,
										DWORD dwParam1,
										DWORD dwParam2,
										DWORD dwParam3);
};

⌨️ 快捷键说明

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