www.pudn.com > VoiceModem.zip > COMDIAL.H


 
#ifndef _COMDIAL_H 
#define _COMDIAL_H 
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
 
 
#define WIN95TAPIVERSION		0x00010004 
 
typedef struct tagMYTAPI { 
	HLINEAPP hTAPI; 
	HLINE hLine; 
	DWORD dwLine; 
	DWORD dwVersionToUse; 
	DWORD dwNumLines; 
	DWORD dwWaveInID; 
	DWORD dwWaveOutID; 
	HCALL hCall; 
	HANDLE h_wavein; 
	HANDLE h_waveout; 
	LINECALLBACK CallbackProc; 
 
	int iPlayState; 
	int iPlaySubState; 
	int nMsgCnt; 
	int nPlayCnt; 
	DWORD nRingCnt; 
	DWORD nRings; 
 
	BOOL bLineopen; 
	BOOL bInitialized; 
	BOOL bLinedevcapsalloced; 
	BOOL bLinedevstatusalloced; 
	BOOL bLinecallstatusalloced; 
	BOOL bLinecallinfoalloced; 
	BOOL bWaitForCall; 
 
	LINEDEVCAPS *pLinedevcaps; 
	LINEDEVSTATUS *pLinedevstatus; 
	LINECALLSTATUS *pLinecallstatus; 
	LINECALLINFO *pLinecallinfo; 
 
	// Phone fields 
 
	HPHONEAPP hTAPIPhone;	// handle to TAPI phone API 
	DWORD dwNumPhones;	//number of phone devices 
	DWORD dwPhoneVersionToUse;	//version of phone API to use 
	DWORD dwPhone;				// phone device id 
	HPHONE hPhone;				// handle to phone device 
	BOOL bPhonedevcapsalloced;	// TRUE if PHONECAPS struct is alloced 
	PHONECAPS *pPhonedevcaps;	// pointer to PHONECAPS struct 
	PHONECALLBACK PhoneCallbackProc;	// callback function for phone device 
	BOOL bPhoneInitialized;		// TRUE if phone initialized 
	BOOL bPhoneopen;			// TRUE if phone opened 
 
 
} MYTAPI; 
 
 
#define PLAYSTATE_IDLE					1 
#define PLAYSTATE_PASSWORD				2 
#define PLAYSTATE_PLAYBACK				3 
#define PLAYSTATE_RECORD				4 
#define PLAYSUBSTATE_PASSWORD0			1 
#define PLAYSUBSTATE_PASSWORD1			2 
#define PLAYSUBSTATE_PASSWORD2			3 
#define PLAYSUBSTATE_PASSWORD3			4 
 
 
#define RINGCNT							3 
 
/* structure returned by Unimodem which contains device handle and name */ 
typedef struct tagCommID { 
	HANDLE hComm; 
	char szDeviceName[1]; 
} CommID; 
 
 
int telephonyInitialize(HWND hWnd, HINSTANCE hInst); 
LONG mylineGetDevCaps(void); 
LONG telephonyCaps(void); 
void telephonyShutdown(void); 
int telephonyOpen(HWND hWnd, HINSTANCE hInst); 
LONG telephonySettings(HWND hwnd); 
void FAR PASCAL LineCallBackProc(DWORD dwDevice,DWORD dwMessage, 
           DWORD dwInstance,DWORD dwParam1,DWORD dwParam2,DWORD dwParam3); 
void ProcessTAPIError (LONG lrc); 
void myDrawTAPIIcon(HWND hwnd) ; 
LONG mylineGetDevConfig(); 
LONG mylineGetOldDevConfig(); 
LONG mylineGetCommID (DWORD dwSelect); 
LONG mylineGetWaveID (DWORD dwSelect, LPSTR waveDev); 
LONG mylineGetLineDevStatus(void); 
LONG mylineGetAddressStatus(void); 
LONG mylineGetCallStatus(void); 
LONG mylineGetCallStatus(void); 
LONG portSettings(HWND hwnd); 
LONG telephonyGetModemSettings(void); 
LONG telephonyGetModemCaps(void); 
void myMessageBox (LPSTR s); 
 
DWORD ReadThread (LPDWORD lpdwParam1); 
void locProcessCommError (DWORD dwError); 
void locProcessBytes (LPBYTE buf, DWORD dwBytes); 
 
 
HWAVE playSound(DWORD, char *, HWND); 
HWAVEIN recordMessage(DWORD dw_devid); 
int saveMessage (char *name, LPWAVEHDR hdr); 
 
 
// phone functions 
void FAR PASCAL PhoneCallBackProc(DWORD dwDevice,DWORD dwMessage, 
           DWORD dwInstance,DWORD dwParam1,DWORD dwParam2,DWORD dwParam3); 
int myphoneInitialize(HWND hWnd, HINSTANCE hInst); 
LONG myphoneGetDevCaps(void); 
void myphoneShutdown(void); 
int myphoneOpen(HWND hWnd, HINSTANCE hInst); 
 
 
#endif _COMDIAL_H