Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1422 lines
45 KiB

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
msgline.c
Abstract:
This module contains the test functions for all message sent test
Author:
Xiao Ying Ding (XiaoD) 5-9-96
Revision History:
--*/
#include "windows.h"
#include "malloc.h"
#include "string.h"
#include "stdlib.h"
#include "tapi.h"
#include "trapper.h"
#include "ttest.h"
#include "doline.h"
#include "xline.h"
#define NUMMSGS 20
#define NUMMSG 20
#define PULSESIZE 16
#define DTMFSIZE 16
#define ITL_ADDRESSSTATE 0
#define ITL_CALLINFO 1
#define ITL_CALLSTATE 2
#define ITL_CLOSE 3
#define ITL_CREATE 4
#define ITL_DEVSPECIFIC 5
#define ITL_DEVSPECIFICFEATURE 6
#define ITL_GATHERDIGITS 7
#define ITL_GENERATEDIGIT 8
#define ITL_GENERATETONE 9
#define ITL_LINEDEVSTATE 10
#define ITL_MONITORDIGITS 11
#define ITL_MONITORMEDIA 12
#define ITL_MONITORTONE 13
#define ITL_AGENTSPECIFIC 14
#define ITL_AGENTSTATUS 15
#define ITL_APPNEWCALL 16
#define ITL_PROXYREQUEST 17
#define ITL_REMOVE 18
#define ITL_REPLY 19
typedef struct _MSGLIST
{
char szMsg[32];
DWORD dwMsg;
} MSGLIST, *PMSGLIST;
ESPDEVSPECIFICINFO info;
DWORD dwHandle;
#ifdef WUNICODE
WCHAR wszValidAddress[] = L"55555";
WCHAR wszValidDeviceClass[] = L"tapi/line";
#else
CHAR szValidAddress[] = "55555";
CHAR szValidDeviceClass[] = "tapi/line";
#endif
DWORD MsgLineCommFunc(LPTAPILINETESTINFO lpTapiLineTestInfo, BOOL fQuietMode);
BOOL TestLineMessages(BOOL fQuietMode, BOOL fStandAlone)
{
LPTAPILINETESTINFO lpTapiLineTestInfo;
LPCALLBACKPARAMS lpCallbackParams;
BOOL fTestPassed = TRUE;
INT n;
LONG lResult;
DWORD dwParam;
DWORD dwMsg;
LPDWORD lpRequestBuf;
LONG lret;
LPTAPIMSG lpTapiMsg = NULL;
LPTAPIMSG lpMatch;
MSGLIST MsgList[] =
{
{ "LINE_ADDRESSSTATE", LINE_ADDRESSSTATE },
{ "LINE_CALLINFO", LINE_CALLINFO },
{ "LINE_CALLSTATE", LINE_CALLSTATE },
{ "LINE_CLOSE", LINE_CLOSE },
{ "LINE_CREATE", LINE_CREATE },
{ "LINE_DEVSPECIFIC", LINE_DEVSPECIFIC },
{ "LINE_DEVSPECIFICFEATURE", LINE_DEVSPECIFICFEATURE },
{ "LINE_GATHERDIGITS", LINE_GATHERDIGITS },
{ "LINE_GENERATEDIGIT", LINE_GENERATE },
{ "LINE_GENERATETONE", LINE_GENERATE },
{ "LINE_LINEDEVSTATE", LINE_LINEDEVSTATE },
{ "LINE_MONITORDIGITS", LINE_MONITORDIGITS },
{ "LINE_MONITORMEDIA", LINE_MONITORMEDIA },
{ "LINE_MONITORTONE", LINE_MONITORTONE },
{ "LINE_AGENTSPECIFIC", LINE_AGENTSPECIFIC },
{ "LINE_AGENTSTATUS", LINE_AGENTSTATUS },
{ "LINE_APPNEWCALL", LINE_APPNEWCALL },
{ "LINE_PROXYREQUEST", LINE_PROXYREQUEST },
{ "LINE_REMOVE", LINE_REMOVE },
{ "LINE_REPLY", LINE_REPLY }
};
InitTestNumber();
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwDeviceID = (*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
{
TapiLogDetail(
DBUG_SHOW_DETAIL,
"MSGs did not work for Unimodem. Return here.");
//
// Shutdown and end the tests
//
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
return fTestPassed;
}
lpTapiLineTestInfo->dwCallbackInstance =
(DWORD) GetCallbackParams();
// Allocate more than enough to store a call handle
TapiLogDetail(
DBUG_SHOW_PASS,
">>>>>>>> Begin testing line messages <<<<<<<<"
);
info.dwKey = ESPDEVSPECIFIC_KEY;
info.dwType = ESP_DEVSPEC_MSG;
for(n = 0; n< NUMMSG; n++)
{
TapiLogDetail(
DBUG_SHOW_PASS,
">> Test Case %ld: Test %s message",
dwTestCase + 1, MsgList[n].szMsg);
info.u.EspMsg.dwMsg = MsgList[n].dwMsg;
switch (n)
{
case ITL_ADDRESSSTATE:
for(dwParam = LINEADDRESSSTATE_OTHER; dwParam <= LINEADDRESSSTATE_CAPSCHANGE; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = dwParam;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->dwLineStates = LINEDEVSTATE_DEVSPECIFIC;
lpTapiLineTestInfo->dwAddressStates = dwParam;
if (! DoLineSetStatusMessages(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM2
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_CALLINFO:
for(dwParam = LINECALLINFOSTATE_OTHER; dwParam <= LINECALLINFOSTATE_CALLDATA; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM1
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_CALLSTATE:
for(dwParam = LINECALLSTATE_IDLE; dwParam <= LINECALLSTATE_UNKNOWN; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM1
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_CLOSE:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
dwHandle = 0;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
/*
case ITL_CREATE:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
*/
case ITL_DEVSPECIFIC:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
case ITL_DEVSPECIFICFEATURE:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
case ITL_GATHERDIGITS:
for(dwParam = LINEGATHERTERM_BUFFERFULL; dwParam <= LINEGATHERTERM_CANCEL; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwDigitModes = LINEDIGITMODE_PULSE;
lpTapiLineTestInfo->dwNumDigits = 2;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszTerminationDigits = L"3";
lpTapiLineTestInfo->lpwsDigits = (LPWSTR) AllocFromTestHeap (PULSESIZE * sizeof(WCHAR));
#else
lpTapiLineTestInfo->lpszTerminationDigits = "3";
lpTapiLineTestInfo->lpsDigits = (LPSTR) AllocFromTestHeap (PULSESIZE);
#endif
lpTapiLineTestInfo->dwFirstDigitTimeout = 100;
lpTapiLineTestInfo->dwInterDigitTimeout = 1000;
if (! DoLineGatherDigits(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM1
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_GENERATEDIGIT:
for(dwParam = LINEGENERATETERM_DONE; dwParam <= LINEGENERATETERM_CANCEL; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwDigitMode = LINEDIGITMODE_PULSE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDigits = L"1";
#else
lpTapiLineTestInfo->lpszDigits = "1";
#endif
lpTapiLineTestInfo->dwDuration = 0;
if (! DoLineGenerateDigits(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM1
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_GENERATETONE:
for(dwParam = LINEGENERATETERM_DONE; dwParam <= LINEGENERATETERM_CANCEL; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 1;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwToneMode = LINETONEMODE_BEEP;
lpTapiLineTestInfo->dwDuration = 0;
if (! DoLineGenerateTone(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM1
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_LINEDEVSTATE:
for(dwParam = LINEDEVSTATE_OTHER; dwParam <= LINEDEVSTATE_REMOVED; )
{
if(dwParam != LINEDEVSTATE_REINIT)
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->dwLineStates = dwParam;
lpTapiLineTestInfo->dwAddressStates = LINEADDRESSSTATE_DEVSPECIFIC;
if (! DoLineSetStatusMessages(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM1
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
(INT) dwParam <<= 1;
}
break;
case ITL_MONITORDIGITS:
for(dwParam = LINEDIGITMODE_PULSE; dwParam <= LINEDIGITMODE_DTMFEND; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = dwParam;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwDigitModes = info.u.EspMsg.dwParam2;
if (! DoLineMonitorDigits(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM2
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_MONITORMEDIA:
for(dwParam = LINEMEDIAMODE_UNKNOWN; dwParam <= LINEMEDIAMODE_VOICEVIEW; )
{
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = dwParam;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
// lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwMediaModes = dwParam;
if (! DoLineMonitorMedia(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG | TAPIMSG_DWPARAM2
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
(INT) dwParam <<= 1;
}
break;
case ITL_MONITORTONE:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
lpTapiLineTestInfo->lpsUserUserInfo = NULL;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDeviceClass = wszValidDeviceClass;
#else
lpTapiLineTestInfo->lpszDeviceClass = szValidDeviceClass;
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->lpToneList = (LPLINEMONITORTONE) AllocFromTestHeap(
sizeof(LINEMONITORTONE));
lpTapiLineTestInfo->dwNumEntries = 1;
if (! DoLineMonitorTones(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hCall1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
FreeTestHeap();
break;
/*
case ITL_AGENTSPECIFIC:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
if (! DoLineInitializeEx(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
LINEOPENOPTION_PROXY;
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
sizeof(LINECALLPARAMS) + sizeof(DWORD));
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
sizeof(LINECALLPARAMS) + sizeof(DWORD);
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
sizeof(DWORD);
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
sizeof(LINECALLPARAMS);
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
*lpRequestBuf = LINEPROXYREQUEST_AGENTSPECIFIC;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwLineStates = LINEDEVSTATE_DEVSPECIFIC;
lpTapiLineTestInfo->dwAddressStates = LINEADDRESSSTATE_DEVSPECIFIC;
if (! DoLineSetStatusMessages(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAgentExtensionIDIndex = 1;
lpTapiLineTestInfo->lpParams = (LPVOID) NULL;
lpTapiLineTestInfo->dwSize = 0;
if (! DoLineAgentSpecific(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
FreeTestHeap();
break;
case ITL_AGENTSTATUS:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
if (! DoLineInitializeEx(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
LINEOPENOPTION_PROXY;
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
sizeof(LINECALLPARAMS) + sizeof(DWORD));
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
sizeof(LINECALLPARAMS) + sizeof(DWORD);
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
sizeof(DWORD);
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
sizeof(LINECALLPARAMS);
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
*lpRequestBuf = LINEPROXYREQUEST_GETAGENTSTATUS;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAgentExtensionIDIndex = 1;
lpTapiLineTestInfo->lpParams = (LPVOID) NULL;
lpTapiLineTestInfo->dwSize = 0;
if (! DoLineGetAgentStatus(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpMatch = (LPTAPIMSG) AllocFromTestHeap (sizeof(TAPIMSG));
lpMatch->dwMsg = LINE_PROXYREQUEST;
lpMatch->dwParam1 = 0;
lpMatch->dwParam2 = 0;
lpMatch->dwParam3 = 0;
lpMatch->dwFlags = TAPIMSG_DWMSG;
lret = FindReceivedMsgs(&lpTapiMsg, lpMatch, FALSE);
if(lret == 1)
fTestPassed = TRUE;
else
fTestPassed = FALSE;
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
FreeTestHeap();
break;
*/
case ITL_APPNEWCALL:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
if (! DoLineInitializeEx(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
if (! DoLineNegotiateAPIVersion(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
lpTapiLineTestInfo->dwMediaModes = TAPI_LINEMEDIAMODE_ALL;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = (LPWSTR) AllocFromTestHeap (16*2);
_itow(lpTapiLineTestInfo->dwDeviceID,
lpTapiLineTestInfo->lpwszDestAddress,
10*2);
#else
lpTapiLineTestInfo->lpszDestAddress = (LPSTR) AllocFromTestHeap (16);
_itoa(lpTapiLineTestInfo->dwDeviceID,
lpTapiLineTestInfo->lpszDestAddress,
10);
#endif
lpTapiLineTestInfo->dwCountryCode = 0;
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) NULL;
if(!DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage (LINE_APPNEWCALL, 0, 0, 0, 0, 0, TAPIMSG_DWMSG);
if(!WaitForAllMessages())
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
case ITL_PROXYREQUEST:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
if (! DoLineInitializeEx(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
LINEOPENOPTION_PROXY;
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
sizeof(LINECALLPARAMS) + sizeof(DWORD));
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
sizeof(LINECALLPARAMS) + sizeof(DWORD);
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
sizeof(DWORD);
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
sizeof(LINECALLPARAMS);
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
*lpRequestBuf = LINEPROXYREQUEST_AGENTSPECIFIC;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAgentExtensionIDIndex = 1;
lpTapiLineTestInfo->lpParams = (LPVOID) NULL;
lpTapiLineTestInfo->dwSize = 0;
if (! DoLineAgentSpecific(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
lpMatch = (LPTAPIMSG) AllocFromTestHeap (sizeof(TAPIMSG));
lpMatch->dwMsg = LINE_PROXYREQUEST;
lpMatch->dwParam1 = 0;
lpMatch->dwParam2 = 0;
lpMatch->dwParam3 = 0;
lpMatch->dwFlags = TAPIMSG_DWMSG;
lret = FindReceivedMsgs(&lpTapiMsg, lpMatch, FALSE);
if(lret == 1)
fTestPassed = TRUE;
else
fTestPassed = FALSE;
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
/*
case ITL_REMOVE:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
*/
case ITL_REPLY:
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
lpCallbackParams = GetCallbackParams();
info.u.EspMsg.dwParam1 = 0;
info.u.EspMsg.dwParam2 = 0;
info.u.EspMsg.dwParam3 = 0;
fTestPassed = MsgLineCommFunc(lpTapiLineTestInfo, TRUE);
dwHandle = (DWORD) lpTapiLineTestInfo->hLine1;
lpTapiLineTestInfo->dwAddressID = 0;
lpTapiLineTestInfo->dwSelect = LINECALLSELECT_LINE;
lpTapiLineTestInfo->dwTerminalModes = LINETERMMODE_DISPLAY;
lpTapiLineTestInfo->dwTerminalID = 0;
lpTapiLineTestInfo->bEnable = TRUE;
if (! DoLineSetTerminal(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
/*
AddMessage(
info.u.EspMsg.dwMsg,
(DWORD) dwHandle,
(DWORD) lpCallbackParams,
info.u.EspMsg.dwParam1,
info.u.EspMsg.dwParam2,
info.u.EspMsg.dwParam3,
TAPIMSG_DWMSG
);
lpTapiLineTestInfo->lpParams = (LPVOID)&info;
lpTapiLineTestInfo->dwSize = sizeof(info);
if(! DoLineDevSpecific (lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
*/
if(lpCallbackParams->lpExpTapiMsgs != NULL)
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
break;
}
fTestPassed = ShowTestCase(fTestPassed);
}
FreeTestHeap();
TapiLogDetail(
DBUG_SHOW_PASS,
"@@ line Messages test: Total Test Case = %ld, Passed = %ld, Failed = %ld",
dwTestCase, dwTestCasePassed, dwTestCaseFailed);
TapiLogDetail(
DBUG_SHOW_PASS,
"@@ Total Test Case = %ld, Passed = %ld, Failed = %ld",
dwglTestCase, dwglTestCasePassed, dwglTestCaseFailed);
if(dwTestCaseFailed > 0)
fTestPassed = FALSE;
TapiLogDetail(
DBUG_SHOW_PASS,
">>>>>>>> End testing line messages <<<<<<<<"
);
return fTestPassed;
}
DWORD MsgLineCommFunc(LPTAPILINETESTINFO lpTapiLineTestInfo, BOOL fQuietMode)
{
BOOL fTestPassed = TRUE;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoTapiLineFuncs(
lpTapiLineTestInfo,
LINITIALIZEEX| LNEGOTIATEAPIVERSION | LOPEN
// | LMAKECALL
))
{
TLINE_FAIL();
}
return fTestPassed;
}