Конференция "WinAPI" » Tapi -> CallBackFunction [D7, WinXP]
 
  • kolj (01.04.08 14:58) [0]
    Данный код инициализирует линию и находит модем. Когда идет входной звонок то срабатывает CallBack ф-я, но программа почему-то не может распознать параметр dwMsg, подскажыте пожалуйста в чем может быть проблема.

    procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:cardinal);
    begin
    form1.ListBox1.Items.Add('Callback');
    case dwmsg of
    LINECALLSTATE_OFFERING:
    form1.ListBox1.Items.Add('Call');
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var

    f_hline:hline;
    lineApp:HLINEAPP;
    hCal : HCALL;
    lpDeviceID: PVarString;
    lpszDeviceClass:LPCWSTR;
    lineInit:LINEINITIALIZEEXPARAMS;
    dwNegotiatedTapiVersion:DWORD;
    LineExtension:LINEEXTENSIONID;
    dwAPIVersion:dword;
    ndevs:dword;
    AppName:array[0..20] of char;
    dwExtVersion:Dword;
    lpLineCaps:linedevcaps;
    p:pchar;
    dwTapiDeviceID:Longint;
    dwTapiMediaMode:DWORD;
    err,l,err1,i:longint;

    s:string;
    begin
    dwTapiDeviceID:=-1;
    dwTapiMediaMode:=LINEMEDIAMODE_INTERACTIVEVOICE;
    dwAPIVersion :=$00020000;
    p:=pchar('kolj');
    AppName := 'IP OFFICE Project';
    dwExtVersion := 0;
    ndevs:=0;
    lineapp:=0;

    lineInit.dwCompletionKey:=0;
    lineInit.dwTotalSize := sizeof(LINEINITIALIZEEXPARAMS);
    lineInit.dwOptions :=LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;

    err1 := lineInitializeEx( @lineApp , HInstance , @lineCallBack , AppName ,nDevs , dwAPIVersion, lineInit );

    LineExtension.dwExtensionID0:=0;

    for i:=0 to ndevs do begin
    err1:=lineNegotiateAPIVersion(lineApp,i,dwAPIVersion,dwAPIVersion,dwNegotiatedTa piVersion,LineExtension);
    if err1=0 then begin
    lpLineCaps.dwTotalSize := sizeof(LINEDEVCAPS);
    err1:=lineGetDevCaps(lineapp,i,dwNegotiatedTapiVersion,0,@lpLineCaps);
    if err1= 0 then begin
    if (lplineCaps.dwMediaModes = 30) then begin
    listbox1.Items.Add(' !!!! Device');
    dwTapiDeviceID:=i;
    end;
    end;
    end;
    end;

    err1:=lineopen(lineapp,dwTapiDeviceID,@f_hline,dwAPIVersion,0,0,LINECALLPRIVILEG E_MONITOR +LINECALLPRIVILEGE_OWNER , LINEMEDIAMODE_AUTOMATEDVOICE, nil);
  • Cj © (01.04.08 15:33) [1]
    а stdcall кто ставить будет? бябя федя? тетя мотя?
 
Конференция "WinAPI" » Tapi -> CallBackFunction [D7, WinXP]
Есть новые Нет новых   [134432   +20][b:0][p:0]