tapi.inc 75 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2007 Free Pascal development team.
  4. See the file COPYING.FPC, included in this distribution,
  5. for details about the copyright.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. **********************************************************************}
  10. { Declarations for tapi WinCE API, note than on WinCE tapi functions originally
  11. based in coredll.dll
  12. }
  13. { this port based on Windows Mobile 5 Smartphone Edition SDK
  14. contact S0vNark0m for more information [email protected] (en, ru)
  15. }
  16. {$ifdef read_interface}
  17. //*****************************************************************************
  18. // consts
  19. //*****************************************************************************
  20. const
  21. TAPI_CURRENT_VERSION = $00020000;
  22. { Messages for Phones and Lines }
  23. LINE_ADDRESSSTATE = 0;
  24. LINE_CALLINFO = 1;
  25. LINE_CALLSTATE = 2;
  26. LINE_CLOSE = 3;
  27. LINE_DEVSPECIFIC = 4;
  28. LINE_DEVSPECIFICFEATURE = 5;
  29. LINE_GATHERDIGITS = 6;
  30. LINE_GENERATE = 7;
  31. LINE_LINEDEVSTATE = 8;
  32. LINE_MONITORDIGITS = 9;
  33. LINE_MONITORMEDIA = 10;
  34. LINE_MONITORTONE = 11;
  35. LINE_REPLY = 12;
  36. LINE_REQUEST = 13;
  37. PHONE_BUTTON = 14;
  38. PHONE_CLOSE = 15;
  39. PHONE_DEVSPECIFIC = 16;
  40. PHONE_REPLY = 17;
  41. PHONE_STATE = 18;
  42. LINE_CREATE = 19; { TAPI v1.4 }
  43. PHONE_CREATE = 20; { TAPI v1.4 }
  44. LINE_AGENTSPECIFIC = 21; { TAPI v2.0 }
  45. LINE_AGENTSTATUS = 22; { TAPI v2.0 }
  46. LINE_APPNEWCALL = 23; { TAPI v2.0 }
  47. LINE_PROXYREQUEST = 24; { TAPI v2.0 }
  48. LINE_REMOVE = 25; { TAPI v2.0 }
  49. PHONE_REMOVE = 26; { TAPI v2.0 }
  50. INITIALIZE_NEGOTIATION = $FFFFFFFF;
  51. LINEADDRCAPFLAGS_FWDNUMRINGS = $00000001;
  52. LINEADDRCAPFLAGS_PICKUPGROUPID = $00000002;
  53. LINEADDRCAPFLAGS_SECURE = $00000004;
  54. LINEADDRCAPFLAGS_BLOCKIDDEFAULT = $00000008;
  55. LINEADDRCAPFLAGS_BLOCKIDOVERRIDE = $00000010;
  56. LINEADDRCAPFLAGS_DIALED = $00000020;
  57. LINEADDRCAPFLAGS_ORIGOFFHOOK = $00000040;
  58. LINEADDRCAPFLAGS_DESTOFFHOOK = $00000080;
  59. LINEADDRCAPFLAGS_FWDCONSULT = $00000100;
  60. LINEADDRCAPFLAGS_SETUPCONFNULL = $00000200;
  61. LINEADDRCAPFLAGS_AUTORECONNECT = $00000400;
  62. LINEADDRCAPFLAGS_COMPLETIONID = $00000800;
  63. LINEADDRCAPFLAGS_TRANSFERHELD = $00001000;
  64. LINEADDRCAPFLAGS_TRANSFERMAKE = $00002000;
  65. LINEADDRCAPFLAGS_CONFERENCEHELD = $00004000;
  66. LINEADDRCAPFLAGS_CONFERENCEMAKE = $00008000;
  67. LINEADDRCAPFLAGS_PARTIALDIAL = $00010000;
  68. LINEADDRCAPFLAGS_FWDSTATUSVALID = $00020000;
  69. LINEADDRCAPFLAGS_FWDINTEXTADDR = $00040000;
  70. LINEADDRCAPFLAGS_FWDBUSYNAADDR = $00080000;
  71. LINEADDRCAPFLAGS_ACCEPTTOALERT = $00100000;
  72. LINEADDRCAPFLAGS_CONFDROP = $00200000;
  73. LINEADDRCAPFLAGS_PICKUPCALLWAIT = $00400000;
  74. LINEADDRCAPFLAGS_PREDICTIVEDIALER = $00800000; { TAPI v2.0 }
  75. LINEADDRCAPFLAGS_QUEUE = $01000000; { TAPI v2.0 }
  76. LINEADDRCAPFLAGS_ROUTEPOINT = $02000000; { TAPI v2.0 }
  77. LINEADDRCAPFLAGS_HOLDMAKESNEW = $04000000; { TAPI v2.0 }
  78. LINEADDRCAPFLAGS_NOINTERNALCALLS = $08000000; { TAPI v2.0 }
  79. LINEADDRCAPFLAGS_NOEXTERNALCALLS = $10000000; { TAPI v2.0 }
  80. LINEADDRCAPFLAGS_SETCALLINGID = $20000000; { TAPI v2.0 }
  81. LINEADDRESSMODE_ADDRESSID = $00000001;
  82. LINEADDRESSMODE_DIALABLEADDR = $00000002;
  83. LINEADDRESSSHARING_PRIVATE = $00000001;
  84. LINEADDRESSSHARING_BRIDGEDEXCL = $00000002;
  85. LINEADDRESSSHARING_BRIDGEDNEW = $00000004;
  86. LINEADDRESSSHARING_BRIDGEDSHARED = $00000008;
  87. LINEADDRESSSHARING_MONITORED = $00000010;
  88. LINEADDRESSSTATE_OTHER = $00000001;
  89. LINEADDRESSSTATE_DEVSPECIFIC = $00000002;
  90. LINEADDRESSSTATE_INUSEZERO = $00000004;
  91. LINEADDRESSSTATE_INUSEONE = $00000008;
  92. LINEADDRESSSTATE_INUSEMANY = $00000010;
  93. LINEADDRESSSTATE_NUMCALLS = $00000020;
  94. LINEADDRESSSTATE_FORWARD = $00000040;
  95. LINEADDRESSSTATE_TERMINALS = $00000080;
  96. LINEADDRESSSTATE_CAPSCHANGE = $00000100; { TAPI v1.4 }
  97. LINEADDRESSTYPE_PHONENUMBER = $00000001;
  98. LINEADDRESSTYPE_SDP = $00000002;
  99. LINEADDRESSTYPE_EMAILNAME = $00000004;
  100. LINEADDRESSTYPE_DOMAINNAME = $00000008;
  101. LINEADDRESSTYPE_IPADDRESS = $00000010;
  102. LINEADDRFEATURE_FORWARD = $00000001;
  103. LINEADDRFEATURE_MAKECALL = $00000002;
  104. LINEADDRFEATURE_PICKUP = $00000004;
  105. LINEADDRFEATURE_SETMEDIACONTROL = $00000008;
  106. LINEADDRFEATURE_SETTERMINAL = $00000010;
  107. LINEADDRFEATURE_SETUPCONF = $00000020;
  108. LINEADDRFEATURE_UNCOMPLETECALL = $00000040;
  109. LINEADDRFEATURE_UNPARK = $00000080;
  110. LINEADDRFEATURE_PICKUPHELD = $00000100; { TAPI v2.0 }
  111. LINEADDRFEATURE_PICKUPGROUP = $00000200; { TAPI v2.0 }
  112. LINEADDRFEATURE_PICKUPDIRECT = $00000400; { TAPI v2.0 }
  113. LINEADDRFEATURE_PICKUPWAITING = $00000800; { TAPI v2.0 }
  114. LINEADDRFEATURE_FORWARDFWD = $00001000; { TAPI v2.0 }
  115. LINEADDRFEATURE_FORWARDDND = $00002000; { TAPI v2.0 }
  116. LINEAGENTFEATURE_SETAGENTGROUP = $00000001; { TAPI v2.0 }
  117. LINEAGENTFEATURE_SETAGENTSTATE = $00000002; { TAPI v2.0 }
  118. LINEAGENTFEATURE_SETAGENTACTIVITY = $00000004; { TAPI v2.0 }
  119. LINEAGENTFEATURE_AGENTSPECIFIC = $00000008; { TAPI v2.0 }
  120. LINEAGENTFEATURE_GETAGENTACTIVITYLIST = $00000010; { TAPI v2.0 }
  121. LINEAGENTFEATURE_GETAGENTGROUP = $00000020; { TAPI v2.0 }
  122. LINEAGENTSTATE_LOGGEDOFF = $00000001; { TAPI v2.0 }
  123. LINEAGENTSTATE_NOTREADY = $00000002; { TAPI v2.0 }
  124. LINEAGENTSTATE_READY = $00000004; { TAPI v2.0 }
  125. LINEAGENTSTATE_BUSYACD = $00000008; { TAPI v2.0 }
  126. LINEAGENTSTATE_BUSYINCOMING = $00000010; { TAPI v2.0 }
  127. LINEAGENTSTATE_BUSYOUTBOUND = $00000020; { TAPI v2.0 }
  128. LINEAGENTSTATE_BUSYOTHER = $00000040; { TAPI v2.0 }
  129. LINEAGENTSTATE_WORKINGAFTERCALL = $00000080; { TAPI v2.0 }
  130. LINEAGENTSTATE_UNKNOWN = $00000100; { TAPI v2.0 }
  131. LINEAGENTSTATE_UNAVAIL = $00000200; { TAPI v2.0 }
  132. LINEAGENTSTATUS_GROUP = $00000001; { TAPI v2.0 }
  133. LINEAGENTSTATUS_STATE = $00000002; { TAPI v2.0 }
  134. LINEAGENTSTATUS_NEXTSTATE = $00000004; { TAPI v2.0 }
  135. LINEAGENTSTATUS_ACTIVITY = $00000008; { TAPI v2.0 }
  136. LINEAGENTSTATUS_ACTIVITYLIST = $00000010; { TAPI v2.0 }
  137. LINEAGENTSTATUS_GROUPLIST = $00000020; { TAPI v2.0 }
  138. LINEAGENTSTATUS_CAPSCHANGE = $00000040; { TAPI v2.0 }
  139. LINEAGENTSTATUS_VALIDSTATES = $00000080; { TAPI v2.0 }
  140. LINEAGENTSTATUS_VALIDNEXTSTATES = $00000100; { TAPI v2.0 }
  141. LINEANSWERMODE_NONE = $00000001;
  142. LINEANSWERMODE_DROP = $00000002;
  143. LINEANSWERMODE_HOLD = $00000004;
  144. LINEBEARERMODE_VOICE = $00000001;
  145. LINEBEARERMODE_SPEECH = $00000002;
  146. LINEBEARERMODE_MULTIUSE = $00000004;
  147. LINEBEARERMODE_DATA = $00000008;
  148. LINEBEARERMODE_ALTSPEECHDATA = $00000010;
  149. LINEBEARERMODE_NONCALLSIGNALING = $00000020;
  150. LINEBEARERMODE_PASSTHROUGH = $00000040; { TAPI v1.4 }
  151. LINEBEARERMODE_RESTRICTEDDATA = $00000080; { TAPI v2.0 }
  152. LINEBUSYMODE_STATION = $00000001;
  153. LINEBUSYMODE_TRUNK = $00000002;
  154. LINEBUSYMODE_UNKNOWN = $00000004;
  155. LINEBUSYMODE_UNAVAIL = $00000008;
  156. LINECALLCOMPLCOND_BUSY = $00000001;
  157. LINECALLCOMPLCOND_NOANSWER = $00000002;
  158. LINECALLCOMPLMODE_CAMPON = $00000001;
  159. LINECALLCOMPLMODE_CALLBACK = $00000002;
  160. LINECALLCOMPLMODE_INTRUDE = $00000004;
  161. LINECALLCOMPLMODE_MESSAGE = $00000008;
  162. LINECALLFEATURE_ACCEPT = $00000001;
  163. LINECALLFEATURE_ADDTOCONF = $00000002;
  164. LINECALLFEATURE_ANSWER = $00000004;
  165. LINECALLFEATURE_BLINDTRANSFER = $00000008;
  166. LINECALLFEATURE_COMPLETECALL = $00000010;
  167. LINECALLFEATURE_COMPLETETRANSF = $00000020;
  168. LINECALLFEATURE_DIAL = $00000040;
  169. LINECALLFEATURE_DROP = $00000080;
  170. LINECALLFEATURE_GATHERDIGITS = $00000100;
  171. LINECALLFEATURE_GENERATEDIGITS = $00000200;
  172. LINECALLFEATURE_GENERATETONE = $00000400;
  173. LINECALLFEATURE_HOLD = $00000800;
  174. LINECALLFEATURE_MONITORDIGITS = $00001000;
  175. LINECALLFEATURE_MONITORMEDIA = $00002000;
  176. LINECALLFEATURE_MONITORTONES = $00004000;
  177. LINECALLFEATURE_PARK = $00008000;
  178. LINECALLFEATURE_PREPAREADDCONF = $00010000;
  179. LINECALLFEATURE_REDIRECT = $00020000;
  180. LINECALLFEATURE_REMOVEFROMCONF = $00040000;
  181. LINECALLFEATURE_SECURECALL = $00080000;
  182. LINECALLFEATURE_SENDUSERUSER = $00100000;
  183. LINECALLFEATURE_SETCALLPARAMS = $00200000;
  184. LINECALLFEATURE_SETMEDIACONTROL = $00400000;
  185. LINECALLFEATURE_SETTERMINAL = $00800000;
  186. LINECALLFEATURE_SETUPCONF = $01000000;
  187. LINECALLFEATURE_SETUPTRANSFER = $02000000;
  188. LINECALLFEATURE_SWAPHOLD = $04000000;
  189. LINECALLFEATURE_UNHOLD = $08000000;
  190. LINECALLFEATURE_RELEASEUSERUSERINFO = $10000000; { TAPI v1.4 }
  191. LINECALLFEATURE_SETTREATMENT = $20000000; { TAPI v2.0 }
  192. LINECALLFEATURE_SETQOS = $40000000; { TAPI v2.0 }
  193. LINECALLFEATURE_SETCALLDATA = $80000000; { TAPI v2.0 }
  194. LINECALLFEATURE2_NOHOLDCONFERENCE = $00000001; { TAPI v2.0 }
  195. LINECALLFEATURE2_ONESTEPTRANSFER = $00000002; { TAPI v2.0 }
  196. LINECALLFEATURE2_COMPLCAMPON = $00000004; { TAPI v2.0 }
  197. LINECALLFEATURE2_COMPLCALLBACK = $00000008; { TAPI v2.0 }
  198. LINECALLFEATURE2_COMPLINTRUDE = $00000010; { TAPI v2.0 }
  199. LINECALLFEATURE2_COMPLMESSAGE = $00000020; { TAPI v2.0 }
  200. LINECALLFEATURE2_TRANSFERNORM = $00000040; { TAPI v2.0 }
  201. LINECALLFEATURE2_TRANSFERCONF = $00000080; { TAPI v2.0 }
  202. LINECALLFEATURE2_PARKDIRECT = $00000100; { TAPI v2.0 }
  203. LINECALLFEATURE2_PARKNONDIRECT = $00000200; { TAPI v2.0 }
  204. LINECALLINFOSTATE_OTHER = $00000001;
  205. LINECALLINFOSTATE_DEVSPECIFIC = $00000002;
  206. LINECALLINFOSTATE_BEARERMODE = $00000004;
  207. LINECALLINFOSTATE_RATE = $00000008;
  208. LINECALLINFOSTATE_MEDIAMODE = $00000010;
  209. LINECALLINFOSTATE_APPSPECIFIC = $00000020;
  210. LINECALLINFOSTATE_CALLID = $00000040;
  211. LINECALLINFOSTATE_RELATEDCALLID = $00000080;
  212. LINECALLINFOSTATE_ORIGIN = $00000100;
  213. LINECALLINFOSTATE_REASON = $00000200;
  214. LINECALLINFOSTATE_COMPLETIONID = $00000400;
  215. LINECALLINFOSTATE_NUMOWNERINCR = $00000800;
  216. LINECALLINFOSTATE_NUMOWNERDECR = $00001000;
  217. LINECALLINFOSTATE_NUMMONITORS = $00002000;
  218. LINECALLINFOSTATE_TRUNK = $00004000;
  219. LINECALLINFOSTATE_CALLERID = $00008000;
  220. LINECALLINFOSTATE_CALLEDID = $00010000;
  221. LINECALLINFOSTATE_CONNECTEDID = $00020000;
  222. LINECALLINFOSTATE_REDIRECTIONID = $00040000;
  223. LINECALLINFOSTATE_REDIRECTINGID = $00080000;
  224. LINECALLINFOSTATE_DISPLAY = $00100000;
  225. LINECALLINFOSTATE_USERUSERINFO = $00200000;
  226. LINECALLINFOSTATE_HIGHLEVELCOMP = $00400000;
  227. LINECALLINFOSTATE_LOWLEVELCOMP = $00800000;
  228. LINECALLINFOSTATE_CHARGINGINFO = $01000000;
  229. LINECALLINFOSTATE_TERMINAL = $02000000;
  230. LINECALLINFOSTATE_DIALPARAMS = $04000000;
  231. LINECALLINFOSTATE_MONITORMODES = $08000000;
  232. LINECALLINFOSTATE_TREATMENT = $10000000; { TAPI v2.0 }
  233. LINECALLINFOSTATE_QOS = $20000000; { TAPI v2.0 }
  234. LINECALLINFOSTATE_CALLDATA = $40000000; { TAPI v2.0 }
  235. LINECALLORIGIN_OUTBOUND = $00000001;
  236. LINECALLORIGIN_INTERNAL = $00000002;
  237. LINECALLORIGIN_EXTERNAL = $00000004;
  238. LINECALLORIGIN_UNKNOWN = $00000010;
  239. LINECALLORIGIN_UNAVAIL = $00000020;
  240. LINECALLORIGIN_CONFERENCE = $00000040;
  241. LINECALLORIGIN_INBOUND = $00000080; { TAPI v1.4 }
  242. LINECALLPARAMFLAGS_SECURE = $00000001;
  243. LINECALLPARAMFLAGS_IDLE = $00000002;
  244. LINECALLPARAMFLAGS_BLOCKID = $00000004;
  245. LINECALLPARAMFLAGS_ORIGOFFHOOK = $00000008;
  246. LINECALLPARAMFLAGS_DESTOFFHOOK = $00000010;
  247. LINECALLPARAMFLAGS_NOHOLDCONFERENCE = $00000020; { TAPI v2.0 }
  248. LINECALLPARAMFLAGS_PREDICTIVEDIAL = $00000040; { TAPI v2.0 }
  249. LINECALLPARAMFLAGS_ONESTEPTRANSFER = $00000080; { TAPI v2.0 }
  250. LINECALLPARTYID_BLOCKED = $00000001;
  251. LINECALLPARTYID_OUTOFAREA = $00000002;
  252. LINECALLPARTYID_NAME = $00000004;
  253. LINECALLPARTYID_ADDRESS = $00000008;
  254. LINECALLPARTYID_PARTIAL = $00000010;
  255. LINECALLPARTYID_UNKNOWN = $00000020;
  256. LINECALLPARTYID_UNAVAIL = $00000040;
  257. LINECALLPRIVILEGE_NONE = $00000001;
  258. LINECALLPRIVILEGE_MONITOR = $00000002;
  259. LINECALLPRIVILEGE_OWNER = $00000004;
  260. LINECALLREASON_DIRECT = $00000001;
  261. LINECALLREASON_FWDBUSY = $00000002;
  262. LINECALLREASON_FWDNOANSWER = $00000004;
  263. LINECALLREASON_FWDUNCOND = $00000008;
  264. LINECALLREASON_PICKUP = $00000010;
  265. LINECALLREASON_UNPARK = $00000020;
  266. LINECALLREASON_REDIRECT = $00000040;
  267. LINECALLREASON_CALLCOMPLETION = $00000080;
  268. LINECALLREASON_TRANSFER = $00000100;
  269. LINECALLREASON_REMINDER = $00000200;
  270. LINECALLREASON_UNKNOWN = $00000400;
  271. LINECALLREASON_UNAVAIL = $00000800;
  272. LINECALLREASON_INTRUDE = $00001000; { TAPI v1.4 }
  273. LINECALLREASON_PARKED = $00002000; { TAPI v1.4 }
  274. LINECALLREASON_CAMPEDON = $00004000; { TAPI v2.0 }
  275. LINECALLREASON_ROUTEREQUEST = $00008000; { TAPI v2.0 }
  276. LINECALLSELECT_LINE = $00000001;
  277. LINECALLSELECT_ADDRESS = $00000002;
  278. LINECALLSELECT_CALL = $00000004;
  279. LINECALLSELECT_DEVICEID = $00000008; { TAPI v2.1 }
  280. LINECALLSELECT_CALLID = $00000010; { TAPI v3.0 }
  281. LINECALLSTATE_IDLE = $00000001;
  282. LINECALLSTATE_OFFERING = $00000002;
  283. LINECALLSTATE_ACCEPTED = $00000004;
  284. LINECALLSTATE_DIALTONE = $00000008;
  285. LINECALLSTATE_DIALING = $00000010;
  286. LINECALLSTATE_RINGBACK = $00000020;
  287. LINECALLSTATE_BUSY = $00000040;
  288. LINECALLSTATE_SPECIALINFO = $00000080;
  289. LINECALLSTATE_CONNECTED = $00000100;
  290. LINECALLSTATE_PROCEEDING = $00000200;
  291. LINECALLSTATE_ONHOLD = $00000400;
  292. LINECALLSTATE_CONFERENCED = $00000800;
  293. LINECALLSTATE_ONHOLDPENDCONF = $00001000;
  294. LINECALLSTATE_ONHOLDPENDTRANSFER = $00002000;
  295. LINECALLSTATE_DISCONNECTED = $00004000;
  296. LINECALLSTATE_UNKNOWN = $00008000;
  297. LINECALLTREATMENT_SILENCE = $00000001; { TAPI v2.0 }
  298. LINECALLTREATMENT_RINGBACK = $00000002; { TAPI v2.0 }
  299. LINECALLTREATMENT_BUSY = $00000003; { TAPI v2.0 }
  300. LINECALLTREATMENT_MUSIC = $00000004; { TAPI v2.0 }
  301. LINECARDOPTION_PREDEFINED = $00000001; { TAPI v1.4 }
  302. LINECARDOPTION_HIDDEN = $00000002; { TAPI v1.4 }
  303. LINECONNECTEDMODE_ACTIVE = $00000001; { TAPI v1.4 }
  304. LINECONNECTEDMODE_INACTIVE = $00000002; { TAPI v1.4 }
  305. LINECONNECTEDMODE_ACTIVEHELD = $00000004; { TAPI v2.0 }
  306. LINECONNECTEDMODE_INACTIVEHELD = $00000008; { TAPI v2.0 }
  307. LINECONNECTEDMODE_CONFIRMED = $00000010; { TAPI v2.0 }
  308. LINEDEVCAPFLAGS_CROSSADDRCONF = $00000001;
  309. LINEDEVCAPFLAGS_HIGHLEVCOMP = $00000002;
  310. LINEDEVCAPFLAGS_LOWLEVCOMP = $00000004;
  311. LINEDEVCAPFLAGS_MEDIACONTROL = $00000008;
  312. LINEDEVCAPFLAGS_MULTIPLEADDR = $00000010;
  313. LINEDEVCAPFLAGS_CLOSEDROP = $00000020;
  314. LINEDEVCAPFLAGS_DIALBILLING = $00000040;
  315. LINEDEVCAPFLAGS_DIALQUIET = $00000080;
  316. LINEDEVCAPFLAGS_DIALDIALTONE = $00000100;
  317. LINEDEVCAPFLAGS_MSP = $00000200; { TAPI v3.0 }
  318. LINEDEVCAPFLAGS_CALLHUB = $00000400; { TAPI v3.0 }
  319. LINEDEVCAPFLAGS_CALLHUBTRACKING = $00000800; { TAPI v3.0 }
  320. LINEDEVCAPFLAGS_PRIVATEOBJECTS = $00001000; { TAPI v3.0 }
  321. LINEDEVSTATE_OTHER = $00000001;
  322. LINEDEVSTATE_RINGING = $00000002;
  323. LINEDEVSTATE_CONNECTED = $00000004;
  324. LINEDEVSTATE_DISCONNECTED = $00000008;
  325. LINEDEVSTATE_MSGWAITON = $00000010;
  326. LINEDEVSTATE_MSGWAITOFF = $00000020;
  327. LINEDEVSTATE_INSERVICE = $00000040;
  328. LINEDEVSTATE_OUTOFSERVICE = $00000080;
  329. LINEDEVSTATE_MAINTENANCE = $00000100;
  330. LINEDEVSTATE_OPEN = $00000200;
  331. LINEDEVSTATE_CLOSE = $00000400;
  332. LINEDEVSTATE_NUMCALLS = $00000800;
  333. LINEDEVSTATE_NUMCOMPLETIONS = $00001000;
  334. LINEDEVSTATE_TERMINALS = $00002000;
  335. LINEDEVSTATE_ROAMMODE = $00004000;
  336. LINEDEVSTATE_BATTERY = $00008000;
  337. LINEDEVSTATE_SIGNAL = $00010000;
  338. LINEDEVSTATE_DEVSPECIFIC = $00020000;
  339. LINEDEVSTATE_REINIT = $00040000;
  340. LINEDEVSTATE_LOCK = $00080000;
  341. LINEDEVSTATE_CAPSCHANGE = $00100000; { TAPI v1.4 }
  342. LINEDEVSTATE_CONFIGCHANGE = $00200000; { TAPI v1.4 }
  343. LINEDEVSTATE_TRANSLATECHANGE = $00400000; { TAPI v1.4 }
  344. LINEDEVSTATE_COMPLCANCEL = $00800000; { TAPI v1.4 }
  345. LINEDEVSTATE_REMOVED = $01000000; { TAPI v1.4 }
  346. LINEDEVSTATUSFLAGS_CONNECTED = $00000001;
  347. LINEDEVSTATUSFLAGS_MSGWAIT = $00000002;
  348. LINEDEVSTATUSFLAGS_INSERVICE = $00000004;
  349. LINEDEVSTATUSFLAGS_LOCKED = $00000008;
  350. LINEDIALTONEMODE_NORMAL = $00000001;
  351. LINEDIALTONEMODE_SPECIAL = $00000002;
  352. LINEDIALTONEMODE_INTERNAL = $00000004;
  353. LINEDIALTONEMODE_EXTERNAL = $00000008;
  354. LINEDIALTONEMODE_UNKNOWN = $00000010;
  355. LINEDIALTONEMODE_UNAVAIL = $00000020;
  356. LINEDIGITMODE_PULSE = $00000001;
  357. LINEDIGITMODE_DTMF = $00000002;
  358. LINEDIGITMODE_DTMFEND = $00000004;
  359. LINEDISCONNECTMODE_NORMAL = $00000001;
  360. LINEDISCONNECTMODE_UNKNOWN = $00000002;
  361. LINEDISCONNECTMODE_REJECT = $00000004;
  362. LINEDISCONNECTMODE_PICKUP = $00000008;
  363. LINEDISCONNECTMODE_FORWARDED = $00000010;
  364. LINEDISCONNECTMODE_BUSY = $00000020;
  365. LINEDISCONNECTMODE_NOANSWER = $00000040;
  366. LINEDISCONNECTMODE_BADADDRESS = $00000080;
  367. LINEDISCONNECTMODE_UNREACHABLE = $00000100;
  368. LINEDISCONNECTMODE_CONGESTION = $00000200;
  369. LINEDISCONNECTMODE_INCOMPATIBLE = $00000400;
  370. LINEDISCONNECTMODE_UNAVAIL = $00000800;
  371. LINEDISCONNECTMODE_NODIALTONE = $00001000; { TAPI v1.4 }
  372. LINEDISCONNECTMODE_NUMBERCHANGED = $00002000; { TAPI v2.0 }
  373. LINEDISCONNECTMODE_OUTOFORDER = $00004000; { TAPI v2.0 }
  374. LINEDISCONNECTMODE_TEMPFAILURE = $00008000; { TAPI v2.0 }
  375. LINEDISCONNECTMODE_QOSUNAVAIL = $00010000; { TAPI v2.0 }
  376. LINEDISCONNECTMODE_BLOCKED = $00020000; { TAPI v2.0 }
  377. LINEDISCONNECTMODE_DONOTDISTURB = $00040000; { TAPI v2.0 }
  378. LINEDISCONNECTMODE_CANCELLED = $00080000; { TAPI v2.0 }
  379. LINEERR_ALLOCATED = $80000001;
  380. LINEERR_BADDEVICEID = $80000002;
  381. LINEERR_BEARERMODEUNAVAIL = $80000003;
  382. LINEERR_CALLUNAVAIL = $80000005;
  383. LINEERR_COMPLETIONOVERRUN = $80000006;
  384. LINEERR_CONFERENCEFULL = $80000007;
  385. LINEERR_DIALBILLING = $80000008;
  386. LINEERR_DIALDIALTONE = $80000009;
  387. LINEERR_DIALPROMPT = $8000000A;
  388. LINEERR_DIALQUIET = $8000000B;
  389. LINEERR_INCOMPATIBLEAPIVERSION = $8000000C;
  390. LINEERR_INCOMPATIBLEEXTVERSION = $8000000D;
  391. LINEERR_INIFILECORRUPT = $8000000E;
  392. LINEERR_INUSE = $8000000F;
  393. LINEERR_INVALADDRESS = $80000010;
  394. LINEERR_INVALADDRESSID = $80000011;
  395. LINEERR_INVALADDRESSMODE = $80000012;
  396. LINEERR_INVALADDRESSSTATE = $80000013;
  397. LINEERR_INVALAPPHANDLE = $80000014;
  398. LINEERR_INVALAPPNAME = $80000015;
  399. LINEERR_INVALBEARERMODE = $80000016;
  400. LINEERR_INVALCALLCOMPLMODE = $80000017;
  401. LINEERR_INVALCALLHANDLE = $80000018;
  402. LINEERR_INVALCALLPARAMS = $80000019;
  403. LINEERR_INVALCALLPRIVILEGE = $8000001A;
  404. LINEERR_INVALCALLSELECT = $8000001B;
  405. LINEERR_INVALCALLSTATE = $8000001C;
  406. LINEERR_INVALCALLSTATELIST = $8000001D;
  407. LINEERR_INVALCARD = $8000001E;
  408. LINEERR_INVALCOMPLETIONID = $8000001F;
  409. LINEERR_INVALCONFCALLHANDLE = $80000020;
  410. LINEERR_INVALCONSULTCALLHANDLE = $80000021;
  411. LINEERR_INVALCOUNTRYCODE = $80000022;
  412. LINEERR_INVALDEVICECLASS = $80000023;
  413. LINEERR_INVALDEVICEHANDLE = $80000024;
  414. LINEERR_INVALDIALPARAMS = $80000025;
  415. LINEERR_INVALDIGITLIST = $80000026;
  416. LINEERR_INVALDIGITMODE = $80000027;
  417. LINEERR_INVALDIGITS = $80000028;
  418. LINEERR_INVALEXTVERSION = $80000029;
  419. LINEERR_INVALGROUPID = $8000002A;
  420. LINEERR_INVALLINEHANDLE = $8000002B;
  421. LINEERR_INVALLINESTATE = $8000002C;
  422. LINEERR_INVALLOCATION = $8000002D;
  423. LINEERR_INVALMEDIALIST = $8000002E;
  424. LINEERR_INVALMEDIAMODE = $8000002F;
  425. LINEERR_INVALMESSAGEID = $80000030;
  426. LINEERR_INVALPARAM = $80000032;
  427. LINEERR_INVALPARKID = $80000033;
  428. LINEERR_INVALPARKMODE = $80000034;
  429. LINEERR_INVALPOINTER = $80000035;
  430. LINEERR_INVALPRIVSELECT = $80000036;
  431. LINEERR_INVALRATE = $80000037;
  432. LINEERR_INVALREQUESTMODE = $80000038;
  433. LINEERR_INVALTERMINALID = $80000039;
  434. LINEERR_INVALTERMINALMODE = $8000003A;
  435. LINEERR_INVALTIMEOUT = $8000003B;
  436. LINEERR_INVALTONE = $8000003C;
  437. LINEERR_INVALTONELIST = $8000003D;
  438. LINEERR_INVALTONEMODE = $8000003E;
  439. LINEERR_INVALTRANSFERMODE = $8000003F;
  440. LINEERR_LINEMAPPERFAILED = $80000040;
  441. LINEERR_NOCONFERENCE = $80000041;
  442. LINEERR_NODEVICE = $80000042;
  443. LINEERR_NODRIVER = $80000043;
  444. LINEERR_NOMEM = $80000044;
  445. LINEERR_NOREQUEST = $80000045;
  446. LINEERR_NOTOWNER = $80000046;
  447. LINEERR_NOTREGISTERED = $80000047;
  448. LINEERR_OPERATIONFAILED = $80000048;
  449. LINEERR_OPERATIONUNAVAIL = $80000049;
  450. LINEERR_RATEUNAVAIL = $8000004A;
  451. LINEERR_RESOURCEUNAVAIL = $8000004B;
  452. LINEERR_REQUESTOVERRUN = $8000004C;
  453. LINEERR_STRUCTURETOOSMALL = $8000004D;
  454. LINEERR_TARGETNOTFOUND = $8000004E;
  455. LINEERR_TARGETSELF = $8000004F;
  456. LINEERR_UNINITIALIZED = $80000050;
  457. LINEERR_USERUSERINFOTOOBIG = $80000051;
  458. LINEERR_REINIT = $80000052;
  459. LINEERR_ADDRESSBLOCKED = $80000053;
  460. LINEERR_BILLINGREJECTED = $80000054;
  461. LINEERR_INVALFEATURE = $80000055;
  462. LINEERR_NOMULTIPLEINSTANCE = $80000056;
  463. LINEERR_INVALAGENTID = $80000057; { TAPI v2.0 }
  464. LINEERR_INVALAGENTGROUP = $80000058; { TAPI v2.0 }
  465. LINEERR_INVALPASSWORD = $80000059; { TAPI v2.0 }
  466. LINEERR_INVALAGENTSTATE = $8000005A; { TAPI v2.0 }
  467. LINEERR_INVALAGENTACTIVITY = $8000005B; { TAPI v2.0 }
  468. LINEERR_DIALVOICEDETECT = $8000005C; { TAPI v2.0 }
  469. LINEFEATURE_DEVSPECIFIC = $00000001;
  470. LINEFEATURE_DEVSPECIFICFEAT = $00000002;
  471. LINEFEATURE_FORWARD = $00000004;
  472. LINEFEATURE_MAKECALL = $00000008;
  473. LINEFEATURE_SETMEDIACONTROL = $00000010;
  474. LINEFEATURE_SETTERMINAL = $00000020;
  475. LINEFEATURE_SETDEVSTATUS = $00000040; { TAPI v2.0 }
  476. LINEFEATURE_FORWARDFWD = $00000080; { TAPI v2.0 }
  477. LINEFEATURE_FORWARDDND = $00000100; { TAPI v2.0 }
  478. LINEFORWARDMODE_UNCOND = $00000001;
  479. LINEFORWARDMODE_UNCONDINTERNAL = $00000002;
  480. LINEFORWARDMODE_UNCONDEXTERNAL = $00000004;
  481. LINEFORWARDMODE_UNCONDSPECIFIC = $00000008;
  482. LINEFORWARDMODE_BUSY = $00000010;
  483. LINEFORWARDMODE_BUSYINTERNAL = $00000020;
  484. LINEFORWARDMODE_BUSYEXTERNAL = $00000040;
  485. LINEFORWARDMODE_BUSYSPECIFIC = $00000080;
  486. LINEFORWARDMODE_NOANSW = $00000100;
  487. LINEFORWARDMODE_NOANSWINTERNAL = $00000200;
  488. LINEFORWARDMODE_NOANSWEXTERNAL = $00000400;
  489. LINEFORWARDMODE_NOANSWSPECIFIC = $00000800;
  490. LINEFORWARDMODE_BUSYNA = $00001000;
  491. LINEFORWARDMODE_BUSYNAINTERNAL = $00002000;
  492. LINEFORWARDMODE_BUSYNAEXTERNAL = $00004000;
  493. LINEFORWARDMODE_BUSYNASPECIFIC = $00008000;
  494. LINEFORWARDMODE_UNKNOWN = $00010000; { TAPI v1.4 }
  495. LINEFORWARDMODE_UNAVAIL = $00020000; { TAPI v1.4 }
  496. LINEGATHERTERM_BUFFERFULL = $00000001;
  497. LINEGATHERTERM_TERMDIGIT = $00000002;
  498. LINEGATHERTERM_FIRSTTIMEOUT = $00000004;
  499. LINEGATHERTERM_INTERTIMEOUT = $00000008;
  500. LINEGATHERTERM_CANCEL = $00000010;
  501. LINEGENERATETERM_DONE = $00000001;
  502. LINEGENERATETERM_CANCEL = $00000002;
  503. { These constants are mutually exclusive - there's no way to specify more }
  504. { than one at a time (and it doesn't make sense, either) so they're }
  505. { ordinal rather than bits. }
  506. LINEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 }
  507. LINEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 }
  508. LINEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 }
  509. LINELOCATIONOPTION_PULSEDIAL = $00000001; { TAPI v1.4 }
  510. LINEMAPPER = $FFFFFFFF;
  511. LINEMEDIACONTROL_NONE = $00000001;
  512. LINEMEDIACONTROL_START = $00000002;
  513. LINEMEDIACONTROL_RESET = $00000004;
  514. LINEMEDIACONTROL_PAUSE = $00000008;
  515. LINEMEDIACONTROL_RESUME = $00000010;
  516. LINEMEDIACONTROL_RATEUP = $00000020;
  517. LINEMEDIACONTROL_RATEDOWN = $00000040;
  518. LINEMEDIACONTROL_RATENORMAL = $00000080;
  519. LINEMEDIACONTROL_VOLUMEUP = $00000100;
  520. LINEMEDIACONTROL_VOLUMEDOWN = $00000200;
  521. LINEMEDIACONTROL_VOLUMENORMAL = $00000400;
  522. LINEMEDIAMODE_UNKNOWN = $00000002;
  523. LINEMEDIAMODE_INTERACTIVEVOICE = $00000004;
  524. LINEMEDIAMODE_AUTOMATEDVOICE = $00000008;
  525. LINEMEDIAMODE_DATAMODEM = $00000010;
  526. LINEMEDIAMODE_G3FAX = $00000020;
  527. LINEMEDIAMODE_TDD = $00000040;
  528. LINEMEDIAMODE_G4FAX = $00000080;
  529. LINEMEDIAMODE_DIGITALDATA = $00000100;
  530. LINEMEDIAMODE_TELETEX = $00000200;
  531. LINEMEDIAMODE_VIDEOTEX = $00000400;
  532. LINEMEDIAMODE_TELEX = $00000800;
  533. LINEMEDIAMODE_MIXED = $00001000;
  534. LINEMEDIAMODE_ADSI = $00002000;
  535. LINEMEDIAMODE_VOICEVIEW = $00004000; { TAPI v1.4 }
  536. LAST_LINEMEDIAMODE = $00004000;
  537. LINEOFFERINGMODE_ACTIVE = $00000001; { TAPI v1.4 }
  538. LINEOFFERINGMODE_INACTIVE = $00000002; { TAPI v1.4 }
  539. LINEOPENOPTION_SINGLEADDRESS = $80000000; { TAPI v2.0 }
  540. LINEOPENOPTION_PROXY = $40000000; { TAPI v2.0 }
  541. LINEPARKMODE_DIRECTED = $00000001;
  542. LINEPARKMODE_NONDIRECTED = $00000002;
  543. LINEPROXYREQUEST_SETAGENTGROUP = $00000001; { TAPI v2.0 }
  544. LINEPROXYREQUEST_SETAGENTSTATE = $00000002; { TAPI v2.0 }
  545. LINEPROXYREQUEST_SETAGENTACTIVITY = $00000003; { TAPI v2.0 }
  546. LINEPROXYREQUEST_GETAGENTCAPS = $00000004; { TAPI v2.0 }
  547. LINEPROXYREQUEST_GETAGENTSTATUS = $00000005; { TAPI v2.0 }
  548. LINEPROXYREQUEST_AGENTSPECIFIC = $00000006; { TAPI v2.0 }
  549. LINEPROXYREQUEST_GETAGENTACTIVITYLIST = $00000007; { TAPI v2.0 }
  550. LINEPROXYREQUEST_GETAGENTGROUPLIST = $00000008; { TAPI v2.0 }
  551. LINEREMOVEFROMCONF_NONE = $00000001;
  552. LINEREMOVEFROMCONF_LAST = $00000002;
  553. LINEREMOVEFROMCONF_ANY = $00000003;
  554. LINEREQUESTMODE_MAKECALL = $00000001;
  555. LINEREQUESTMODE_MEDIACALL = $00000002;
  556. LINEREQUESTMODE_DROP = $00000004;
  557. LAST_LINEREQUESTMODE = LINEREQUESTMODE_MEDIACALL;
  558. LINEROAMMODE_UNKNOWN = $00000001;
  559. LINEROAMMODE_UNAVAIL = $00000002;
  560. LINEROAMMODE_HOME = $00000004;
  561. LINEROAMMODE_ROAMA = $00000008;
  562. LINEROAMMODE_ROAMB = $00000010;
  563. LINESPECIALINFO_NOCIRCUIT = $00000001;
  564. LINESPECIALINFO_CUSTIRREG = $00000002;
  565. LINESPECIALINFO_REORDER = $00000004;
  566. LINESPECIALINFO_UNKNOWN = $00000008;
  567. LINESPECIALINFO_UNAVAIL = $00000010;
  568. LINETERMDEV_PHONE = $00000001;
  569. LINETERMDEV_HEADSET = $00000002;
  570. LINETERMDEV_SPEAKER = $00000004;
  571. LINETERMMODE_BUTTONS = $00000001;
  572. LINETERMMODE_LAMPS = $00000002;
  573. LINETERMMODE_DISPLAY = $00000004;
  574. LINETERMMODE_RINGER = $00000008;
  575. LINETERMMODE_HOOKSWITCH = $00000010;
  576. LINETERMMODE_MEDIATOLINE = $00000020;
  577. LINETERMMODE_MEDIAFROMLINE = $00000040;
  578. LINETERMMODE_MEDIABIDIRECT = $00000080;
  579. LINETERMSHARING_PRIVATE = $00000001;
  580. LINETERMSHARING_SHAREDEXCL = $00000002;
  581. LINETERMSHARING_SHAREDCONF = $00000004;
  582. LINETOLLLISTOPTION_ADD = $00000001;
  583. LINETOLLLISTOPTION_REMOVE = $00000002;
  584. LINETONEMODE_CUSTOM = $00000001;
  585. LINETONEMODE_RINGBACK = $00000002;
  586. LINETONEMODE_BUSY = $00000004;
  587. LINETONEMODE_BEEP = $00000008;
  588. LINETONEMODE_BILLING = $00000010;
  589. LINETRANSFERMODE_TRANSFER = $00000001;
  590. LINETRANSFERMODE_CONFERENCE = $00000002;
  591. LINETRANSLATEOPTION_CARDOVERRIDE = $00000001;
  592. LINETRANSLATEOPTION_CANCELCALLWAITING = $00000002; { TAPI v1.4 }
  593. LINETRANSLATEOPTION_FORCELOCAL = $00000004; { TAPI v1.4 }
  594. LINETRANSLATEOPTION_FORCELD = $00000008; { TAPI v1.4 }
  595. LINETRANSLATERESULT_CANONICAL = $00000001;
  596. LINETRANSLATERESULT_INTERNATIONAL = $00000002;
  597. LINETRANSLATERESULT_LONGDISTANCE = $00000004;
  598. LINETRANSLATERESULT_LOCAL = $00000008;
  599. LINETRANSLATERESULT_INTOLLLIST = $00000010;
  600. LINETRANSLATERESULT_NOTINTOLLLIST = $00000020;
  601. LINETRANSLATERESULT_DIALBILLING = $00000040;
  602. LINETRANSLATERESULT_DIALQUIET = $00000080;
  603. LINETRANSLATERESULT_DIALDIALTONE = $00000100;
  604. LINETRANSLATERESULT_DIALPROMPT = $00000200;
  605. LINETRANSLATERESULT_VOICEDETECT = $00000400; { TAPI v2.0 }
  606. PHONEBUTTONFUNCTION_UNKNOWN = $00000000;
  607. PHONEBUTTONFUNCTION_CONFERENCE = $00000001;
  608. PHONEBUTTONFUNCTION_TRANSFER = $00000002;
  609. PHONEBUTTONFUNCTION_DROP = $00000003;
  610. PHONEBUTTONFUNCTION_HOLD = $00000004;
  611. PHONEBUTTONFUNCTION_RECALL = $00000005;
  612. PHONEBUTTONFUNCTION_DISCONNECT = $00000006;
  613. PHONEBUTTONFUNCTION_CONNECT = $00000007;
  614. PHONEBUTTONFUNCTION_MSGWAITON = $00000008;
  615. PHONEBUTTONFUNCTION_MSGWAITOFF = $00000009;
  616. PHONEBUTTONFUNCTION_SELECTRING = $0000000A;
  617. PHONEBUTTONFUNCTION_ABBREVDIAL = $0000000B;
  618. PHONEBUTTONFUNCTION_FORWARD = $0000000C;
  619. PHONEBUTTONFUNCTION_PICKUP = $0000000D;
  620. PHONEBUTTONFUNCTION_RINGAGAIN = $0000000E;
  621. PHONEBUTTONFUNCTION_PARK = $0000000F;
  622. PHONEBUTTONFUNCTION_REJECT = $00000010;
  623. PHONEBUTTONFUNCTION_REDIRECT = $00000011;
  624. PHONEBUTTONFUNCTION_MUTE = $00000012;
  625. PHONEBUTTONFUNCTION_VOLUMEUP = $00000013;
  626. PHONEBUTTONFUNCTION_VOLUMEDOWN = $00000014;
  627. PHONEBUTTONFUNCTION_SPEAKERON = $00000015;
  628. PHONEBUTTONFUNCTION_SPEAKEROFF = $00000016;
  629. PHONEBUTTONFUNCTION_FLASH = $00000017;
  630. PHONEBUTTONFUNCTION_DATAON = $00000018;
  631. PHONEBUTTONFUNCTION_DATAOFF = $00000019;
  632. PHONEBUTTONFUNCTION_DONOTDISTURB = $0000001A;
  633. PHONEBUTTONFUNCTION_INTERCOM = $0000001B;
  634. PHONEBUTTONFUNCTION_BRIDGEDAPP = $0000001C;
  635. PHONEBUTTONFUNCTION_BUSY = $0000001D;
  636. PHONEBUTTONFUNCTION_CALLAPP = $0000001E;
  637. PHONEBUTTONFUNCTION_DATETIME = $0000001F;
  638. PHONEBUTTONFUNCTION_DIRECTORY = $00000020;
  639. PHONEBUTTONFUNCTION_COVER = $00000021;
  640. PHONEBUTTONFUNCTION_CALLID = $00000022;
  641. PHONEBUTTONFUNCTION_LASTNUM = $00000023;
  642. PHONEBUTTONFUNCTION_NIGHTSRV = $00000024;
  643. PHONEBUTTONFUNCTION_SENDCALLS = $00000025;
  644. PHONEBUTTONFUNCTION_MSGINDICATOR = $00000026;
  645. PHONEBUTTONFUNCTION_REPDIAL = $00000027;
  646. PHONEBUTTONFUNCTION_SETREPDIAL = $00000028;
  647. PHONEBUTTONFUNCTION_SYSTEMSPEED = $00000029;
  648. PHONEBUTTONFUNCTION_STATIONSPEED = $0000002A;
  649. PHONEBUTTONFUNCTION_CAMPON = $0000002B;
  650. PHONEBUTTONFUNCTION_SAVEREPEAT = $0000002C;
  651. PHONEBUTTONFUNCTION_QUEUECALL = $0000002D;
  652. PHONEBUTTONFUNCTION_NONE = $0000002E;
  653. PHONEBUTTONMODE_DUMMY = $00000001;
  654. PHONEBUTTONMODE_CALL = $00000002;
  655. PHONEBUTTONMODE_FEATURE = $00000004;
  656. PHONEBUTTONMODE_KEYPAD = $00000008;
  657. PHONEBUTTONMODE_LOCAL = $00000010;
  658. PHONEBUTTONMODE_DISPLAY = $00000020;
  659. PHONEBUTTONSTATE_UP = $00000001;
  660. PHONEBUTTONSTATE_DOWN = $00000002;
  661. PHONEBUTTONSTATE_UNKNOWN = $00000004; { TAPI v1.4 }
  662. PHONEBUTTONSTATE_UNAVAIL = $00000008; { TAPI v1.4 }
  663. PHONEERR_ALLOCATED = $90000001;
  664. PHONEERR_BADDEVICEID = $90000002;
  665. PHONEERR_INCOMPATIBLEAPIVERSION = $90000003;
  666. PHONEERR_INCOMPATIBLEEXTVERSION = $90000004;
  667. PHONEERR_INIFILECORRUPT = $90000005;
  668. PHONEERR_INUSE = $90000006;
  669. PHONEERR_INVALAPPHANDLE = $90000007;
  670. PHONEERR_INVALAPPNAME = $90000008;
  671. PHONEERR_INVALBUTTONLAMPID = $90000009;
  672. PHONEERR_INVALBUTTONMODE = $9000000A;
  673. PHONEERR_INVALBUTTONSTATE = $9000000B;
  674. PHONEERR_INVALDATAID = $9000000C;
  675. PHONEERR_INVALDEVICECLASS = $9000000D;
  676. PHONEERR_INVALEXTVERSION = $9000000E;
  677. PHONEERR_INVALHOOKSWITCHDEV = $9000000F;
  678. PHONEERR_INVALHOOKSWITCHMODE = $90000010;
  679. PHONEERR_INVALLAMPMODE = $90000011;
  680. PHONEERR_INVALPARAM = $90000012;
  681. PHONEERR_INVALPHONEHANDLE = $90000013;
  682. PHONEERR_INVALPHONESTATE = $90000014;
  683. PHONEERR_INVALPOINTER = $90000015;
  684. PHONEERR_INVALPRIVILEGE = $90000016;
  685. PHONEERR_INVALRINGMODE = $90000017;
  686. PHONEERR_NODEVICE = $90000018;
  687. PHONEERR_NODRIVER = $90000019;
  688. PHONEERR_NOMEM = $9000001A;
  689. PHONEERR_NOTOWNER = $9000001B;
  690. PHONEERR_OPERATIONFAILED = $9000001C;
  691. PHONEERR_OPERATIONUNAVAIL = $9000001D;
  692. PHONEERR_RESOURCEUNAVAIL = $9000001F;
  693. PHONEERR_REQUESTOVERRUN = $90000020;
  694. PHONEERR_STRUCTURETOOSMALL = $90000021;
  695. PHONEERR_UNINITIALIZED = $90000022;
  696. PHONEERR_REINIT = $90000023;
  697. PHONEFEATURE_GETBUTTONINFO = $00000001; { TAPI v2.0 }
  698. PHONEFEATURE_GETDATA = $00000002; { TAPI v2.0 }
  699. PHONEFEATURE_GETDISPLAY = $00000004; { TAPI v2.0 }
  700. PHONEFEATURE_GETGAINHANDSET = $00000008; { TAPI v2.0 }
  701. PHONEFEATURE_GETGAINSPEAKER = $00000010; { TAPI v2.0 }
  702. PHONEFEATURE_GETGAINHEADSET = $00000020; { TAPI v2.0 }
  703. PHONEFEATURE_GETHOOKSWITCHHANDSET = $00000040; { TAPI v2.0 }
  704. PHONEFEATURE_GETHOOKSWITCHSPEAKER = $00000080; { TAPI v2.0 }
  705. PHONEFEATURE_GETHOOKSWITCHHEADSET = $00000100; { TAPI v2.0 }
  706. PHONEFEATURE_GETLAMP = $00000200; { TAPI v2.0 }
  707. PHONEFEATURE_GETRING = $00000400; { TAPI v2.0 }
  708. PHONEFEATURE_GETVOLUMEHANDSET = $00000800; { TAPI v2.0 }
  709. PHONEFEATURE_GETVOLUMESPEAKER = $00001000; { TAPI v2.0 }
  710. PHONEFEATURE_GETVOLUMEHEADSET = $00002000; { TAPI v2.0 }
  711. PHONEFEATURE_SETBUTTONINFO = $00004000; { TAPI v2.0 }
  712. PHONEFEATURE_SETDATA = $00008000; { TAPI v2.0 }
  713. PHONEFEATURE_SETDISPLAY = $00010000; { TAPI v2.0 }
  714. PHONEFEATURE_SETGAINHANDSET = $00020000; { TAPI v2.0 }
  715. PHONEFEATURE_SETGAINSPEAKER = $00040000; { TAPI v2.0 }
  716. PHONEFEATURE_SETGAINHEADSET = $00080000; { TAPI v2.0 }
  717. PHONEFEATURE_SETHOOKSWITCHHANDSET = $00100000; { TAPI v2.0 }
  718. PHONEFEATURE_SETHOOKSWITCHSPEAKER = $00200000; { TAPI v2.0 }
  719. PHONEFEATURE_SETHOOKSWITCHHEADSET = $00400000; { TAPI v2.0 }
  720. PHONEFEATURE_SETLAMP = $00800000; { TAPI v2.0 }
  721. PHONEFEATURE_SETRING = $01000000; { TAPI v2.0 }
  722. PHONEFEATURE_SETVOLUMEHANDSET = $02000000; { TAPI v2.0 }
  723. PHONEFEATURE_SETVOLUMESPEAKER = $04000000; { TAPI v2.0 }
  724. PHONEFEATURE_SETVOLUMEHEADSET = $08000000; { TAPI v2.0 }
  725. PHONEHOOKSWITCHDEV_HANDSET = $00000001;
  726. PHONEHOOKSWITCHDEV_SPEAKER = $00000002;
  727. PHONEHOOKSWITCHDEV_HEADSET = $00000004;
  728. PHONEHOOKSWITCHMODE_ONHOOK = $00000001;
  729. PHONEHOOKSWITCHMODE_MIC = $00000002;
  730. PHONEHOOKSWITCHMODE_SPEAKER = $00000004;
  731. PHONEHOOKSWITCHMODE_MICSPEAKER = $00000008;
  732. PHONEHOOKSWITCHMODE_UNKNOWN = $00000010;
  733. PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 }
  734. PHONEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 }
  735. PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 }
  736. PHONELAMPMODE_DUMMY = $00000001;
  737. PHONELAMPMODE_OFF = $00000002;
  738. PHONELAMPMODE_STEADY = $00000004;
  739. PHONELAMPMODE_WINK = $00000008;
  740. PHONELAMPMODE_FLASH = $00000010;
  741. PHONELAMPMODE_FLUTTER = $00000020;
  742. PHONELAMPMODE_BROKENFLUTTER = $00000040;
  743. PHONELAMPMODE_UNKNOWN = $00000080;
  744. PHONEPRIVILEGE_MONITOR = $00000001;
  745. PHONEPRIVILEGE_OWNER = $00000002;
  746. PHONESTATE_OTHER = $00000001;
  747. PHONESTATE_CONNECTED = $00000002;
  748. PHONESTATE_DISCONNECTED = $00000004;
  749. PHONESTATE_OWNER = $00000008;
  750. PHONESTATE_MONITORS = $00000010;
  751. PHONESTATE_DISPLAY = $00000020;
  752. PHONESTATE_LAMP = $00000040;
  753. PHONESTATE_RINGMODE = $00000080;
  754. PHONESTATE_RINGVOLUME = $00000100;
  755. PHONESTATE_HANDSETHOOKSWITCH = $00000200;
  756. PHONESTATE_HANDSETVOLUME = $00000400;
  757. PHONESTATE_HANDSETGAIN = $00000800;
  758. PHONESTATE_SPEAKERHOOKSWITCH = $00001000;
  759. PHONESTATE_SPEAKERVOLUME = $00002000;
  760. PHONESTATE_SPEAKERGAIN = $00004000;
  761. PHONESTATE_HEADSETHOOKSWITCH = $00008000;
  762. PHONESTATE_HEADSETVOLUME = $00010000;
  763. PHONESTATE_HEADSETGAIN = $00020000;
  764. PHONESTATE_SUSPEND = $00040000;
  765. PHONESTATE_RESUME = $00080000;
  766. PHONESTATE_DEVSPECIFIC = $00100000;
  767. PHONESTATE_REINIT = $00200000;
  768. PHONESTATE_CAPSCHANGE = $00400000; { TAPI v1.4 }
  769. PHONESTATE_REMOVED = $00800000; { TAPI v1.4 }
  770. PHONESTATUSFLAGS_CONNECTED = $00000001;
  771. PHONESTATUSFLAGS_SUSPENDED = $00000002;
  772. STRINGFORMAT_ASCII = $00000001;
  773. STRINGFORMAT_DBCS = $00000002;
  774. STRINGFORMAT_UNICODE = $00000003;
  775. STRINGFORMAT_BINARY = $00000004;
  776. TAPI_REPLY = WM_USER + 99;
  777. TAPIERR_CONNECTED = 0;
  778. TAPIERR_DROPPED = -(1);
  779. TAPIERR_NOREQUESTRECIPIENT = -(2);
  780. TAPIERR_REQUESTQUEUEFULL = -(3);
  781. TAPIERR_INVALDESTADDRESS = -(4);
  782. TAPIERR_INVALWINDOWHANDLE = -(5);
  783. TAPIERR_INVALDEVICECLASS = -(6);
  784. TAPIERR_INVALDEVICEID = -(7);
  785. TAPIERR_DEVICECLASSUNAVAIL = -(8);
  786. TAPIERR_DEVICEIDUNAVAIL = -(9);
  787. TAPIERR_DEVICEINUSE = -(10);
  788. TAPIERR_DESTBUSY = -(11);
  789. TAPIERR_DESTNOANSWER = -(12);
  790. TAPIERR_DESTUNAVAIL = -(13);
  791. TAPIERR_UNKNOWNWINHANDLE = -(14);
  792. TAPIERR_UNKNOWNREQUESTID = -(15);
  793. TAPIERR_REQUESTFAILED = -(16);
  794. TAPIERR_REQUESTCANCELLED = -(17);
  795. TAPIERR_INVALPOINTER = -(18);
  796. TAPIMAXDESTADDRESSSIZE = 80;
  797. TAPIMAXAPPNAMESIZE = 40;
  798. TAPIMAXCALLEDPARTYSIZE = 40;
  799. TAPIMAXCOMMENTSIZE = 80;
  800. TAPIMAXDEVICECLASSSIZE = 40;
  801. TAPIMAXDEVICEIDSIZE = 40;
  802. //*****************************************************************************
  803. // types
  804. //*****************************************************************************
  805. type
  806. HCALL = HANDLE;
  807. LPHCALL = ^HCALL;
  808. HLINE = HANDLE;
  809. LPHLINE = ^HLINE;
  810. HPHONE = HANDLE;
  811. LPHPHONE = ^HPHONE;
  812. HLINEAPP = HANDLE;
  813. LPHLINEAPP = ^HLINEAPP;
  814. HPHONEAPP = HANDLE;
  815. LPHPHONEAPP = ^HPHONEAPP;
  816. LINECALLBACK = procedure (hDevice:DWORD; dwMessage:DWORD; dwInstance:DWORD; dwParam1:DWORD; dwParam2:DWORD;
  817. dwParam3:DWORD);
  818. PHONECALLBACK = procedure (hDevice:DWORD; dwMessage:DWORD; dwInstance:DWORD; dwParam1:DWORD; dwParam2:DWORD;
  819. dwParam3:DWORD);
  820. lineaddresscaps_tag = record
  821. dwTotalSize : DWORD;
  822. dwNeededSize : DWORD;
  823. dwUsedSize : DWORD;
  824. dwLineDeviceID : DWORD;
  825. dwAddressSize : DWORD;
  826. dwAddressOffset : DWORD;
  827. dwDevSpecificSize : DWORD;
  828. dwDevSpecificOffset : DWORD;
  829. dwAddressSharing : DWORD;
  830. dwAddressStates : DWORD;
  831. dwCallInfoStates : DWORD;
  832. dwCallerIDFlags : DWORD;
  833. dwCalledIDFlags : DWORD;
  834. dwConnectedIDFlags : DWORD;
  835. dwRedirectionIDFlags : DWORD;
  836. dwRedirectingIDFlags : DWORD;
  837. dwCallStates : DWORD;
  838. dwDialToneModes : DWORD;
  839. dwBusyModes : DWORD;
  840. dwSpecialInfo : DWORD;
  841. dwDisconnectModes : DWORD;
  842. dwMaxNumActiveCalls : DWORD;
  843. dwMaxNumOnHoldCalls : DWORD;
  844. dwMaxNumOnHoldPendingCalls : DWORD;
  845. dwMaxNumConference : DWORD;
  846. dwMaxNumTransConf : DWORD;
  847. dwAddrCapFlags : DWORD;
  848. dwCallFeatures : DWORD;
  849. dwRemoveFromConfCaps : DWORD;
  850. dwRemoveFromConfState : DWORD;
  851. dwTransferModes : DWORD;
  852. dwParkModes : DWORD;
  853. dwForwardModes : DWORD;
  854. dwMaxForwardEntries : DWORD;
  855. dwMaxSpecificEntries : DWORD;
  856. dwMinFwdNumRings : DWORD;
  857. dwMaxFwdNumRings : DWORD;
  858. dwMaxCallCompletions : DWORD;
  859. dwCallCompletionConds : DWORD;
  860. dwCallCompletionModes : DWORD;
  861. dwNumCompletionMessages : DWORD;
  862. dwCompletionMsgTextEntrySize : DWORD;
  863. dwCompletionMsgTextSize : DWORD;
  864. dwCompletionMsgTextOffset : DWORD;
  865. dwAddressFeatures : DWORD; // TAPI v1.4
  866. dwPredictiveAutoTransferStates : DWORD; // TAPI v2.0
  867. dwNumCallTreatments : DWORD; // TAPI v2.0
  868. dwCallTreatmentListSize : DWORD; // TAPI v2.0
  869. dwCallTreatmentListOffset : DWORD; // TAPI v2.0
  870. dwDeviceClassesSize : DWORD; // TAPI v2.0
  871. dwDeviceClassesOffset : DWORD; // TAPI v2.0
  872. dwMaxCallDataSize : DWORD; // TAPI v2.0
  873. dwCallFeatures2 : DWORD; // TAPI v2.0
  874. dwMaxNoAnswerTimeout : DWORD; // TAPI v2.0
  875. dwConnectedModes : DWORD; // TAPI v2.0
  876. dwOfferingModes : DWORD; // TAPI v2.0
  877. dwAvailableMediaModes : DWORD; // TAPI v2.0
  878. end;
  879. TLINEADDRESSCAPS = lineaddresscaps_tag;
  880. LPLINEADDRESSCAPS = ^lineaddresscaps_tag;
  881. lineaddressstatus_tag = record
  882. dwTotalSize : DWORD;
  883. dwNeededSize : DWORD;
  884. dwUsedSize : DWORD;
  885. dwNumInUse : DWORD;
  886. dwNumActiveCalls : DWORD;
  887. dwNumOnHoldCalls : DWORD;
  888. dwNumOnHoldPendCalls : DWORD;
  889. dwAddressFeatures : DWORD;
  890. dwNumRingsNoAnswer : DWORD;
  891. dwForwardNumEntries : DWORD;
  892. dwForwardSize : DWORD;
  893. dwForwardOffset : DWORD;
  894. dwTerminalModesSize : DWORD;
  895. dwTerminalModesOffset : DWORD;
  896. dwDevSpecificSize : DWORD;
  897. dwDevSpecificOffset : DWORD;
  898. end;
  899. TLINEADDRESSSTATUS = lineaddressstatus_tag;
  900. LPLINEADDRESSSTATUS = ^lineaddressstatus_tag;
  901. linedialparams_tag = record
  902. dwDialPause : DWORD;
  903. dwDialSpeed : DWORD;
  904. dwDigitDuration : DWORD;
  905. dwWaitForDialtone : DWORD;
  906. end;
  907. TLINEDIALPARAMS = linedialparams_tag;
  908. LPLINEDIALPARAMS = ^linedialparams_tag;
  909. linecallinfo_tag = record
  910. dwTotalSize : DWORD;
  911. dwNeededSize : DWORD;
  912. dwUsedSize : DWORD;
  913. hLine : HLINE;
  914. dwLineDeviceID : DWORD;
  915. dwAddressID : DWORD;
  916. dwBearerMode : DWORD;
  917. dwRate : DWORD;
  918. dwMediaMode : DWORD;
  919. dwAppSpecific : DWORD;
  920. dwCallID : DWORD;
  921. dwRelatedCallID : DWORD;
  922. dwCallParamFlags : DWORD;
  923. dwCallStates : DWORD;
  924. dwMonitorDigitModes : DWORD;
  925. dwMonitorMediaModes : DWORD;
  926. DialParams : TLINEDIALPARAMS;
  927. dwOrigin : DWORD;
  928. dwReason : DWORD;
  929. dwCompletionID : DWORD;
  930. dwNumOwners : DWORD;
  931. dwNumMonitors : DWORD;
  932. dwCountryCode : DWORD;
  933. dwTrunk : DWORD;
  934. dwCallerIDFlags : DWORD;
  935. dwCallerIDSize : DWORD;
  936. dwCallerIDOffset : DWORD;
  937. dwCallerIDNameSize : DWORD;
  938. dwCallerIDNameOffset : DWORD;
  939. dwCalledIDFlags : DWORD;
  940. dwCalledIDSize : DWORD;
  941. dwCalledIDOffset : DWORD;
  942. dwCalledIDNameSize : DWORD;
  943. dwCalledIDNameOffset : DWORD;
  944. dwConnectedIDFlags : DWORD;
  945. dwConnectedIDSize : DWORD;
  946. dwConnectedIDOffset : DWORD;
  947. dwConnectedIDNameSize : DWORD;
  948. dwConnectedIDNameOffset : DWORD;
  949. dwRedirectionIDFlags : DWORD;
  950. dwRedirectionIDSize : DWORD;
  951. dwRedirectionIDOffset : DWORD;
  952. dwRedirectionIDNameSize : DWORD;
  953. dwRedirectionIDNameOffset : DWORD;
  954. dwRedirectingIDFlags : DWORD;
  955. dwRedirectingIDSize : DWORD;
  956. dwRedirectingIDOffset : DWORD;
  957. dwRedirectingIDNameSize : DWORD;
  958. dwRedirectingIDNameOffset : DWORD;
  959. dwAppNameSize : DWORD;
  960. dwAppNameOffset : DWORD;
  961. dwDisplayableAddressSize : DWORD;
  962. dwDisplayableAddressOffset : DWORD;
  963. dwCalledPartySize : DWORD;
  964. dwCalledPartyOffset : DWORD;
  965. dwCommentSize : DWORD;
  966. dwCommentOffset : DWORD;
  967. dwDisplaySize : DWORD;
  968. dwDisplayOffset : DWORD;
  969. dwUserUserInfoSize : DWORD;
  970. dwUserUserInfoOffset : DWORD;
  971. dwHighLevelCompSize : DWORD;
  972. dwHighLevelCompOffset : DWORD;
  973. dwLowLevelCompSize : DWORD;
  974. dwLowLevelCompOffset : DWORD;
  975. dwChargingInfoSize : DWORD;
  976. dwChargingInfoOffset : DWORD;
  977. dwTerminalModesSize : DWORD;
  978. dwTerminalModesOffset : DWORD;
  979. dwDevSpecificSize : DWORD;
  980. dwDevSpecificOffset : DWORD;
  981. dwCallTreatment : DWORD; // TAPI v2.0
  982. dwCallDataSize : DWORD; // TAPI v2.0
  983. dwCallDataOffset : DWORD; // TAPI v2.0
  984. dwSendingFlowspecSize : DWORD; // TAPI v2.0
  985. dwSendingFlowspecOffset : DWORD; // TAPI v2.0
  986. dwReceivingFlowspecSize : DWORD; // TAPI v2.0
  987. dwReceivingFlowspecOffset : DWORD; // TAPI v2.0
  988. dwAddressType : DWORD; // TAPI v3.0
  989. end;
  990. TLINECALLINFO = linecallinfo_tag;
  991. LPLINECALLINFO = ^linecallinfo_tag;
  992. linecalllist_tag = record
  993. dwTotalSize : DWORD;
  994. dwNeededSize : DWORD;
  995. dwUsedSize : DWORD;
  996. dwCallsNumEntries : DWORD;
  997. dwCallsSize : DWORD;
  998. dwCallsOffset : DWORD;
  999. end;
  1000. TLINECALLLIST = linecalllist_tag;
  1001. LPLINECALLLIST = ^linecalllist_tag;
  1002. linecallparams_tag = record // Defaults:
  1003. dwTotalSize : DWORD;
  1004. dwBearerMode : DWORD; // voice
  1005. dwMinRate : DWORD; // (3.1kHz)
  1006. dwMaxRate : DWORD; // (3.1kHz)
  1007. dwMediaMode : DWORD; // interactiveVoice
  1008. dwCallParamFlags : DWORD; // 0
  1009. dwAddressMode : DWORD;
  1010. dwAddressID : DWORD; // (any available)
  1011. DialParams : TLINEDIALPARAMS; // (0, 0, 0, 0)
  1012. dwOrigAddressSize : DWORD; // 0
  1013. dwOrigAddressOffset : DWORD;
  1014. dwDisplayableAddressSize : DWORD;
  1015. dwDisplayableAddressOffset : DWORD;
  1016. dwCalledPartySize : DWORD; // 0
  1017. dwCalledPartyOffset : DWORD;
  1018. dwCommentSize : DWORD; // 0
  1019. dwCommentOffset : DWORD;
  1020. dwUserUserInfoSize : DWORD; // 0
  1021. dwUserUserInfoOffset : DWORD;
  1022. dwHighLevelCompSize : DWORD; // 0
  1023. dwHighLevelCompOffset : DWORD;
  1024. dwLowLevelCompSize : DWORD; // 0
  1025. dwLowLevelCompOffset : DWORD;
  1026. dwDevSpecificSize : DWORD; // 0
  1027. dwDevSpecificOffset : DWORD;
  1028. dwPredictiveAutoTransferStates : DWORD; // TAPI v2.0
  1029. dwTargetAddressSize : DWORD; // TAPI v2.0
  1030. dwTargetAddressOffset : DWORD; // TAPI v2.0
  1031. dwSendingFlowspecSize : DWORD; // TAPI v2.0
  1032. dwSendingFlowspecOffset : DWORD; // TAPI v2.0
  1033. dwReceivingFlowspecSize : DWORD; // TAPI v2.0
  1034. dwReceivingFlowspecOffset : DWORD; // TAPI v2.0
  1035. dwDeviceClassSize : DWORD; // TAPI v2.0
  1036. dwDeviceClassOffset : DWORD; // TAPI v2.0
  1037. dwDeviceConfigSize : DWORD; // TAPI v2.0
  1038. dwDeviceConfigOffset : DWORD; // TAPI v2.0
  1039. dwCallDataSize : DWORD; // TAPI v2.0
  1040. dwCallDataOffset : DWORD; // TAPI v2.0
  1041. dwNoAnswerTimeout : DWORD; // TAPI v2.0
  1042. dwCallingPartyIDSize : DWORD; // TAPI v2.0
  1043. dwCallingPartyIDOffset : DWORD; // TAPI v2.0
  1044. dwAddressType : DWORD; // TAPI v3.0
  1045. end;
  1046. TLINECALLPARAMS = linecallparams_tag;
  1047. LPLINECALLPARAMS = ^linecallparams_tag;
  1048. linecallstatus_tag = record
  1049. dwTotalSize : DWORD;
  1050. dwNeededSize : DWORD;
  1051. dwUsedSize : DWORD;
  1052. dwCallState : DWORD;
  1053. dwCallStateMode : DWORD;
  1054. dwCallPrivilege : DWORD;
  1055. dwCallFeatures : DWORD;
  1056. dwDevSpecificSize : DWORD;
  1057. dwDevSpecificOffset : DWORD;
  1058. dwCallFeatures2 : DWORD; // TAPI v2.0
  1059. tStateEntryTime : SYSTEMTIME; // TAPI v2.0
  1060. end;
  1061. TLINECALLSTATUS = linecallstatus_tag;
  1062. LPLINECALLSTATUS = ^linecallstatus_tag;
  1063. linecalltreatmententry_tag = record
  1064. dwCallTreatmentID : DWORD; // TAPI v2.0
  1065. dwCallTreatmentNameSize : DWORD; // TAPI v2.0
  1066. dwCallTreatmentNameOffset : DWORD; // TAPI v2.0
  1067. end;
  1068. TLINECALLTREATMENTENTRY = linecalltreatmententry_tag;
  1069. LPLINECALLTREATMENTENTRY = ^linecalltreatmententry_tag;
  1070. linecardentry_tag = record
  1071. dwPermanentCardID : DWORD;
  1072. dwCardNameSize : DWORD;
  1073. dwCardNameOffset : DWORD;
  1074. dwCardNumberDigits : DWORD; // TAPI v1.4
  1075. dwSameAreaRuleSize : DWORD; // TAPI v1.4
  1076. dwSameAreaRuleOffset : DWORD; // TAPI v1.4
  1077. dwLongDistanceRuleSize : DWORD; // TAPI v1.4
  1078. dwLongDistanceRuleOffset : DWORD; // TAPI v1.4
  1079. dwInternationalRuleSize : DWORD; // TAPI v1.4
  1080. dwInternationalRuleOffset : DWORD; // TAPI v1.4
  1081. dwOptions : DWORD; // TAPI v1.4
  1082. end;
  1083. TLINECARDENTRY = linecardentry_tag;
  1084. LPLINECARDENTRY = ^linecardentry_tag;
  1085. linecountryentry_tag = record // TAPI v1.4
  1086. dwCountryID : DWORD; // TAPI v1.4
  1087. dwCountryCode : DWORD; // TAPI v1.4
  1088. dwNextCountryID : DWORD; // TAPI v1.4
  1089. dwCountryNameSize : DWORD; // TAPI v1.4
  1090. dwCountryNameOffset : DWORD; // TAPI v1.4
  1091. dwSameAreaRuleSize : DWORD; // TAPI v1.4
  1092. dwSameAreaRuleOffset : DWORD; // TAPI v1.4
  1093. dwLongDistanceRuleSize : DWORD; // TAPI v1.4
  1094. dwLongDistanceRuleOffset : DWORD; // TAPI v1.4
  1095. dwInternationalRuleSize : DWORD; // TAPI v1.4
  1096. dwInternationalRuleOffset : DWORD; // TAPI v1.4
  1097. end;
  1098. TLINECOUNTRYENTRY = linecountryentry_tag;
  1099. LPLINECOUNTRYENTRY = ^linecountryentry_tag;
  1100. linecountrylist_tag = record
  1101. dwTotalSize : DWORD; // TAPI v1.4
  1102. dwNeededSize : DWORD; // TAPI v1.4
  1103. dwUsedSize : DWORD; // TAPI v1.4
  1104. dwNumCountries : DWORD; // TAPI v1.4
  1105. dwCountryListSize : DWORD; // TAPI v1.4
  1106. dwCountryListOffset : DWORD; // TAPI v1.4
  1107. end;
  1108. TLINECOUNTRYLIST = linecountrylist_tag;
  1109. LPLINECOUNTRYLIST = ^linecountrylist_tag;
  1110. linedevcaps_tag = record
  1111. dwTotalSize : DWORD;
  1112. dwNeededSize : DWORD;
  1113. dwUsedSize : DWORD;
  1114. dwProviderInfoSize : DWORD;
  1115. dwProviderInfoOffset : DWORD;
  1116. dwSwitchInfoSize : DWORD;
  1117. dwSwitchInfoOffset : DWORD;
  1118. dwPermanentLineID : DWORD;
  1119. dwLineNameSize : DWORD;
  1120. dwLineNameOffset : DWORD;
  1121. dwStringFormat : DWORD;
  1122. dwAddressModes : DWORD;
  1123. dwNumAddresses : DWORD;
  1124. dwBearerModes : DWORD;
  1125. dwMaxRate : DWORD;
  1126. dwMediaModes : DWORD;
  1127. dwGenerateToneModes : DWORD;
  1128. dwGenerateToneMaxNumFreq : DWORD;
  1129. dwGenerateDigitModes : DWORD;
  1130. dwMonitorToneMaxNumFreq : DWORD;
  1131. dwMonitorToneMaxNumEntries : DWORD;
  1132. dwMonitorDigitModes : DWORD;
  1133. dwGatherDigitsMinTimeout : DWORD;
  1134. dwGatherDigitsMaxTimeout : DWORD;
  1135. dwMedCtlDigitMaxListSize : DWORD;
  1136. dwMedCtlMediaMaxListSize : DWORD;
  1137. dwMedCtlToneMaxListSize : DWORD;
  1138. dwMedCtlCallStateMaxListSize : DWORD;
  1139. dwDevCapFlags : DWORD;
  1140. dwMaxNumActiveCalls : DWORD;
  1141. dwAnswerMode : DWORD;
  1142. dwRingModes : DWORD;
  1143. dwLineStates : DWORD;
  1144. dwUUIAcceptSize : DWORD;
  1145. dwUUIAnswerSize : DWORD;
  1146. dwUUIMakeCallSize : DWORD;
  1147. dwUUIDropSize : DWORD;
  1148. dwUUISendUserUserInfoSize : DWORD;
  1149. dwUUICallInfoSize : DWORD;
  1150. MinDialParams : TLINEDIALPARAMS;
  1151. MaxDialParams : TLINEDIALPARAMS;
  1152. DefaultDialParams : TLINEDIALPARAMS;
  1153. dwNumTerminals : DWORD;
  1154. dwTerminalCapsSize : DWORD;
  1155. dwTerminalCapsOffset : DWORD;
  1156. dwTerminalTextEntrySize : DWORD;
  1157. dwTerminalTextSize : DWORD;
  1158. dwTerminalTextOffset : DWORD;
  1159. dwDevSpecificSize : DWORD;
  1160. dwDevSpecificOffset : DWORD;
  1161. dwLineFeatures : DWORD; // TAPI v1.4
  1162. dwSettableDevStatus : DWORD; // TAPI v2.0
  1163. dwDeviceClassesSize : DWORD; // TAPI v2.0
  1164. dwDeviceClassesOffset : DWORD; // TAPI v2.0
  1165. PermanentLineGuid : GUID; // TAPI v2.2
  1166. dwAddressTypes : DWORD; // TAPI v3.0
  1167. ProtocolGuid : GUID; // TAPI v3.0
  1168. dwAvailableTracking : DWORD; // TAPI v3.0
  1169. end;
  1170. TLINEDEVCAPS = linedevcaps_tag;
  1171. LPLINEDEVCAPS = ^linedevcaps_tag;
  1172. linedevstatus_tag = record
  1173. dwTotalSize : DWORD;
  1174. dwNeededSize : DWORD;
  1175. dwUsedSize : DWORD;
  1176. dwNumOpens : DWORD;
  1177. dwOpenMediaModes : DWORD;
  1178. dwNumActiveCalls : DWORD;
  1179. dwNumOnHoldCalls : DWORD;
  1180. dwNumOnHoldPendCalls : DWORD;
  1181. dwLineFeatures : DWORD;
  1182. dwNumCallCompletions : DWORD;
  1183. dwRingMode : DWORD;
  1184. dwSignalLevel : DWORD;
  1185. dwBatteryLevel : DWORD;
  1186. dwRoamMode : DWORD;
  1187. dwDevStatusFlags : DWORD;
  1188. dwTerminalModesSize : DWORD;
  1189. dwTerminalModesOffset : DWORD;
  1190. dwDevSpecificSize : DWORD;
  1191. dwDevSpecificOffset : DWORD;
  1192. dwAvailableMediaModes : DWORD; // TAPI v2.0
  1193. dwAppInfoSize : DWORD; // TAPI v2.0
  1194. dwAppInfoOffset : DWORD; // TAPI v2.0
  1195. end;
  1196. LINEDEVSTATUS = linedevstatus_tag;
  1197. LPLINEDEVSTATUS = ^linedevstatus_tag;
  1198. lineextensionid_tag = record
  1199. dwExtensionID0 : DWORD;
  1200. dwExtensionID1 : DWORD;
  1201. dwExtensionID2 : DWORD;
  1202. dwExtensionID3 : DWORD;
  1203. end;
  1204. TLINEEXTENSIONID = lineextensionid_tag;
  1205. LPLINEEXTENSIONID = ^lineextensionid_tag;
  1206. lineforward_tag = record
  1207. dwForwardMode : DWORD;
  1208. dwCallerAddressSize : DWORD;
  1209. dwCallerAddressOffset : DWORD;
  1210. dwDestCountryCode : DWORD;
  1211. dwDestAddressSize : DWORD;
  1212. dwDestAddressOffset : DWORD;
  1213. end;
  1214. TLINEFORWARD = lineforward_tag;
  1215. LPLINEFORWARD = ^lineforward_tag;
  1216. lineforwardlist_tag = record
  1217. dwTotalSize : DWORD;
  1218. dwNumEntries : DWORD;
  1219. ForwardList : array[0..0] of TLINEFORWARD;
  1220. end;
  1221. TLINEFORWARDLIST = lineforwardlist_tag;
  1222. LPLINEFORWARDLIST = ^lineforwardlist_tag;
  1223. linegeneratetone_tag = record
  1224. dwFrequency : DWORD;
  1225. dwCadenceOn : DWORD;
  1226. dwCadenceOff : DWORD;
  1227. dwVolume : DWORD;
  1228. end;
  1229. TLINEGENERATETONE = linegeneratetone_tag;
  1230. LPLINEGENERATETONE = ^linegeneratetone_tag;
  1231. lineinitializeexparams_tag = record
  1232. dwTotalSize : DWORD; // TAPI v2.0
  1233. dwNeededSize : DWORD; // TAPI v2.0
  1234. dwUsedSize : DWORD; // TAPI v2.0
  1235. dwOptions : DWORD; // TAPI v2.0
  1236. Handles : record
  1237. case longint of
  1238. 0 : ( hEvent : HANDLE ); // TAPI v2.0
  1239. 1 : ( hCompletionPort : HANDLE ); // TAPI v2.0
  1240. end;
  1241. dwCompletionKey : DWORD; // TAPI v2.0
  1242. end;
  1243. TLINEINITIALIZEEXPARAMS = lineinitializeexparams_tag;
  1244. LPLINEINITIALIZEEXPARAMS = ^lineinitializeexparams_tag;
  1245. linelocationentry_tag = record
  1246. dwPermanentLocationID : DWORD;
  1247. dwLocationNameSize : DWORD;
  1248. dwLocationNameOffset : DWORD;
  1249. dwCountryCode : DWORD;
  1250. dwCityCodeSize : DWORD;
  1251. dwCityCodeOffset : DWORD;
  1252. dwPreferredCardID : DWORD;
  1253. dwLocalAccessCodeSize : DWORD; // TAPI v1.4
  1254. dwLocalAccessCodeOffset : DWORD; // TAPI v1.4
  1255. dwLongDistanceAccessCodeSize : DWORD; // TAPI v1.4
  1256. dwLongDistanceAccessCodeOffset : DWORD; // TAPI v1.4
  1257. dwTollPrefixListSize : DWORD; // TAPI v1.4
  1258. dwTollPrefixListOffset : DWORD; // TAPI v1.4
  1259. dwCountryID : DWORD; // TAPI v1.4
  1260. dwOptions : DWORD; // TAPI v1.4
  1261. dwCancelCallWaitingSize : DWORD; // TAPI v1.4
  1262. dwCancelCallWaitingOffset : DWORD; // TAPI v1.4
  1263. end;
  1264. TLINELOCATIONENTRY = linelocationentry_tag;
  1265. LPLINELOCATIONENTRY = ^linelocationentry_tag;
  1266. linemediacontrolcallstate_tag = record
  1267. dwCallStates : DWORD;
  1268. dwMediaControl : DWORD;
  1269. end;
  1270. TLINEMEDIACONTROLCALLSTATE = linemediacontrolcallstate_tag;
  1271. LPLINEMEDIACONTROLCALLSTATE = ^linemediacontrolcallstate_tag;
  1272. linemediacontroldigit_tag = record
  1273. dwDigit : DWORD;
  1274. dwDigitModes : DWORD;
  1275. dwMediaControl : DWORD;
  1276. end;
  1277. TLINEMEDIACONTROLDIGIT = linemediacontroldigit_tag;
  1278. LPLINEMEDIACONTROLDIGIT = ^linemediacontroldigit_tag;
  1279. linemediacontrolmedia_tag = record
  1280. dwMediaModes : DWORD;
  1281. dwDuration : DWORD;
  1282. dwMediaControl : DWORD;
  1283. end;
  1284. TLINEMEDIACONTROLMEDIA = linemediacontrolmedia_tag;
  1285. LPLINEMEDIACONTROLMEDIA = ^linemediacontrolmedia_tag;
  1286. linemediacontroltone_tag = record
  1287. dwAppSpecific : DWORD;
  1288. dwDuration : DWORD;
  1289. dwFrequency1 : DWORD;
  1290. dwFrequency2 : DWORD;
  1291. dwFrequency3 : DWORD;
  1292. dwMediaControl : DWORD;
  1293. end;
  1294. TLINEMEDIACONTROLTONE = linemediacontroltone_tag;
  1295. LPLINEMEDIACONTROLTONE = ^linemediacontroltone_tag;
  1296. linemessage_tag = record
  1297. hDevice : DWORD; // TAPI v2.0
  1298. dwMessageID : DWORD; // TAPI v2.0
  1299. dwCallbackInstance : DWORD; // TAPI v2.0
  1300. dwParam1 : DWORD; // TAPI v2.0
  1301. dwParam2 : DWORD; // TAPI v2.0
  1302. dwParam3 : DWORD; // TAPI v2.0
  1303. end;
  1304. TLINEMESSAGE = linemessage_tag;
  1305. LPLINEMESSAGE = ^linemessage_tag;
  1306. linemonitortone_tag = record
  1307. dwAppSpecific : DWORD;
  1308. dwDuration : DWORD;
  1309. dwFrequency1 : DWORD;
  1310. dwFrequency2 : DWORD;
  1311. dwFrequency3 : DWORD;
  1312. end;
  1313. TLINEMONITORTONE = linemonitortone_tag;
  1314. LPLINEMONITORTONE = ^linemonitortone_tag;
  1315. lineproviderentry_tag = record
  1316. dwPermanentProviderID : DWORD; // TAPI v1.4
  1317. dwProviderFilenameSize : DWORD; // TAPI v1.4
  1318. dwProviderFilenameOffset : DWORD; // TAPI v1.4
  1319. end;
  1320. TLINEPROVIDERENTRY = lineproviderentry_tag;
  1321. LPLINEPROVIDERENTRY = ^lineproviderentry_tag;
  1322. lineproviderlist_tag = record
  1323. dwTotalSize : DWORD; // TAPI v1.4
  1324. dwNeededSize : DWORD; // TAPI v1.4
  1325. dwUsedSize : DWORD; // TAPI v1.4
  1326. dwNumProviders : DWORD; // TAPI v1.4
  1327. dwProviderListSize : DWORD; // TAPI v1.4
  1328. dwProviderListOffset : DWORD; // TAPI v1.4
  1329. end;
  1330. TLINEPROVIDERLIST = lineproviderlist_tag;
  1331. LPLINEPROVIDERLIST = ^lineproviderlist_tag;
  1332. linetermcaps_tag = record
  1333. dwTermDev : DWORD;
  1334. dwTermModes : DWORD;
  1335. dwTermSharing : DWORD;
  1336. end;
  1337. TLINETERMCAPS = linetermcaps_tag;
  1338. LPLINETERMCAPS = ^linetermcaps_tag;
  1339. linetranslatecaps_tag = record
  1340. dwTotalSize : DWORD;
  1341. dwNeededSize : DWORD;
  1342. dwUsedSize : DWORD;
  1343. dwNumLocations : DWORD;
  1344. dwLocationListSize : DWORD;
  1345. dwLocationListOffset : DWORD;
  1346. dwCurrentLocationID : DWORD;
  1347. dwNumCards : DWORD;
  1348. dwCardListSize : DWORD;
  1349. dwCardListOffset : DWORD;
  1350. dwCurrentPreferredCardID : DWORD;
  1351. end;
  1352. TLINETRANSLATECAPS = linetranslatecaps_tag;
  1353. LPLINETRANSLATECAPS = ^linetranslatecaps_tag;
  1354. linetranslateoutput_tag = record
  1355. dwTotalSize : DWORD;
  1356. dwNeededSize : DWORD;
  1357. dwUsedSize : DWORD;
  1358. dwDialableStringSize : DWORD;
  1359. dwDialableStringOffset : DWORD;
  1360. dwDisplayableStringSize : DWORD;
  1361. dwDisplayableStringOffset : DWORD;
  1362. dwCurrentCountry : DWORD;
  1363. dwDestCountry : DWORD;
  1364. dwTranslateResults : DWORD;
  1365. end;
  1366. TLINETRANSLATEOUTPUT = linetranslateoutput_tag;
  1367. LPLINETRANSLATEOUTPUT = ^linetranslateoutput_tag;
  1368. phonebuttoninfo_tag = record
  1369. dwTotalSize : DWORD;
  1370. dwNeededSize : DWORD;
  1371. dwUsedSize : DWORD;
  1372. dwButtonMode : DWORD;
  1373. dwButtonFunction : DWORD;
  1374. dwButtonTextSize : DWORD;
  1375. dwButtonTextOffset : DWORD;
  1376. dwDevSpecificSize : DWORD;
  1377. dwDevSpecificOffset : DWORD;
  1378. dwButtonState : DWORD; // TAPI v1.4
  1379. end;
  1380. TPHONEBUTTONINFO = phonebuttoninfo_tag;
  1381. LPPHONEBUTTONINFO = ^phonebuttoninfo_tag;
  1382. phonecaps_tag = record
  1383. dwTotalSize : DWORD;
  1384. dwNeededSize : DWORD;
  1385. dwUsedSize : DWORD;
  1386. dwProviderInfoSize : DWORD;
  1387. dwProviderInfoOffset : DWORD;
  1388. dwPhoneInfoSize : DWORD;
  1389. dwPhoneInfoOffset : DWORD;
  1390. dwPermanentPhoneID : DWORD;
  1391. dwPhoneNameSize : DWORD;
  1392. dwPhoneNameOffset : DWORD;
  1393. dwStringFormat : DWORD;
  1394. dwPhoneStates : DWORD;
  1395. dwHookSwitchDevs : DWORD;
  1396. dwHandsetHookSwitchModes : DWORD;
  1397. dwSpeakerHookSwitchModes : DWORD;
  1398. dwHeadsetHookSwitchModes : DWORD;
  1399. dwVolumeFlags : DWORD;
  1400. dwGainFlags : DWORD;
  1401. dwDisplayNumRows : DWORD;
  1402. dwDisplayNumColumns : DWORD;
  1403. dwNumRingModes : DWORD;
  1404. dwNumButtonLamps : DWORD;
  1405. dwButtonModesSize : DWORD;
  1406. dwButtonModesOffset : DWORD;
  1407. dwButtonFunctionsSize : DWORD;
  1408. dwButtonFunctionsOffset : DWORD;
  1409. dwLampModesSize : DWORD;
  1410. dwLampModesOffset : DWORD;
  1411. dwNumSetData : DWORD;
  1412. dwSetDataSize : DWORD;
  1413. dwSetDataOffset : DWORD;
  1414. dwNumGetData : DWORD;
  1415. dwGetDataSize : DWORD;
  1416. dwGetDataOffset : DWORD;
  1417. dwDevSpecificSize : DWORD;
  1418. dwDevSpecificOffset : DWORD;
  1419. dwDeviceClassesSize : DWORD; // TAPI v2.0
  1420. dwDeviceClassesOffset : DWORD; // TAPI v2.0
  1421. dwPhoneFeatures : DWORD; // TAPI v2.0
  1422. dwSettableHandsetHookSwitchModes : DWORD; // TAPI v2.0
  1423. dwSettableSpeakerHookSwitchModes : DWORD; // TAPI v2.0
  1424. dwSettableHeadsetHookSwitchModes : DWORD; // TAPI v2.0
  1425. dwMonitoredHandsetHookSwitchModes : DWORD; // TAPI v2.0
  1426. dwMonitoredSpeakerHookSwitchModes : DWORD; // TAPI v2.0
  1427. dwMonitoredHeadsetHookSwitchModes : DWORD; // TAPI v2.0
  1428. PermanentPhoneGuid : GUID; // TAPI v2.2
  1429. end;
  1430. TPHONECAPS = phonecaps_tag;
  1431. LPPHONECAPS = ^phonecaps_tag;
  1432. phoneextensionid_tag = record
  1433. dwExtensionID0 : DWORD;
  1434. dwExtensionID1 : DWORD;
  1435. dwExtensionID2 : DWORD;
  1436. dwExtensionID3 : DWORD;
  1437. end;
  1438. TPHONEEXTENSIONID = phoneextensionid_tag;
  1439. LPPHONEEXTENSIONID = ^phoneextensionid_tag;
  1440. phoneinitializeexparams_tag = record
  1441. dwTotalSize : DWORD; // TAPI v2.0
  1442. dwNeededSize : DWORD; // TAPI v2.0
  1443. dwUsedSize : DWORD; // TAPI v2.0
  1444. dwOptions : DWORD; // TAPI v2.0
  1445. Handles : record
  1446. case longint of
  1447. 0 : ( hEvent : HANDLE ); // TAPI v2.0
  1448. 1 : ( hCompletionPort : HANDLE ); // TAPI v2.0
  1449. end;
  1450. dwCompletionKey : DWORD; // TAPI v2.0
  1451. end;
  1452. TPHONEINITIALIZEEXPARAMS = phoneinitializeexparams_tag;
  1453. LPPHONEINITIALIZEEXPARAMS = ^phoneinitializeexparams_tag;
  1454. phonemessage_tag = record
  1455. hDevice : DWORD; // TAPI v2.0
  1456. dwMessageID : DWORD; // TAPI v2.0
  1457. dwCallbackInstance : DWORD; // TAPI v2.0
  1458. dwParam1 : DWORD; // TAPI v2.0
  1459. dwParam2 : DWORD; // TAPI v2.0
  1460. dwParam3 : DWORD; // TAPI v2.0
  1461. end;
  1462. TPHONEMESSAGE = phonemessage_tag;
  1463. LPPHONEMESSAGE = ^phonemessage_tag;
  1464. phonestatus_tag = record
  1465. dwTotalSize : DWORD;
  1466. dwNeededSize : DWORD;
  1467. dwUsedSize : DWORD;
  1468. dwStatusFlags : DWORD;
  1469. dwNumOwners : DWORD;
  1470. dwNumMonitors : DWORD;
  1471. dwRingMode : DWORD;
  1472. dwRingVolume : DWORD;
  1473. dwHandsetHookSwitchMode : DWORD;
  1474. dwHandsetVolume : DWORD;
  1475. dwHandsetGain : DWORD;
  1476. dwSpeakerHookSwitchMode : DWORD;
  1477. dwSpeakerVolume : DWORD;
  1478. dwSpeakerGain : DWORD;
  1479. dwHeadsetHookSwitchMode : DWORD;
  1480. dwHeadsetVolume : DWORD;
  1481. dwHeadsetGain : DWORD;
  1482. dwDisplaySize : DWORD;
  1483. dwDisplayOffset : DWORD;
  1484. dwLampModesSize : DWORD;
  1485. dwLampModesOffset : DWORD;
  1486. dwOwnerNameSize : DWORD;
  1487. dwOwnerNameOffset : DWORD;
  1488. dwDevSpecificSize : DWORD;
  1489. dwDevSpecificOffset : DWORD;
  1490. dwPhoneFeatures : DWORD; // TAPI v2.0
  1491. end;
  1492. TPHONESTATUS = phonestatus_tag;
  1493. LPPHONESTATUS = ^phonestatus_tag;
  1494. varstring_tag = record
  1495. dwTotalSize : DWORD;
  1496. dwNeededSize : DWORD;
  1497. dwUsedSize : DWORD;
  1498. dwStringFormat : DWORD;
  1499. dwStringSize : DWORD;
  1500. dwStringOffset : DWORD;
  1501. end;
  1502. TVARSTRING = varstring_tag;
  1503. LPVARSTRING = ^varstring_tag;
  1504. //*****************************************************************************
  1505. // functions
  1506. //*****************************************************************************
  1507. function lineAccept(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineAccept';
  1508. function lineAddProvider(lpszProviderFilename:LPCWSTR; hwndOwner:HWND;
  1509. lpdwPermanentProviderID:LPDWORD):LONG;external KernelDLL name 'lineAddProvider';
  1510. function lineAddToConference(hConfCall:HCALL; hConsultCall:HCALL):LONG;external KernelDLL name 'lineAddToConference';
  1511. function lineAnswer(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineAnswer';
  1512. function lineBlindTransfer(hCall:HCALL; lpszDestAddressW:LPCWSTR;
  1513. dwCountryCode:DWORD):LONG;external KernelDLL name 'lineBlindTransfer';
  1514. function lineClose(hLine:HLINE):LONG;external KernelDLL name 'lineClose';
  1515. function lineCompleteTransfer(hCall:HCALL; hConsultCall:HCALL; lphConfCall:LPHCALL;
  1516. dwTransferMode:DWORD):LONG;external KernelDLL name 'lineCompleteTransfer';
  1517. function lineConfigDialogEdit(dwDeviceID:DWORD; hwndOwner:HWND; lpszDeviceClass:LPCWSTR; lpDeviceConfigIn:LPVOID;
  1518. dwSize:DWORD; lpDeviceConfigOut:LPVARSTRING):LONG;external KernelDLL name 'lineConfigDialogEdit';
  1519. function lineDeallocateCall(hCall:HCALL):LONG;external KernelDLL name 'lineDeallocateCall';
  1520. function lineDevSpecific(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; lpParams:LPVOID;
  1521. dwSize:DWORD):LONG;external KernelDLL name 'lineDevSpecific';
  1522. function lineDial(hCall:HCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD):LONG;external KernelDLL name 'lineDial';
  1523. function lineDrop(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineDrop';
  1524. function lineForward(hLine:HLINE; bAllAddresses:DWORD; dwAddressID:DWORD; lpForwardList:LPLINEFORWARDLIST;
  1525. dwNumRingsNoAnswer:DWORD; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineForward';
  1526. function lineGenerateDigits(hCall:HCALL; dwDigitMode:DWORD; lpszDigits:LPCWSTR; dwDuration:DWORD):LONG;
  1527. external KernelDLL name 'lineGenerateDigits';
  1528. function lineGenerateTone(hCall:HCALL; dwToneMode:DWORD; dwDuration:DWORD; dwNumTones:DWORD; lpTones:LPLINEGENERATETONE):LONG;
  1529. external KernelDLL name 'lineGenerateTone';
  1530. function lineGetAddressCaps(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAddressID:DWORD; dwAPIVersion:DWORD;
  1531. dwExtVersion:DWORD; lpAddressCaps:LPLINEADDRESSCAPS):LONG;external KernelDLL name 'lineGetAddressCaps';
  1532. function lineGetAddressID(hLine:HLINE; lpdwAddressID:LPDWORD; dwAddressMode:DWORD; lpsAddress:LPCWSTR;
  1533. dwSize:DWORD):LONG;external KernelDLL name 'lineGetAddressID';
  1534. function tAddressStatus(hLine:HLINE; dwAddressID:DWORD; lpAddressStatus:LPLINEADDRESSSTATUS):LONG;
  1535. external KernelDLL name 'lineGetAddressStatus';
  1536. function lineGetAppPriority(lpszAppFilename:LPCWSTR; dwMediaMode:DWORD; lpExtensionID:LPLINEEXTENSIONID;
  1537. dwRequestMode:DWORD; lpExtensionName:LPVARSTRING; lpdwPriority:LPDWORD):LONG;external KernelDLL name 'lineGetAppPriority'; { TAPI v1.4 }
  1538. function lineGetCallInfo(hCall:HCALL; lpCallInfo:LPLINECALLINFO):LONG;external KernelDLL name 'lineGetCallInfo';
  1539. function lineGetCallStatus(hCall:HCALL; lpCallStatus:LPLINECALLSTATUS):LONG;external KernelDLL name 'lineGetCallStatus';
  1540. function lineGetConfRelatedCalls(hCall:HCALL; lpCallList:LPLINECALLLIST):LONG;external KernelDLL name 'lineGetConfRelatedCalls';
  1541. function lineGetDevCaps(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtVersion:DWORD;
  1542. lpLineDevCaps:LPLINEDEVCAPS):LONG;external KernelDLL name 'lineGetDevCaps';
  1543. function lineGetDevConfig(dwDeviceID:DWORD; lpDeviceConfig:LPVARSTRING; lpszDeviceClass:LPCWSTR):LONG;
  1544. external KernelDLL name 'lineGetDevConfig';
  1545. function lineGetNewCalls(hLine:HLINE; dwAddressID:DWORD; dwSelect:DWORD; lpCallList:LPLINECALLLIST):LONG;
  1546. external KernelDLL name 'lineGetNewCalls';
  1547. function lineGetIcon(dwDeviceID:DWORD; lpszDeviceClass:LPCWSTR; lphIcon:LPHICON):LONG;external KernelDLL name 'lineGetIcon';
  1548. function lineGetID(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; dwSelect:DWORD; lpDeviceID:LPVARSTRING;
  1549. lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'lineGetID';
  1550. function lineGetLineDevStatus(hLine:HLINE; lpLineDevStatus:LPLINEDEVSTATUS):LONG;external KernelDLL name 'lineGetLineDevStatus';
  1551. function lineGetMessage(hLineApp:HLINEAPP; lpMessage:LPLINEMESSAGE; dwTimeout:DWORD):LONG;external KernelDLL name 'lineGetMessage';
  1552. function lineGetNumRings(hLine:HLINE; dwAddressID:DWORD; lpdwNumRings:LPDWORD):LONG;external KernelDLL name 'lineGetNumRings';
  1553. function lineGetProviderList(dwAPIVersion:DWORD; lpProviderList:LPLINEPROVIDERLIST):LONG;
  1554. external KernelDLL name 'lineGetProviderList'; { TAPI v1.4 }
  1555. function lineGetStatusMessages(hLine:HLINE; lpdwLineStates:LPDWORD; lpdwAddressStates:LPDWORD):LONG;
  1556. external KernelDLL name 'lineGetStatusMessages';
  1557. function lineGetTranslateCaps(hLineApp:HLINEAPP; dwAPIVersion:DWORD; lpTranslateCaps:LPLINETRANSLATECAPS):LONG;
  1558. external KernelDLL name 'lineGetTranslateCaps';
  1559. function lineHandoff(hCall:HCALL; lpszFileName:LPCWSTR; dwMediaMode:DWORD):LONG;external KernelDLL name 'lineHandoff';
  1560. function lineHold(hCall:HCALL):LONG;external KernelDLL name 'lineHold';
  1561. function lineInitialize(lphLineApp:LPHLINEAPP; hInstance:HINST; lpfnCallback:LINECALLBACK; lpszAppName:LPCWSTR;
  1562. lpdwNumDevs:LPDWORD):LONG;external KernelDLL name 'lineInitialize';
  1563. function lineInitializeEx(lphLineApp:LPHLINEAPP; hInstance:HINST; lpfnCallback:LINECALLBACK; lpszFriendlyAppName:LPCWSTR;
  1564. lpdwNumDevs:LPDWORD; lpdwAPIVersion:LPDWORD; lpLineInitializeExParams:LPLINEINITIALIZEEXPARAMS):LONG;
  1565. external KernelDLL name 'lineInitializeEx';
  1566. function lineMakeCall(hLine:HLINE; lphCall:LPHCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD;
  1567. lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineMakeCall';
  1568. function lineMonitorDigits(hCall:HCALL; dwDigitModes:DWORD):LONG;external KernelDLL name 'lineMonitorDigits';
  1569. function lineMonitorMedia(hCall:HCALL; dwMediaModes:DWORD):LONG;external KernelDLL name 'lineMonitorMedia';
  1570. function lineNegotiateAPIVersion(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPILowVersion:DWORD; dwAPIHighVersion:DWORD;
  1571. lpdwAPIVersion:LPDWORD; lpExtensionID:LPLINEEXTENSIONID):LONG;external KernelDLL name 'lineNegotiateAPIVersion';
  1572. function lineNegotiateExtVersion(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtLowVersion:DWORD;
  1573. dwExtHighVersion:DWORD; lpdwExtVersion:LPDWORD):LONG;external KernelDLL name 'lineNegotiateExtVersion';
  1574. function lineOpen(hLineApp:HLINEAPP; dwDeviceID:DWORD; lphLine:LPHLINE; dwAPIVersion:DWORD; dwExtVersion:DWORD;
  1575. dwCallbackInstance:DWORD; dwPrivileges:DWORD; dwMediaModes:DWORD; lpCallParams:LPLINECALLPARAMS):LONG;
  1576. external KernelDLL name 'lineOpen';
  1577. function linePickup(hLine:HLINE; dwAddressID:DWORD; lphCall:LPHCALL; lpszDestAddress:LPCWSTR; lpszGroupID:LPCWSTR):LONG;
  1578. external KernelDLL name 'linePickup';
  1579. function linePrepareAddToConference(hConfCall:HCALL; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG;
  1580. external KernelDLL name 'linePrepareAddToConference';
  1581. function lineRedirect(hCall:HCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD):LONG;external KernelDLL name 'lineRedirect';
  1582. function lineReleaseUserUserInfo(hCall:HCALL):LONG;external KernelDLL name 'lineReleaseUserUserInfo'; { TAPI v1.4 }
  1583. function lineRemoveFromConference(hCall:HCALL):LONG;external KernelDLL name 'lineRemoveFromConference';
  1584. function lineSendUserUserInfo(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineSendUserUserInfo';
  1585. function lineSetAppPriority(lpszAppFilename:LPCWSTR; dwMediaMode:DWORD; lpExtensionID:LPLINEEXTENSIONID; dwRequestMode:DWORD;
  1586. lpszExtensionName:LPCWSTR; dwPriority:DWORD):LONG;external KernelDLL name 'lineSetAppPriority'; { TAPI v1.4 }
  1587. function lineSetCallParams(hCall:HCALL; dwBearerMode:DWORD; dwMinRate:DWORD; dwMaxRate:DWORD; lpDialParams:LPLINEDIALPARAMS):LONG;
  1588. external KernelDLL name 'lineSetCallParams';
  1589. function lineSetCallPrivilege(hCall:HCALL; dwCallPrivilege:DWORD):LONG;external KernelDLL name 'lineSetCallPrivilege';
  1590. function lineSetCurrentLocation(hLineApp:HLINEAPP; dwLocation:DWORD):LONG;external KernelDLL name 'lineSetCurrentLocation';
  1591. function lineSetDevConfig(dwDeviceID:DWORD; lpDeviceConfig:LPVOID; dwSize:DWORD; lpszDeviceClass:LPCWSTR):LONG;
  1592. external KernelDLL name 'lineSetDevConfig';
  1593. function lineSetMediaMode(hCall:HCALL; dwMediaModes:DWORD):LONG;external KernelDLL name 'lineSetMediaMode';
  1594. function lineSetNumRings(hLine:HLINE; dwAddressID:DWORD; dwNumRings:DWORD):LONG;external KernelDLL name 'lineSetNumRings';
  1595. function lineSetStatusMessages(hLine:HLINE; dwLineStates:DWORD; dwAddressStates:DWORD):LONG;
  1596. external KernelDLL name 'lineSetStatusMessages';
  1597. function lineSetTerminal(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; dwSelect:DWORD; dwTerminalModes:DWORD;
  1598. dwTerminalID:DWORD; bEnable:DWORD):LONG;external KernelDLL name 'lineSetTerminal';
  1599. function lineSetTollList(hLineApp:HLINEAPP; dwDeviceID:DWORD; lpszAddressIn:LPCWSTR; dwTollListOption:DWORD):LONG;
  1600. external KernelDLL name 'lineSetTollList';
  1601. function lineSetupConference(hCall:HCALL; hLine:HLINE; lphConfCall:LPHCALL; lphConsultCall:LPHCALL; dwNumParties:DWORD;
  1602. lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineSetupConference';
  1603. function lineSetupTransfer(hCall:HCALL; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG;
  1604. external KernelDLL name 'lineSetupTransfer';
  1605. function lineShutdown(hLineApp:HLINEAPP):LONG;external KernelDLL name 'lineShutdown';
  1606. function lineSwapHold(hActiveCall:HCALL; hHeldCall:HCALL):LONG;external KernelDLL name 'lineSwapHold';
  1607. function lineTranslateAddress(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; lpszAddressIn:LPCWSTR; dwCard:DWORD;
  1608. dwTranslateOptions:DWORD; lpTranslateOutput:LPLINETRANSLATEOUTPUT):LONG;external KernelDLL name 'lineTranslateAddress';
  1609. function lineTranslateDialog(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; hwndOwner:HWND;
  1610. lpszAddressIn:LPCWSTR):LONG;external KernelDLL name 'lineTranslateDialog'; { TAPI v1.4 }
  1611. function lineUnhold(hCall:HCALL):LONG;external KernelDLL name 'lineUnhold';
  1612. function phoneClose(hPhone:HPHONE):LONG;external KernelDLL name 'phoneClose';
  1613. function phoneConfigDialog(dwDeviceID:DWORD; hwndOwner:HWND; lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'phoneConfigDialog';
  1614. function phoneDevSpecific(hPhone:HPHONE; lpParams:LPVOID; dwSize:DWORD):LONG;external KernelDLL name 'phoneDevSpecific';
  1615. function phoneGetDevCaps(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtVersion:DWORD;
  1616. lpPhoneCaps:LPPHONECAPS):LONG;external KernelDLL name 'phoneGetDevCaps';
  1617. function phoneGetGain(hPhone:HPHONE; dwHookSwitchDev:DWORD; lpdwGain:LPDWORD):LONG;external KernelDLL name 'phoneGetGain';
  1618. function phoneGetHookSwitch(hPhone:HPHONE; lpdwHookSwitchDevs:LPDWORD):LONG;external KernelDLL name 'phoneGetHookSwitch';
  1619. function phoneGetIcon(dwDeviceID:DWORD; lpszDeviceClass:LPCWSTR; lphIcon:LPHICON):LONG;external KernelDLL name 'phoneGetIcon';
  1620. function phoneGetID(hPhone:HPHONE; lpDeviceID:LPVARSTRING; lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'phoneGetID';
  1621. function phoneGetMessage(hPhoneApp:HPHONEAPP; lpMessage:LPPHONEMESSAGE; dwTimeout:DWORD):LONG;external KernelDLL name 'phoneGetMessage';
  1622. function phoneGetRing(hPhone:HPHONE; lpdwRingMode:LPDWORD; lpdwVolume:LPDWORD):LONG;external KernelDLL name 'phoneGetRing';
  1623. function phoneGetStatus(hPhone:HPHONE; lpPhoneStatus:LPPHONESTATUS):LONG;external KernelDLL name 'phoneGetStatus';
  1624. function phoneGetStatusMessages(hPhone:HPHONE; lpdwPhoneStates:LPDWORD; lpdwButtonModes:LPDWORD; lpdwButtonStates:LPDWORD):LONG;
  1625. external KernelDLL name 'phoneGetStatusMessages';
  1626. function phoneGetVolume(hPhone:HPHONE; dwHookSwitchDev:DWORD; lpdwVolume:LPDWORD):LONG;external KernelDLL name 'phoneGetVolume';
  1627. function phoneInitializeEx(lphPhoneApp:LPHPHONEAPP; hInstance:HINST; lpfnCallback:PHONECALLBACK; lpszFriendlyAppName:LPCWSTR;
  1628. lpdwNumDevs:LPDWORD; lpdwAPIVersion:LPDWORD; lpPhoneInitializeExParams:LPPHONEINITIALIZEEXPARAMS):LONG;
  1629. external KernelDLL name 'phoneInitializeEx';
  1630. function phoneNegotiateAPIVersion(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPILowVersion:DWORD; dwAPIHighVersion:DWORD;
  1631. lpdwAPIVersion:LPDWORD; lpExtensionID:LPPHONEEXTENSIONID):LONG;external KernelDLL name 'phoneNegotiateAPIVersion';
  1632. function phoneNegotiateExtVersion(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtLowVersion:DWORD;
  1633. dwExtHighVersion:DWORD; lpdwExtVersion:LPDWORD):LONG;external KernelDLL name 'phoneNegotiateExtVersion';
  1634. function phoneOpen(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; lphPhone:LPHPHONE; dwAPIVersion:DWORD; dwExtVersion:DWORD;
  1635. dwCallbackInstance:DWORD; dwPrivilege:DWORD):LONG;external KernelDLL name 'phoneOpen';
  1636. function phoneSetGain(hPhone:HPHONE; dwHookSwitchDev:DWORD; dwGain:DWORD):LONG;external KernelDLL name 'phoneSetGain';
  1637. function phoneSetHookSwitch(hPhone:HPHONE; dwHookSwitchDevs:DWORD; dwHookSwitchMode:DWORD):LONG;
  1638. external KernelDLL name 'phoneSetHookSwitch';
  1639. function phoneSetRing(hPhone:HPHONE; dwRingMode:DWORD; dwVolume:DWORD):LONG;external KernelDLL name 'phoneSetRing';
  1640. function phoneSetStatusMessages(hPhone:HPHONE; dwPhoneStates:DWORD; dwButtonModes:DWORD; dwButtonStates:DWORD):LONG;
  1641. external KernelDLL name 'phoneSetStatusMessages';
  1642. function phoneSetVolume(hPhone:HPHONE; dwHookSwitchDev:DWORD; dwVolume:DWORD):LONG;external KernelDLL name 'phoneSetVolume';
  1643. function phoneShutdown(hPhoneApp:HPHONEAPP):LONG;external KernelDLL name 'phoneShutdown';
  1644. function TAPIERROR_FORMATMESSAGE(const AErrCode: Longword): Longword; // C Macros conversion, may be wrong
  1645. {$endif read_interface}
  1646. {$ifdef read_implementation}
  1647. function TAPIERROR_FORMATMESSAGE(const AErrCode: Longword): Longword;
  1648. begin
  1649. if AErrCode>$FFFF0000 then Exit(AErrCode and $0000FFFF);
  1650. if (AErrCode and $10000000)<>0 then Exit(AErrCode-$90000000+$F000);
  1651. Exit(AErrCode-$80000000+$E000);
  1652. end;
  1653. {$endif read_implementation}