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

📄 mytapi_.c

📁 支持XMODEM,YMODEM,FAX协议的串口通信软件包的下一个:基于TAPI应用的通信应用
💻 C
📖 第 1 页 / 共 4 页
字号:
				    	EnableMenuItem( hMenu, IDM_ANSWER, MF_GRAYED | MF_DISABLED | MF_BYCOMMAND ) ;

					
					break;
				default:
					break;
			} //end switch
			switch (dwParam1) {
				case LINECALLSTATE_IDLE:

					// deallocate call resources
					lineDeallocateCall (mytapi.hCall);

					// re-enable make call
					// update menus
				    hMenu = GetMenu(hTTYWnd);
					if (mytapi.pLineaddressstatus->dwAddressFeatures & LINEADDRFEATURE_MAKECALL)
				    	EnableMenuItem( hMenu, IDM_MAKECALL, MF_ENABLED | MF_BYCOMMAND ) ;
					else
				    	EnableMenuItem( hMenu, IDM_MAKECALL, MF_GRAYED | MF_DISABLED | MF_BYCOMMAND ) ;

					break;
				case LINECALLSTATE_OFFERING:

					if (mytapi.bWaitForCall) {
						// answer incoming calls
						lrc =  lineAnswer(mytapi.hCall,NULL,0);
						if (!(lrc >0 )) {
							ProcessTAPIError(lrc);
							myMessageBox("Error answering call");
						}
					}
					
					break;
				case LINECALLSTATE_ACCEPTED:

					
					break;
				case LINECALLSTATE_DIALTONE:

					
					switch (dwParam2) {
						case LINEDIALTONEMODE_NORMAL:

							
							break;
						case LINEDIALTONEMODE_SPECIAL:

							
							break;
						case LINEDIALTONEMODE_INTERNAL:

							
							break;
						case LINEDIALTONEMODE_EXTERNAL:

							
							break;
						case LINEDIALTONEMODE_UNKNOWN:

							
							break;
						case LINEDIALTONEMODE_UNAVAIL:

							
							break;
						default:
							break;
					} //end switch
					break;
				case LINECALLSTATE_DIALING:

					
					break;
				case LINECALLSTATE_RINGBACK:

					
					break;
				case LINECALLSTATE_BUSY:

					
					switch (dwParam2) {
						case LINEBUSYMODE_STATION:

							
							break;
						case LINEBUSYMODE_TRUNK:

							
							break;
						case LINEBUSYMODE_UNKNOWN:

							
							break;
						case LINEBUSYMODE_UNAVAIL:

							
							break;
						default:
							break;
					} //end switch
					break;
				case LINECALLSTATE_SPECIALINFO:

					
					switch (dwParam2) {
						case LINESPECIALINFO_NOCIRCUIT:

							
							break;
						case LINESPECIALINFO_CUSTIRREG:

							
							break;
						case LINESPECIALINFO_REORDER:

							
							break;
						case LINESPECIALINFO_UNKNOWN:

							
							break;
						case LINESPECIALINFO_UNAVAIL:

							
							break;
						default:
							break;
					} //end switch
					break;
				case LINECALLSTATE_CONNECTED:

					/* create the thread for reading bytes */
					mytapi.bReading = TRUE;
					if ((mytapi.hThread=CreateThread 
										(NULL, /*def security */ 
										 0,    /* def stack size */ 
										(LPTHREAD_START_ROUTINE)ReadThread,
										NULL,  /* param to pass to thread */
										0, &id)) == INVALID_HANDLE_VALUE) {
						/* handle error */
						MessageBox (NULL, "Error creating READ thread","",MB_OK);
						break;
					} /* end if (error creating read thread) */

					break;
				case LINECALLSTATE_PROCEEDING:

					
					break;
				case LINECALLSTATE_ONHOLD:

					
					break;
				case LINECALLSTATE_CONFERENCED:

					
					break;
				case LINECALLSTATE_ONHOLDPENDCONF:

					
					break;
				case LINECALLSTATE_DISCONNECTED:

					
					/* kill the read thread */
					if (mytapi.bReading) {
						mytapi.bReading = FALSE;
						/* wait for thread to die...  */
						while (GetExitCodeThread(mytapi.hThread, &id)) {
							if (id == STILL_ACTIVE)
								continue;
							else
								break;
						} /* end while (no error reading thread exit code) */	
						CloseHandle (mytapi.hThread);
					}

					switch (dwParam2) {
						case LINEDISCONNECTMODE_NORMAL:

							
							break;
						case LINEDISCONNECTMODE_UNKNOWN:

							
							break;
						case LINEDISCONNECTMODE_REJECT:

							
							break;
						case LINEDISCONNECTMODE_PICKUP:

							
							break;
						case LINEDISCONNECTMODE_FORWARDED:

							
							break;
						case LINEDISCONNECTMODE_BUSY:

							
							break;
						case LINEDISCONNECTMODE_NOANSWER:

							
							break;
						case LINEDISCONNECTMODE_BADADDRESS:

							
							break;
						case LINEDISCONNECTMODE_UNREACHABLE:

							
							break;
						case LINEDISCONNECTMODE_CONGESTION:

							
							break;
						case LINEDISCONNECTMODE_INCOMPATIBLE:

							
							break;
						case LINEDISCONNECTMODE_UNAVAIL:

							
							break;
						default:
							break;
					} //end switch
					break;
				case LINECALLSTATE_UNKNOWN:

					
					break;
				default:
					break;
			} //end switch
			break;
		case LINE_CLOSE:

			
			break;
		case LINE_DEVSPECIFIC:

			
			break;
		case LINE_DEVSPECIFICFEATURE:

			
			break;
		case LINE_GATHERDIGITS:

			
			switch (dwParam1) {
				case LINEGATHERTERM_BUFFERFULL:

					
					break;
				case LINEGATHERTERM_TERMDIGIT:

					
					break;
				case LINEGATHERTERM_FIRSTTIMEOUT:

					
					break;
				case LINEGATHERTERM_INTERTIMEOUT:

					
					break;
				case LINEGATHERTERM_CANCEL:

					
					break;
				default:
					break;
			} //end switch
			break;
		case LINE_GENERATE:

			
			switch (dwParam1) {
				case LINEGENERATETERM_DONE:

					
					break;
				case LINEGENERATETERM_CANCEL:

					
					break;
				default:
					break;
			} //end switch
			break;
		case LINE_LINEDEVSTATE:

			mylineGetLineDevStatus();

			// update menus
		    hMenu = GetMenu(hTTYWnd);
			if (mytapi.pLinedevstatus->dwLineFeatures & LINEFEATURE_MAKECALL)
		    	EnableMenuItem( hMenu, IDM_MAKECALL, MF_ENABLED | MF_BYCOMMAND ) ;
			else
		    	EnableMenuItem( hMenu, IDM_MAKECALL, MF_GRAYED | MF_DISABLED | MF_BYCOMMAND ) ;

			
			switch (dwParam1) {
				case LINEDEVSTATE_OTHER:

					
					break;
				case LINEDEVSTATE_RINGING:

					
					break;
				case LINEDEVSTATE_CONNECTED:

					break;
				case LINEDEVSTATE_DISCONNECTED:

					break;
				case LINEDEVSTATE_MSGWAITON:

					break;
				case LINEDEVSTATE_MSGWAITOFF:

					break;
				case LINEDEVSTATE_NUMCOMPLETIONS:

					break;
				case LINEDEVSTATE_INSERVICE:

					break;
				case LINEDEVSTATE_OUTOFSERVICE:

					break;
				case LINEDEVSTATE_MAINTENANCE:

					break;
				case LINEDEVSTATE_OPEN:

					break;
				case LINEDEVSTATE_CLOSE:

					break;
				case LINEDEVSTATE_NUMCALLS:

					break;
				case LINEDEVSTATE_TERMINALS:

					break;
				case LINEDEVSTATE_ROAMMODE:

					break;
				case LINEDEVSTATE_BATTERY:

					break;
				case LINEDEVSTATE_SIGNAL:

					break;
				case LINEDEVSTATE_DEVSPECIFIC:

					break;
				case LINEDEVSTATE_REINIT:

					break;
				case LINEDEVSTATE_LOCK:

					break;
				default:
					break;
			} //end switch
			break;
		case LINE_MONITORDIGITS:

			switch (dwParam2) {
				case LINEDIGITMODE_PULSE:

					break;
				case LINEDIGITMODE_DTMF:

					break;
				case LINEDIGITMODE_DTMFEND:

					break;
				default:
					break;
			} //end switch
			break;
		case LINE_MONITORMEDIA:

			switch (dwParam1) {
				case LINEMEDIAMODE_INTERACTIVEVOICE:

					break;
				case LINEMEDIAMODE_AUTOMATEDVOICE:

					break;
				case LINEMEDIAMODE_DATAMODEM:

					break;
				case LINEMEDIAMODE_G3FAX:

					break;
				case LINEMEDIAMODE_TDD:

					break;
				case LINEMEDIAMODE_G4FAX:

					break;
				case LINEMEDIAMODE_DIGITALDATA:

					break;
				case LINEMEDIAMODE_TELETEX:

					break;
				default:
					break;
			} //end switch
			break;
		case LINE_MONITORTONE:

			break;
		case LINE_REPLY:

			switch (dwParam2) {
				case LINEERR_ALLOCATED:

					myMessageBox(" LINEERR_ALLOCATED");
					break;
				case LINEERR_BADDEVICEID:

					myMessageBox(" LINEERR_BADDEVICEID");
					break;
				case LINEERR_BEARERMODEUNAVAIL:

					myMessageBox(" LINEERR_BEARERMODEUNAVAIL");
					break;
				case LINEERR_CALLUNAVAIL:

					myMessageBox(" LINEERR_CALLUNAVAIL");
					break;
				case LINEERR_COMPLETIONOVERRUN:

					myMessageBox(" LINEERR_COMPLETIONOVERRUN");
					break;
				case LINEERR_CONFERENCEFULL:

					myMessageBox(" LINEERR_CONFERENCEFULL");
					break;
				case LINEERR_DIALBILLING:

					myMessageBox(" LINEERR_DIALBILLING");
					break;
				case LINEERR_DIALDIALTONE:

					myMessageBox(" LINEERR_DIALDIALTONE");
					break;
				case LINEERR_DIALPROMPT:

					myMessageBox(" LINEERR_DIALPROMPT");
					break;
				case LINEERR_DIALQUIET:

					myMessageBox(" LINEERR_DIALQUIET");
					break;
				case LINEERR_INCOMPATIBLEAPIVERSION:

					myMessageBox(" LINEERR_INCOMPATIBLEAPIVERSION");
					break;
				case LINEERR_INCOMPATIBLEEXTVERSION:

					myMessageBox(" LINEERR_INCOMPATIBLEEXTVERSION");
					break;
				case LINEERR_INIFILECORRUPT:

					myMessageBox(" LINEERR_INIFILECORRUPT");
					break;
				case LINEERR_INUSE:

					myMessageBox(" LINEERR_INUSE");
					break;
				case LINEERR_INVALADDRESS:

					myMessageBox(" LINEERR_INVALADDRESS");
					break;
				case LINEERR_INVALADDRESSID:

					myMessageBox(" LINEERR_INVALADDRESSID");
					break;
				case LINEERR_INVALADDRESSMODE:

					myMessageBox(" LINEERR_INVALADDRESSMODE");
					break;
				case LINEERR_INVALADDRESSSTATE:

					myMessageBox(" LINEERR_INVALADDRESSSTATE");
					break;
				case LINEERR_INVALAPPHANDLE:

					myMessageBox(" LINEERR_INVALAPPHANDLE");
					break;
				case LINEERR_INVALAPPNAME:

					myMessageBox(" LINEERR_INVALAPPNAME");
					break;
				case LINEERR_INVALBEARERMODE:

					myMessageBox(" LINEERR_INVALBEARERMODE");
					break;
				case LINEERR_INVALCALLCOMPLMODE:

					myMessageBox(" LINEERR_INVALCALLCOMPLMODE");
					break;
				case LINEERR_INVALCALLHANDLE:

					myMessageBox(" LINEERR_INVALCALLHANDLE");
					break;
				case LINEERR_INVALCALLPARAMS:

					myMessageBox(" LINEERR_INVALCALLPARAMS");
					break;
				case LINEERR_INVALCALLPRIVILEGE:

					myMessageBox(" LINEERR_INVALCALLPRIVILEGE");
					break;
				case LINEERR_INVALCALLSELECT:

					myMessageBox(" LINEERR_INVALCALLSELECT");
					break;
				case LINEERR_INVALCALLSTATE:

					myMessageBox(" LINEERR_INVALCALLSTATE");
					break;
				case LINEERR_INVALCALLSTATELIST:

					myMessageBox(" LINEERR_INVALCALLSTATELIST");
					break;
				case LINEERR_INVALCARD:

					myMessageBox(" LINEERR_INVALCARD");
					break;
				case LINEERR_INVALCOMPLETIONID:

					myMessageBox(" LINEERR_INVALCOMPLETIONID");
					break;
				case LINEERR_INVALCONFCALLHANDLE:

					myMessageBox(" LINEERR_INVALCONFCALLHANDLE");
					break;
				case LINEERR_INVALCONSULTCALLHANDLE:

					myMessageBox(" LINEERR_INVALCONSULTCALLHANDLE");
					break;
				case LINEERR_INVALCOUNTRYCODE:

					myMessageBox(" LINEERR_INVALCOUNTRYCODE");
					break;
				case LINEERR_INVALDEVICECLASS:

					myMessageBox(" LINEERR_INVALDEVICECLASS");
					break;
				case LINEERR_INVALDEVICEHANDLE:

					myMessageBox(" LINEERR_INVALDEVICEHANDLE");
					break;
				case LINEERR_INVALDIALPARAMS:

					myMessageBox(" LINEERR_INVALDIALPARAMS");
					break;
				case LINEERR_INVALDIGITLIST:

					myMessageBox(" LINEERR_INVALDIGITLIST");

⌨️ 快捷键说明

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