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

📄 tapiline.cpp.svn-base

📁 一个使用TAPI函数写的电话应用的Demo
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
							case LINEDISCONNECTMODE_BUSY:
							case LINEDISCONNECTMODE_NOANSWER:
							case LINEDISCONNECTMODE_BADADDRESS:
							case LINEDISCONNECTMODE_UNREACHABLE:
							case LINEDISCONNECTMODE_CONGESTION:
							case LINEDISCONNECTMODE_INCOMPATIBLE:
							case LINEDISCONNECTMODE_UNAVAIL:
							case LINEDISCONNECTMODE_NODIALTONE:
							default:
								// Got disconnected, so drop the call
								lineDrop((HCALL)stLineMsg.hDevice, NULL, 0);
								pcTapiLine->m_bConnected = false;
								break;
						}					
						break;

					default:
						break;
				}
				break;

			case LINE_CALLINFO: //  Call Info is available
				if(stLineMsg.dwParam1 == LINECALLINFOSTATE_CALLID)
				{  //Caller ID became available.
					lpCallInfo = (LINECALLINFO *)malloc(sizeof(LINECALLINFO)+1000);
					memset(lpCallInfo, 0, sizeof(LINECALLINFO)+1024);
					lpCallInfo->dwTotalSize = sizeof(LINECALLINFO)+1024;
					lineGetCallInfo(pcTapiLine->m_hCall, lpCallInfo);
					if (lpCallInfo->dwTotalSize < lpCallInfo->dwNeededSize)
					{
						lpCallInfo = (LINECALLINFO *)realloc(lpCallInfo, lpCallInfo->dwNeededSize);
						lineGetCallInfo(pcTapiLine->m_hCall, lpCallInfo);
					}
				} 
				break;

			default:
				break;
			};
			break;

		case WAIT_TIMEOUT:
			break;;
			
		default:
			continue;
		};
	}
	return 0;
}

//Author: Ramanan.T
void CTapiLine::GetErrorString(int nError, char *&szErrText)
{
	szErrText = (char*)malloc(255);
	switch(nError)
	{
	case LINEERR_ALLOCATED:
		strcpy(szErrText,"LINEERR_ALLOCATED");
		break;
	case LINEERR_BADDEVICEID:
		strcpy(szErrText,"LINEERR_BADDEVICEID");
		break;
	case LINEERR_BEARERMODEUNAVAIL:
		strcpy(szErrText,"LINEERR_BEARERMODEUNAVAIL");
		break;
	case LINEERR_CALLUNAVAIL:
		strcpy(szErrText,"LINEERR_CALLUNAVAIL");
		break;
	case LINEERR_COMPLETIONOVERRUN:
		strcpy(szErrText,"LINEERR_COMPLETIONOVERRUN");
		break;
	case LINEERR_CONFERENCEFULL:
		strcpy(szErrText,"LINEERR_CONFERENCEFULL");
		break;
	case LINEERR_DIALBILLING:
		strcpy(szErrText,"LINEERR_DIALBILLING");
		break;
	case LINEERR_DIALDIALTONE:
		strcpy(szErrText,"LINEERR_DIALDIALTONE");
		break;
	case LINEERR_DIALPROMPT:
		strcpy(szErrText,"LINEERR_DIALPROMPT");
		break;
	case LINEERR_DIALQUIET:
		strcpy(szErrText,"LINEERR_DIALQUIET");
		break;
	case LINEERR_INCOMPATIBLEAPIVERSION:
		strcpy(szErrText,"LINEERR_INCOMPATIBLEAPIVERSION");
		break;
	case LINEERR_INCOMPATIBLEEXTVERSION:
		strcpy(szErrText,"LINEERR_INCOMPATIBLEEXTVERSION");
		break;          
	case LINEERR_INIFILECORRUPT:
		strcpy(szErrText,"LINEERR_INIFILECORRUPT");
		break;                  
	case LINEERR_INUSE:
		strcpy(szErrText,"LINEERR_INUSE");
		break;                           
	case LINEERR_INVALADDRESS:
		strcpy(szErrText,"LINEERR_INVALADDRESS");
		break;                    
	case LINEERR_INVALADDRESSID:
		strcpy(szErrText,"LINEERR_INVALADDRESSID");
		break;                  
	case LINEERR_INVALADDRESSMODE:
		strcpy(szErrText,"LINEERR_INVALADDRESSMODE");
		break;                
	case LINEERR_INVALADDRESSSTATE:
		strcpy(szErrText,"LINEERR_INVALADDRESSSTATE");
		break;               
	case LINEERR_INVALAPPHANDLE:
		strcpy(szErrText,"LINEERR_INVALAPPHANDLE");
		break;                  
	case LINEERR_INVALAPPNAME:
		strcpy(szErrText,"LINEERR_INVALAPPNAME");
		break;                    
	case LINEERR_INVALBEARERMODE:
		strcpy(szErrText,"LINEERR_INVALBEARERMODE");
		break;                 
	case LINEERR_INVALCALLCOMPLMODE:
		strcpy(szErrText,"LINEERR_INVALCALLCOMPLMODE");
		break;              
	case LINEERR_INVALCALLHANDLE:
		strcpy(szErrText,"LINEERR_INVALCALLHANDLE");
		break;                 
	case LINEERR_INVALCALLPARAMS:
		strcpy(szErrText,"LINEERR_INVALCALLPARAMS");
		break;                 
	case LINEERR_INVALCALLPRIVILEGE:
		strcpy(szErrText,"LINEERR_INVALCALLPRIVILEGE");
		break;              
	case LINEERR_INVALCALLSELECT:
		strcpy(szErrText,"LINEERR_INVALCALLSELECT");
		break;                 
	case LINEERR_INVALCALLSTATE:
		strcpy(szErrText,"LINEERR_INVALCALLSTATE");
		break;                  
	case LINEERR_INVALCALLSTATELIST:
		strcpy(szErrText,"LINEERR_INVALCALLSTATELIST");
		break;              
	case LINEERR_INVALCARD:
		strcpy(szErrText,"LINEERR_INVALCARD");
		break;                       
	case LINEERR_INVALCOMPLETIONID:
		strcpy(szErrText,"LINEERR_INVALCOMPLETIONID");
		break;               
	case LINEERR_INVALCONFCALLHANDLE:
		strcpy(szErrText,"LINEERR_INVALCONFCALLHANDLE");
		break;             
	case LINEERR_INVALCONSULTCALLHANDLE:
		strcpy(szErrText,"LINEERR_INVALCONSULTCALLHANDLE");
		break;          
	case LINEERR_INVALCOUNTRYCODE:
		strcpy(szErrText,"LINEERR_INVALCOUNTRYCODE");
		break;                
	case LINEERR_INVALDEVICECLASS:
		strcpy(szErrText,"LINEERR_INVALDEVICECLASS");
		break;                
	case LINEERR_INVALDEVICEHANDLE:
		strcpy(szErrText,"LINEERR_INVALDEVICEHANDLE");
		break;               
	case LINEERR_INVALDIALPARAMS:
		strcpy(szErrText,"LINEERR_INVALDIALPARAMS");
		break;                 
	case LINEERR_INVALDIGITLIST:
		strcpy(szErrText,"LINEERR_INVALDIGITLIST");
		break;                  
	case LINEERR_INVALDIGITMODE:
		strcpy(szErrText,"LINEERR_INVALDIGITMODE");
		break;                  
	case LINEERR_INVALDIGITS:
		strcpy(szErrText,"LINEERR_INVALDIGITS");
		break;                    
	case LINEERR_INVALEXTVERSION:
		strcpy(szErrText,"LINEERR_INVALEXTVERSION");
		break;                 
	case LINEERR_INVALGROUPID:
		strcpy(szErrText,"LINEERR_INVALGROUPID");
		break;                    
	case LINEERR_INVALLINEHANDLE:
		strcpy(szErrText,"LINEERR_INVALLINEHANDLE");
		break;                
	case LINEERR_INVALLINESTATE:
		strcpy(szErrText,"LINEERR_INVALLINESTATE");
		break;                  
	case LINEERR_INVALLOCATION:
		strcpy(szErrText,"LINEERR_INVALLOCATION");
		break;                   
	case LINEERR_INVALMEDIALIST:
		strcpy(szErrText,"LINEERR_INVALMEDIALIST");
		break;                  
	case LINEERR_INVALMEDIAMODE:
		strcpy(szErrText,"LINEERR_INVALMEDIAMODE");
		break;                  
	case LINEERR_INVALMESSAGEID:
		strcpy(szErrText,"LINEERR_INVALMESSAGEID");
		break;                  
	case LINEERR_INVALPARAM:
		strcpy(szErrText,"LINEERR_INVALPARAM");
		break;                      
	case LINEERR_INVALPARKID:
		strcpy(szErrText,"LINEERR_INVALPARKID");
		break;                     
	case LINEERR_INVALPARKMODE:
		strcpy(szErrText,"LINEERR_INVALPARKMODE");
		break;                   
	case LINEERR_INVALPOINTER:
		strcpy(szErrText,"LINEERR_INVALPOINTER");
		break;                    
	case LINEERR_INVALPRIVSELECT:
		strcpy(szErrText,"LINEERR_INVALPRIVSELECT");
		break;                 
	case LINEERR_INVALRATE:
		strcpy(szErrText,"LINEERR_INVALRATE");
		break;                       
	case LINEERR_INVALREQUESTMODE:
		strcpy(szErrText,"LINEERR_INVALREQUESTMODE");
		break;                
	case LINEERR_INVALTERMINALID:
		strcpy(szErrText,"LINEERR_INVALTERMINALID");
		break;                 
	case LINEERR_INVALTERMINALMODE:
		strcpy(szErrText,"LINEERR_INVALTERMINALMODE");
		break;               
	case LINEERR_INVALTIMEOUT:
		strcpy(szErrText,"LINEERR_INVALTIMEOUT");
		break;                    
	case LINEERR_INVALTONE:
		strcpy(szErrText,"LINEERR_INVALTONE");
		break;                       
	case LINEERR_INVALTONELIST:
		strcpy(szErrText,"LINEERR_INVALTONELIST");
		break;                   
	case LINEERR_INVALTONEMODE:
		strcpy(szErrText,"LINEERR_INVALTONEMODE");
		break;                   
	case LINEERR_INVALTRANSFERMODE:
		strcpy(szErrText,"LINEERR_INVALTRANSFERMODE");
		break;               
	case LINEERR_LINEMAPPERFAILED:
		strcpy(szErrText,"LINEERR_LINEMAPPERFAILED");
		break;                
	case LINEERR_NOCONFERENCE:
		strcpy(szErrText,"LINEERR_NOCONFERENCE");
		break;                    
	case LINEERR_NODEVICE:
		strcpy(szErrText,"LINEERR_NODEVICE");
		break;                        
	case LINEERR_NODRIVER:
		strcpy(szErrText,"LINEERR_NODRIVER");
		break;                        
	case LINEERR_NOMEM:
		strcpy(szErrText,"LINEERR_NOMEM");
		break;                           
	case LINEERR_NOREQUEST:
		strcpy(szErrText,"LINEERR_NOREQUEST");
		break;                       
	case LINEERR_NOTOWNER:
		strcpy(szErrText,"LINEERR_NOTOWNER");
		break;                        
	case LINEERR_NOTREGISTERED:
		strcpy(szErrText,"LINEERR_NOTREGISTERED");
		break;                   
	case LINEERR_OPERATIONFAILED:
		strcpy(szErrText,"LINEERR_OPERATIONFAILED");
		break;                 
	case LINEERR_OPERATIONUNAVAIL:
		strcpy(szErrText,"LINEERR_OPERATIONUNAVAIL");
		break;                
	case LINEERR_RATEUNAVAIL:
		strcpy(szErrText,"LINEERR_RATEUNAVAIL");
		break;                     
	case LINEERR_RESOURCEUNAVAIL:
		strcpy(szErrText,"LINEERR_RESOURCEUNAVAIL");
		break;                 
	case LINEERR_REQUESTOVERRUN:
		strcpy(szErrText,"LINEERR_REQUESTOVERRUN");
		break;                  
	case LINEERR_STRUCTURETOOSMALL:
		strcpy(szErrText,"LINEERR_STRUCTURETOOSMALL");
		break;               
	case LINEERR_TARGETNOTFOUND:
		strcpy(szErrText,"LINEERR_TARGETNOTFOUND");
		break;                  
	case LINEERR_TARGETSELF:
		strcpy(szErrText,"LINEERR_TARGETSELF");
		break;                      
	case LINEERR_UNINITIALIZED:
		strcpy(szErrText,"LINEERR_UNINITIALIZED");
		break;                   
	case LINEERR_USERUSERINFOTOOBIG:
		strcpy(szErrText,"LINEERR_USERUSERINFOTOOBIG");
		break;           
	case LINEERR_REINIT:
		strcpy(szErrText,"LINEERR_REINIT");
		break;
	case LINEERR_ADDRESSBLOCKED:
		strcpy(szErrText,"LINEERR_ADDRESSBLOCKED");
		break;
	case LINEERR_BILLINGREJECTED:
		strcpy(szErrText,"LINEERR_BILLINGREJECTED");
		break;
	case LINEERR_INVALFEATURE:
		strcpy(szErrText,"LINEERR_INVALFEATURE");
		break;
	case LINEERR_NOMULTIPLEINSTANCE:
		strcpy(szErrText,"LINEERR_NOMULTIPLEINSTANCE");
		break;
	case LINEERR_INVALAGENTID:
		strcpy(szErrText,"LINEERR_INVALAGENTID");
		break;
	case LINEERR_INVALAGENTGROUP:
		strcpy(szErrText,"LINEERR_INVALAGENTGROUP");
		break;
	case LINEERR_INVALPASSWORD:
		strcpy(szErrText,"LINEERR_INVALPASSWORD");
		break;
	case LINEERR_INVALAGENTSTATE:
		strcpy(szErrText,"LINEERR_INVALAGENTSTATE");
		break;
	case LINEERR_INVALAGENTACTIVITY:
		strcpy(szErrText,"LINEERR_INVALAGENTACTIVITY");
		break;
	case LINEERR_DIALVOICEDETECT:
		strcpy(szErrText,"LINEERR_DIALVOICEDETECT");
		break;
	default:
		free(szErrText);
		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,nError,0,(LPTSTR)&szErrText,0,NULL);
	};
}


⌨️ 快捷键说明

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