📄 tapis.cpp
字号:
{
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_IDLE\n");
lineDeallocateCall((HCALL) dwDevice);
n_RingTimes = 0;
if(g_FaxDialog&&IsWindow(g_FaxDialog->GetSafeHwnd()))
{
g_FaxDialog->PostMessage(WM_SMARTFAX,WM_FAXMONITORSTART,0);
}
}
break;
case LINECALLSTATE_CONNECTED:
{
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_CONNECTED\n");
if(g_FaxDialog&&IsWindow(g_FaxDialog->GetSafeHwnd()))
{
g_FaxDialog->RecvFaxInTapi();
}
}
break;
case LINECALLSTATE_DISCONNECTED:
{
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_DISCONNECTED\n");
lineDrop((HCALL) dwDevice, NULL, 0);
n_RingTimes = 0;
}
break;
case LINECALLSTATE_CONFERENCED:
{
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_CONFERENCED\n");
n_RingTimes = 0;
}
break;
case LINECALLSTATE_OFFERING:
{
g_hCall = (HCALL) dwDevice;
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_OFFERING -------------------\n");
n_RingTimes = 0;
}
break;
case LINECALLSTATE_ACCEPTED:
{
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_ACCEPTED\n");
g_hCall = (HCALL) dwDevice;
}
break;
}
break;
}
case LINE_CLOSE:
CHAN_DEBUG_PRINT("get Tapi msg LINE_CLOSE\n");
n_RingTimes = 0;
break;
case LINE_DEVSPECIFIC:
CHAN_DEBUG_PRINT("get Tapi msg LINE_DEVSPECIFIC\n");
break;
case LINE_DEVSPECIFICFEATURE:
CHAN_DEBUG_PRINT("get Tapi msg LINE_DEVSPECIFICFEATURE\n");
break;
case LINE_GATHERDIGITS:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_GATHERDIGITS\n");
break;
}
case LINE_GENERATE:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_GENERATE\n");
break;
}
case LINE_LINEDEVSTATE:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_LINEDEVSTATE \n");
switch(dwParam1)
{
case LINECALLSTATE_IDLE:
{
CHAN_DEBUG_PRINT("get Tapi msg LINECALLSTATE_IDLE ..........\n ");
n_RingTimes = 0;
}
break;
case LINEDEVSTATE_RINGING:
{
CHAN_DEBUG_PRINT("get Tapi msg LINEDEVSTATE_RINGING\n");
if(g_FaxDialog&&IsWindow(g_FaxDialog->GetSafeHwnd()))
{
g_FaxDialog->PostMessage(WM_SMARTFAX,WM_FAXRING,n_RingTimes++);
}
}
break;
case LINEDEVSTATE_CONNECTED:
{
CHAN_DEBUG_PRINT("get Tapi msg LINEDEVSTATE_CONNECTED\n");
}
break;
case LINEDEVSTATE_REINIT:
{
switch(dwParam2)
{
case LINE_CREATE:
break;
case LINE_LINEDEVSTATE:
break;
case 0:
break;
default:
break;
}
break;
}
default:
break;
}
break;
}
case LINE_MONITORDIGITS:
{
break;
}
case LINE_MONITORMEDIA:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_MONITORMEDIA\n");
break;
}
case LINE_MONITORTONE:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_MONITORTONE\n");
break;
}
case LINE_REPLY:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_REPLY\n");
break;
}
case LINE_REQUEST:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_REQUEST\n");
switch(dwParam1)
{
case LINEREQUESTMODE_DROP:
{
break;
}
default:
break;
}
break;
}
case LINE_CREATE:
{
CHAN_DEBUG_PRINT("get Tapi msg LINE_CREATE\n");
break;
}
case PHONE_CREATE:
{
CHAN_DEBUG_PRINT("get Tapi msg PHONE_CREATE\n");
break;
}
default:
break;
} // End switch(dwMsg)
}
// Turn a TAPI Line error into a printable string.
LPTSTR FormatTapiError (long lError)
{
static LPTSTR pszLineError[] =
{
TEXT("LINEERR No Error"),
TEXT("LINEERR_ALLOCATED"),
TEXT("LINEERR_BADDEVICEID"),
TEXT("LINEERR_BEARERMODEUNAVAIL"),
TEXT("LINEERR Unused constant, ERROR!!"),
TEXT("LINEERR_CALLUNAVAIL"),
TEXT("LINEERR_COMPLETIONOVERRUN"),
TEXT("LINEERR_CONFERENCEFULL"),
TEXT("LINEERR_DIALBILLING"),
TEXT("LINEERR_DIALDIALTONE"),
TEXT("LINEERR_DIALPROMPT"),
TEXT("LINEERR_DIALQUIET"),
TEXT("LINEERR_INCOMPATIBLEAPIVERSION"),
TEXT("LINEERR_INCOMPATIBLEEXTVERSION"),
TEXT("LINEERR_INIFILECORRUPT"),
TEXT("LINEERR_INUSE"),
TEXT("LINEERR_INVALADDRESS"),
TEXT("LINEERR_INVALADDRESSID"),
TEXT("LINEERR_INVALADDRESSMODE"),
TEXT("LINEERR_INVALADDRESSSTATE"),
TEXT("LINEERR_INVALAPPHANDLE"),
TEXT("LINEERR_INVALAPPNAME"),
TEXT("LINEERR_INVALBEARERMODE"),
TEXT("LINEERR_INVALCALLCOMPLMODE"),
TEXT("LINEERR_INVALCALLHANDLE"),
TEXT("LINEERR_INVALCALLPARAMS"),
TEXT("LINEERR_INVALCALLPRIVILEGE"),
TEXT("LINEERR_INVALCALLSELECT"),
TEXT("LINEERR_INVALCALLSTATE"),
TEXT("LINEERR_INVALCALLSTATELIST"),
TEXT("LINEERR_INVALCARD"),
TEXT("LINEERR_INVALCOMPLETIONID"),
TEXT("LINEERR_INVALCONFCALLHANDLE"),
TEXT("LINEERR_INVALCONSULTCALLHANDLE"),
TEXT("LINEERR_INVALCOUNTRYCODE"),
TEXT("LINEERR_INVALDEVICECLASS"),
TEXT("LINEERR_INVALDEVICEHANDLE"),
TEXT("LINEERR_INVALDIALPARAMS"),
TEXT("LINEERR_INVALDIGITLIST"),
TEXT("LINEERR_INVALDIGITMODE"),
TEXT("LINEERR_INVALDIGITS"),
TEXT("LINEERR_INVALEXTVERSION"),
TEXT("LINEERR_INVALGROUPID"),
TEXT("LINEERR_INVALLINEHANDLE"),
TEXT("LINEERR_INVALLINESTATE"),
TEXT("LINEERR_INVALLOCATION"),
TEXT("LINEERR_INVALMEDIALIST"),
TEXT("LINEERR_INVALMEDIAMODE"),
TEXT("LINEERR_INVALMESSAGEID"),
TEXT("LINEERR Unused constant, ERROR!!"),
TEXT("LINEERR_INVALPARAM"),
TEXT("LINEERR_INVALPARKID"),
TEXT("LINEERR_INVALPARKMODE"),
TEXT("LINEERR_INVALPOINTER"),
TEXT("LINEERR_INVALPRIVSELECT"),
TEXT("LINEERR_INVALRATE"),
TEXT("LINEERR_INVALREQUESTMODE"),
TEXT("LINEERR_INVALTERMINALID"),
TEXT("LINEERR_INVALTERMINALMODE"),
TEXT("LINEERR_INVALTIMEOUT"),
TEXT("LINEERR_INVALTONE"),
TEXT("LINEERR_INVALTONELIST"),
TEXT("LINEERR_INVALTONEMODE"),
TEXT("LINEERR_INVALTRANSFERMODE"),
TEXT("LINEERR_LINEMAPPERFAILED"),
TEXT("LINEERR_NOCONFERENCE"),
TEXT("LINEERR_NODEVICE"),
TEXT("LINEERR_NODRIVER"),
TEXT("LINEERR_NOMEM"),
TEXT("LINEERR_NOREQUEST"),
TEXT("LINEERR_NOTOWNER"),
TEXT("LINEERR_NOTREGISTERED"),
TEXT("LINEERR_OPERATIONFAILED"),
TEXT("LINEERR_OPERATIONUNAVAIL"),
TEXT("LINEERR_RATEUNAVAIL"),
TEXT("LINEERR_RESOURCEUNAVAIL"),
TEXT("LINEERR_REQUESTOVERRUN"),
TEXT("LINEERR_STRUCTURETOOSMALL"),
TEXT("LINEERR_TARGETNOTFOUND"),
TEXT("LINEERR_TARGETSELF"),
TEXT("LINEERR_UNINITIALIZED"),
TEXT("LINEERR_USERUSERINFOTOOBIG"),
TEXT("LINEERR_REINIT"),
TEXT("LINEERR_ADDRESSBLOCKED"),
TEXT("LINEERR_BILLINGREJECTED"),
TEXT("LINEERR_INVALFEATURE"),
TEXT("LINEERR_NOMULTIPLEINSTANCE")
};
_declspec(thread) static TCHAR szError[512];
DWORD dwError;
HMODULE hTapiUIMod = GetModuleHandle(TEXT("TAPIUI.DLL"));
if (hTapiUIMod)
{
dwError = FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,
(LPCVOID)hTapiUIMod, TAPIERROR_FORMATMESSAGE(lError),
0, szError, sizeof(szError)/sizeof(TCHAR), NULL);
if (dwError)
return szError;
}
// Strip off the high bit to make the error code positive.
dwError = (DWORD)lError & 0x7FFFFFFF;
if ((lError > 0) || (dwError > sizeof(pszLineError)/sizeof(pszLineError[0])))
{
wsprintf(szError, TEXT("Unknown TAPI error code: 0x%lx"), lError);
return szError;
}
return pszLineError[dwError];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -