From: chikanok on
Hi.
Tell me which determines the existence of LINEADDRFEATURE_SETUPCONF at
LINEADDRESSCAPS.dwAddressFeatures?
I need to initiate a conference link, but if LINEADDRFEATURE_SETUPCONF is
not in LINEADDRESSCAPS.dwAddressFeatures is not able to do?
From: chikanok on
Code:
#include <windows.h>
#include <tapi.h>

#define DevID 0

HLINEAPP hLine;

void FAR PASCAL lineCallbackFunc(DWORD hDevice,DWORD dwMsg,DWORD
dwCallbackInstance,DWORD dwParam1,DWORD dwParam2, DWORD dwParam3)
{
NKDbgPrintfW(L"lineCallbackFunc( %d , %d , %d , %d , %d , %d
)\n",hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3);
}


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPWSTR
lpCmdLine,int nShowCmd)
{

LINEINITIALIZEEXPARAMS LineInitEx;
ZeroMemory(&LineInitEx,sizeof(LINEINITIALIZEEXPARAMS));
LineInitEx.dwTotalSize=sizeof(LINEINITIALIZEEXPARAMS);
LineInitEx.dwNeededSize=0;
LineInitEx.dwCompletionKey=0;
LineInitEx.dwOptions=LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
LineInitEx.dwUsedSize=0;

DWORD dwNumdevs=0;
DWORD dwApiVers=TAPI_CURRENT_VERSION;

LONG
r=lineInitializeEx(&hLine,hInstance,lineCallbackFunc,NULL,&dwNumdevs,&dwApiVers,&LineInitEx);
LINEEXTENSIONID Ext;
ZeroMemory(&Ext,sizeof(LINEEXTENSIONID));
DWORD dwVer=0;
r=lineNegotiateAPIVersion(hLine,DevID,0x00010000,0x00030000,&dwVer,&Ext);
HLINE hmLine;
r=lineOpen(hLine,DevID,&hmLine,dwVer,NULL,0,LINECALLPRIVILEGE_NONE
,NULL,NULL);
DWORD dwAdrId=0;
NKDbgPrintfW(L"Get adrID...");
r=lineGetAddressID(hmLine,&dwAdrId,LINEADDRESSMODE_DIALABLEADDR
,TEXT("02101794097+"),13);
NKDbgPrintfW(L" result = %d AdrID=%d \n",r,dwAdrId);
LINEADDRESSCAPS adrcaps;
ZeroMemory(&adrcaps,sizeof(LINEADDRESSCAPS));
adrcaps.dwTotalSize=sizeof(LINEADDRESSCAPS);
NKDbgPrintfW(L"GetAdrCaps...");
r=lineGetAddressCaps(hLine,DevID,dwAdrId,dwVer,NULL,&adrcaps);
NKDbgPrintfW(L" res=%d\n",r);
if(adrcaps.dwAddressFeatures & LINEADDRFEATURE_SETUPCONF)
{
NKDbgPrintfW(L"LINEADDRFEATURE_SETUPCONF in dwAddressFeatures\n");
}
if(adrcaps.dwCallFeatures & LINECALLFEATURE_DIAL)
{
NKDbgPrintfW(L"LINECALLFEATURE_DIAL in dwCallFeatures\n");
}
if(adrcaps.dwCallFeatures & LINECALLFEATURE_ADDTOCONF)
{
NKDbgPrintfW(L"LINECALLFEATURE_ADDTOCONF in dwCallFeatures\n");
}
if(adrcaps.dwCallFeatures & LINECALLFEATURE_PREPAREADDCONF)
{
NKDbgPrintfW(L"LINECALLFEATURE_PREPAREADDCONF in dwCallFeatures\n");
}
r=lineClose(hmLine);
r=lineShutdown(hLine);
return 0;
}