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