Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.16.48.181] |
|
Сообщ.
#1
,
|
|
|
Вот я кам пилю етот код:
#include <stdio.h> #include <windows.h> #include <winbase.h> #include <tapi.h> void InitSeansTapi() { HLINEAPP g_hhLineApp; HLINE g_tline; HANDLE g_tevent; DWORD tapiVer,tStatus; LONG res,lOpen; DWORD lpdwNumDevs,dw_devId; LINEINITIALIZEEXPARAMS lp; LINEMESSAGE lpMessage; tapiVer=TAPI_CURRENT_VERSION; lp.dwTotalSize=sizeof(LPLINEINITIALIZEEXPARAMS); lp.dwOptions=LINEINITIALIZEEXOPTION_USEEVENT; res=lineInitializeEx(&g_hhLineApp,NULL,NULL,"TapiTest",&lpdwNumDevs,&tapiVer,&lp); if(res!=0) { printf("Seans TAPI ne bil initzializirovan\n"); exit(-1); } printf("Seans TAPI bil uspeshno initzializirovan\n"); g_tevent=lp.Handles.hEvent; for(dw_devId=0;dw_devId<=lpdwNumDevs;dw_devId++) { lOpen=lineOpen(g_hhLineApp,dw_devId,&g_tline,tapiVer,0x00000000,1,LINECALLPRIVILEGE_OWNER,LINEMEDIAMODE_INTERACTIVEVOICE,NULL); } if(lOpen!=0) { printf("Lineia ne bila otkrita\n"); exit(-1); } printf("Lineia bila otkrita\n"); tStatus=WaitForSingleObject(g_tevent,INFINITE); if(tStatus==WAIT_OBJECT_0) if(lineGetMessage(g_hhLineApp,&lpMessage,0)!=0) { printf("Soobhsenie ne bilo poluceno\n"); exit(-1); } printf("Soobshenie bilo poluceno\n"); switch(lpMessage.dwMessageID) { case LINE_CALLSTATE: switch(lpMessage.dwParam1) { case LINECALLSTATE_OFFERING: printf("V prilojenie postupil zvonok\n"); break; case LINECALLSTATE_IDLE: printf("Zvanok otsutstvuet\n"); break; } break; } } void main() { InitSeansTapi(); } всё кампилица нармально но при виполнение видаёт Seans TAPI ne bil initzializirovan а в чём ашибка? зарание блогодарин! |
Сообщ.
#2
,
|
|
|
Вы получаете ошибку LINEERR_STRUCTURETOOSMALL
Решение - lp.dwTotalSize=sizeof(LPLINEINITIALIZEEXPARAMS)*6; |