Конференция "WinAPI" » Tapi -> lineanswer [D7, WinXP]
 
  • kolj (02.04.08 18:15) [0]
    Возникла следующая проблема : Когда приходит входной звонок немогу поднять трубку, хотя ф-я lineanswer возвращает положытельное значение. В чем может быть причина ???

    Пробовал так
    1)

    procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:dword);stdcall;
    var err:longint;
    begin
    if dwmsg = LINE_APPNEWCALL then begin
     form1.ListBox1.Items.Add('RING');
     err:=lineSetCallPrivilege(dwparam2,LINECALLPRIVILEGE_OWNER );
     form1.listbox1.items.add('lineSetCallPrivilege= '+inttostr(err));
     err:=lineanswer(dwparam2,nil,0);
     form1.listbox1.items.add('lineanswer= '+inttostr(err));
    end;

    2)

    procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:dword);stdcall;
    var err:longint;
    hc:hcall;

    if dwmsg = LINECALLSTATE_OFFERING then begin
     form1.ListBox1.Items.Add('RING1');
     hc:=hcall(hdevice);
     err:=lineSetCallPrivilege(hc,LINECALLPRIVILEGE_OWNER );
     form1.listbox1.items.add('lineSetCallPrivilege= '+inttostr(err));
     err:=lineanswer(hc,P,SIZEOF(P));
     form1.listbox1.items.add('lineanswer= '+inttostr(err));

    В обоих случаях ф-и lineSetCallPrivilege и lineanswer возвращают код успешного завершения (соответственно 0 и >0)

    ф-я lineopen выглядит так и результатом ее выполнения есть 0.

    err1:=lineopen(lineapp,dwTapiDeviceID,@f_hline,dwAPIVersion,0,0,LINECALLPRIVILEG E_MONITOR + LINECALLPRIVILEGE_OWNER  , LINEMEDIAMODE_INTERACTIVEVOICE, nil);
  • kolj (02.04.08 20:05) [1]
    В первом случае lineanswer возвращает  LINEERR_INVALCALLSTATE(The call state is invalid.)
 
Конференция "WinAPI" » Tapi -> lineanswer [D7, WinXP]
Есть новые Нет новых   [134433   +21][b:0][p:0]