Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5301 lines
168 KiB

  1. /*++ BUILD Version: 0000 // Increment this if a change has global effects
  2. The Telephony API is jointly copyrighted by Intel and Microsoft. You are
  3. granted a royalty free worldwide, unlimited license to make copies, and use
  4. the API/SPI for making applications/drivers that interface with the
  5. specification provided that this paragraph and the Intel/Microsoft copyright
  6. statement is maintained as is in the text and source code files.
  7. Copyright (c) Microsoft Corporation, All rights reserved.
  8. Portions copyright 1992, 1993 Intel/Microsoft, all rights reserved.
  9. Module Name:
  10. tapi.h
  11. Notes:
  12. Additions to the Telephony Application Programming Interface (TAPI) since
  13. version 1.0 are noted by version number (e.g. "TAPI v1.4").
  14. --*/
  15. #ifndef TAPI_H
  16. #define TAPI_H
  17. //
  18. // -- TAPI VERSION INFO -- TAPI VERSION INFO -- TAPI VERSION INFO --
  19. //
  20. // To build a TAPI 1.4 application put a define as below in your source
  21. // file before you include TAPI.H:
  22. //
  23. // #define TAPI_CURRENT_VERSION 0x00010004
  24. //
  25. //
  26. #ifndef TAPI_CURRENT_VERSION
  27. #define TAPI_CURRENT_VERSION 0x00020002
  28. #endif
  29. #include <windows.h>
  30. #if WIN32
  31. #include <basetsd.h>
  32. #endif
  33. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  34. #include <oaidl.h>
  35. #endif
  36. #pragma pack(1)
  37. // Type definitions of the data types used in tapi
  38. #ifdef __cplusplus
  39. extern "C" { /* Assume C declarations for C++ */
  40. #endif /* __cplusplus */
  41. //
  42. // TAPI type definitions
  43. //
  44. #define DECLARE_OPAQUE32(name) typedef DWORD name
  45. DECLARE_OPAQUE32(HCALL);
  46. typedef HCALL FAR * LPHCALL;
  47. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  48. DECLARE_OPAQUE32(HCALLHUB); // TAPI v3.0
  49. typedef HCALLHUB FAR * LPHCALLHUB; // TAPI v3.0
  50. #endif
  51. DECLARE_OPAQUE32(HLINE);
  52. typedef HLINE FAR * LPHLINE;
  53. DECLARE_OPAQUE32(HPHONE);
  54. typedef HPHONE FAR * LPHPHONE;
  55. DECLARE_OPAQUE32(HLINEAPP);
  56. typedef HLINEAPP FAR * LPHLINEAPP;
  57. DECLARE_OPAQUE32(HPHONEAPP);
  58. typedef HPHONEAPP FAR * LPHPHONEAPP;
  59. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  60. DECLARE_OPAQUE32(HAGENTSESSION); // TAPI v2.2
  61. typedef HAGENTSESSION FAR * LPHAGENTSESSION; // TAPI v2.2
  62. DECLARE_OPAQUE32(HAGENT); // TAPI v2.2
  63. typedef HAGENT FAR * LPHAGENT; // TAPI v2.2
  64. #endif
  65. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  66. DECLARE_OPAQUE32(HPRIVATECHANNEL); // TAPI v3.0
  67. typedef HPRIVATECHANNEL FAR * LPHPRIVATECHANNEL; // TAPI v3.0
  68. #endif
  69. typedef HICON FAR * LPHICON;
  70. typedef void (CALLBACK * LINECALLBACK)(
  71. DWORD hDevice,
  72. DWORD dwMessage,
  73. DWORD_PTR dwInstance,
  74. DWORD_PTR dwParam1,
  75. DWORD_PTR dwParam2,
  76. DWORD_PTR dwParam3
  77. );
  78. typedef void (CALLBACK * PHONECALLBACK)(
  79. DWORD hDevice,
  80. DWORD dwMessage,
  81. DWORD_PTR dwInstance,
  82. DWORD_PTR dwParam1,
  83. DWORD_PTR dwParam2,
  84. DWORD_PTR dwParam3
  85. );
  86. // Messages for Phones and Lines
  87. #define LINE_ADDRESSSTATE 0L
  88. #define LINE_CALLINFO 1L
  89. #define LINE_CALLSTATE 2L
  90. #define LINE_CLOSE 3L
  91. #define LINE_DEVSPECIFIC 4L
  92. #define LINE_DEVSPECIFICFEATURE 5L
  93. #define LINE_GATHERDIGITS 6L
  94. #define LINE_GENERATE 7L
  95. #define LINE_LINEDEVSTATE 8L
  96. #define LINE_MONITORDIGITS 9L
  97. #define LINE_MONITORMEDIA 10L
  98. #define LINE_MONITORTONE 11L
  99. #define LINE_REPLY 12L
  100. #define LINE_REQUEST 13L
  101. #define PHONE_BUTTON 14L
  102. #define PHONE_CLOSE 15L
  103. #define PHONE_DEVSPECIFIC 16L
  104. #define PHONE_REPLY 17L
  105. #define PHONE_STATE 18L
  106. #define LINE_CREATE 19L // TAPI v1.4
  107. #define PHONE_CREATE 20L // TAPI v1.4
  108. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  109. #define LINE_AGENTSPECIFIC 21L // TAPI v2.0
  110. #define LINE_AGENTSTATUS 22L // TAPI v2.0
  111. #define LINE_APPNEWCALL 23L // TAPI v2.0
  112. #define LINE_PROXYREQUEST 24L // TAPI v2.0
  113. #define LINE_REMOVE 25L // TAPI v2.0
  114. #define PHONE_REMOVE 26L // TAPI v2.0
  115. #endif
  116. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  117. #define LINE_AGENTSESSIONSTATUS 27L // TAPI v2.2
  118. #define LINE_QUEUESTATUS 28L // TAPI v2.2
  119. #define LINE_AGENTSTATUSEX 29L // TAPI v2.2
  120. #define LINE_GROUPSTATUS 30L // TAPI v2.2
  121. #define LINE_PROXYSTATUS 31L // TAPI v2.2
  122. #endif
  123. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  124. #define LINE_APPNEWCALLHUB 32L // TAPI v3.0
  125. #define LINE_CALLHUBCLOSE 33L // TAPI v3.0
  126. #define LINE_DEVSPECIFICEX 34L // TAPI v3.0
  127. #endif
  128. #define INITIALIZE_NEGOTIATION 0xFFFFFFFFUL
  129. #define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
  130. #define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
  131. #define LINEADDRCAPFLAGS_SECURE 0x00000004
  132. #define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
  133. #define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
  134. #define LINEADDRCAPFLAGS_DIALED 0x00000020
  135. #define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
  136. #define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
  137. #define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
  138. #define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
  139. #define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
  140. #define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
  141. #define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
  142. #define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
  143. #define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
  144. #define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
  145. #define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
  146. #define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
  147. #define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
  148. #define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
  149. #define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
  150. #define LINEADDRCAPFLAGS_CONFDROP 0x00200000
  151. #define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
  152. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  153. #define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000 // TAPI v2.0
  154. #define LINEADDRCAPFLAGS_QUEUE 0x01000000 // TAPI v2.0
  155. #define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000 // TAPI v2.0
  156. #define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000 // TAPI v2.0
  157. #define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000 // TAPI v2.0
  158. #define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000 // TAPI v2.0
  159. #define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000 // TAPI v2.0
  160. #endif
  161. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  162. #define LINEADDRCAPFLAGS_ACDGROUP 0x40000000 // TAPI v2.2
  163. #endif
  164. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  165. #define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION 0x80000000 // TAPI v3.0
  166. #endif
  167. #define LINEADDRESSMODE_ADDRESSID 0x00000001
  168. #define LINEADDRESSMODE_DIALABLEADDR 0x00000002
  169. #define LINEADDRESSSHARING_PRIVATE 0x00000001
  170. #define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
  171. #define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
  172. #define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
  173. #define LINEADDRESSSHARING_MONITORED 0x00000010
  174. #define LINEADDRESSSTATE_OTHER 0x00000001
  175. #define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
  176. #define LINEADDRESSSTATE_INUSEZERO 0x00000004
  177. #define LINEADDRESSSTATE_INUSEONE 0x00000008
  178. #define LINEADDRESSSTATE_INUSEMANY 0x00000010
  179. #define LINEADDRESSSTATE_NUMCALLS 0x00000020
  180. #define LINEADDRESSSTATE_FORWARD 0x00000040
  181. #define LINEADDRESSSTATE_TERMINALS 0x00000080
  182. #define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 // TAPI v1.4
  183. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  184. #define LINEADDRESSTYPE_PHONENUMBER 0x00000001
  185. #define LINEADDRESSTYPE_SDP 0x00000002
  186. #define LINEADDRESSTYPE_EMAILNAME 0x00000004
  187. #define LINEADDRESSTYPE_DOMAINNAME 0x00000008
  188. #define LINEADDRESSTYPE_IPADDRESS 0x00000010
  189. #endif
  190. #define LINEADDRFEATURE_FORWARD 0x00000001
  191. #define LINEADDRFEATURE_MAKECALL 0x00000002
  192. #define LINEADDRFEATURE_PICKUP 0x00000004
  193. #define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
  194. #define LINEADDRFEATURE_SETTERMINAL 0x00000010
  195. #define LINEADDRFEATURE_SETUPCONF 0x00000020
  196. #define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
  197. #define LINEADDRFEATURE_UNPARK 0x00000080
  198. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  199. #define LINEADDRFEATURE_PICKUPHELD 0x00000100 // TAPI v2.0
  200. #define LINEADDRFEATURE_PICKUPGROUP 0x00000200 // TAPI v2.0
  201. #define LINEADDRFEATURE_PICKUPDIRECT 0x00000400 // TAPI v2.0
  202. #define LINEADDRFEATURE_PICKUPWAITING 0x00000800 // TAPI v2.0
  203. #define LINEADDRFEATURE_FORWARDFWD 0x00001000 // TAPI v2.0
  204. #define LINEADDRFEATURE_FORWARDDND 0x00002000 // TAPI v2.0
  205. #endif
  206. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  207. #define LINEAGENTFEATURE_SETAGENTGROUP 0x00000001 // TAPI v2.0
  208. #define LINEAGENTFEATURE_SETAGENTSTATE 0x00000002 // TAPI v2.0
  209. #define LINEAGENTFEATURE_SETAGENTACTIVITY 0x00000004 // TAPI v2.0
  210. #define LINEAGENTFEATURE_AGENTSPECIFIC 0x00000008 // TAPI v2.0
  211. #define LINEAGENTFEATURE_GETAGENTACTIVITYLIST 0x00000010 // TAPI v2.0
  212. #define LINEAGENTFEATURE_GETAGENTGROUP 0x00000020 // TAPI v2.0
  213. #define LINEAGENTSTATE_LOGGEDOFF 0x00000001 // TAPI v2.0
  214. #define LINEAGENTSTATE_NOTREADY 0x00000002 // TAPI v2.0
  215. #define LINEAGENTSTATE_READY 0x00000004 // TAPI v2.0
  216. #define LINEAGENTSTATE_BUSYACD 0x00000008 // TAPI v2.0
  217. #define LINEAGENTSTATE_BUSYINCOMING 0x00000010 // TAPI v2.0
  218. #define LINEAGENTSTATE_BUSYOUTBOUND 0x00000020 // TAPI v2.0
  219. #define LINEAGENTSTATE_BUSYOTHER 0x00000040 // TAPI v2.0
  220. #define LINEAGENTSTATE_WORKINGAFTERCALL 0x00000080 // TAPI v2.0
  221. #define LINEAGENTSTATE_UNKNOWN 0x00000100 // TAPI v2.0
  222. #define LINEAGENTSTATE_UNAVAIL 0x00000200 // TAPI v2.0
  223. #define LINEAGENTSTATUS_GROUP 0x00000001 // TAPI v2.0
  224. #define LINEAGENTSTATUS_STATE 0x00000002 // TAPI v2.0
  225. #define LINEAGENTSTATUS_NEXTSTATE 0x00000004 // TAPI v2.0
  226. #define LINEAGENTSTATUS_ACTIVITY 0x00000008 // TAPI v2.0
  227. #define LINEAGENTSTATUS_ACTIVITYLIST 0x00000010 // TAPI v2.0
  228. #define LINEAGENTSTATUS_GROUPLIST 0x00000020 // TAPI v2.0
  229. #define LINEAGENTSTATUS_CAPSCHANGE 0x00000040 // TAPI v2.0
  230. #define LINEAGENTSTATUS_VALIDSTATES 0x00000080 // TAPI v2.0
  231. #define LINEAGENTSTATUS_VALIDNEXTSTATES 0x00000100 // TAPI v2.0
  232. #endif
  233. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  234. #define LINEAGENTSTATEEX_NOTREADY 0x00000001 // TAPI v2.2
  235. #define LINEAGENTSTATEEX_READY 0x00000002 // TAPI v2.2
  236. #define LINEAGENTSTATEEX_BUSYACD 0x00000004 // TAPI v2.2
  237. #define LINEAGENTSTATEEX_BUSYINCOMING 0x00000008 // TAPI v2.2
  238. #define LINEAGENTSTATEEX_BUSYOUTGOING 0x00000010 // TAPI v2.2
  239. #define LINEAGENTSTATEEX_UNKNOWN 0x00000020 // TAPI v2.2
  240. #define LINEAGENTSTATEEX_RELEASED 0x00000040 // TAPI v2.2
  241. #define LINEAGENTSTATUSEX_NEWAGENT 0x00000001 // TAPI v2.2
  242. #define LINEAGENTSTATUSEX_STATE 0x00000002 // TAPI v2.2
  243. #define LINEAGENTSTATUSEX_UPDATEINFO 0x00000004 // TAPI v2.2
  244. //#define LINEAGENTSTATUSEX_DESTROYED 0x00000004 // TAPI v2.2
  245. #define LINEAGENTSESSIONSTATE_NOTREADY 0x00000001 // TAPI v2.2
  246. #define LINEAGENTSESSIONSTATE_READY 0x00000002 // TAPI v2.2
  247. #define LINEAGENTSESSIONSTATE_BUSYONCALL 0x00000004 // TAPI v2.2
  248. #define LINEAGENTSESSIONSTATE_BUSYWRAPUP 0x00000008 // TAPI v2.2
  249. #define LINEAGENTSESSIONSTATE_ENDED 0x00000010 // TAPI v2.2
  250. #define LINEAGENTSESSIONSTATE_RELEASED 0x00000020 // TAPI v2.2
  251. #define LINEAGENTSESSIONSTATUS_NEWSESSION 0x00000001 // TAPI v2.2
  252. #define LINEAGENTSESSIONSTATUS_STATE 0x00000002 // TAPI v2.2
  253. #define LINEAGENTSESSIONSTATUS_UPDATEINFO 0x00000004 // TAPI v2.2
  254. //#define LINEAGENTSESSIONSTATUS_DESTROYED 0x00000008 // TAPI v2.2
  255. #define LINEQUEUESTATUS_UPDATEINFO 0x00000001 // TAPI v2.2
  256. #define LINEQUEUESTATUS_NEWQUEUE 0x00000002 // TAPI v2.2
  257. #define LINEQUEUESTATUS_QUEUEREMOVED 0x00000004 // TAPI v2.2
  258. #define LINEGROUPSTATUS_NEWGROUP 0x00000001 // TAPI v2.2
  259. #define LINEGROUPSTATUS_GROUPREMOVED 0x00000002 // TAPI v2.2
  260. #define LINEPROXYSTATUS_OPEN 0x00000001 // TAPI v2.2
  261. #define LINEPROXYSTATUS_CLOSE 0x00000002 // TAPI v2.2
  262. #define LINEPROXYSTATUS_ALLOPENFORACD 0x00000004 // TAPI v2.2
  263. #endif
  264. #define LINEANSWERMODE_NONE 0x00000001
  265. #define LINEANSWERMODE_DROP 0x00000002
  266. #define LINEANSWERMODE_HOLD 0x00000004
  267. #define LINEBEARERMODE_VOICE 0x00000001
  268. #define LINEBEARERMODE_SPEECH 0x00000002
  269. #define LINEBEARERMODE_MULTIUSE 0x00000004
  270. #define LINEBEARERMODE_DATA 0x00000008
  271. #define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
  272. #define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
  273. #define LINEBEARERMODE_PASSTHROUGH 0x00000040 // TAPI v1.4
  274. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  275. #define LINEBEARERMODE_RESTRICTEDDATA 0x00000080 // TAPI v2.0
  276. #endif
  277. #define LINEBUSYMODE_STATION 0x00000001
  278. #define LINEBUSYMODE_TRUNK 0x00000002
  279. #define LINEBUSYMODE_UNKNOWN 0x00000004
  280. #define LINEBUSYMODE_UNAVAIL 0x00000008
  281. #define LINECALLCOMPLCOND_BUSY 0x00000001
  282. #define LINECALLCOMPLCOND_NOANSWER 0x00000002
  283. #define LINECALLCOMPLMODE_CAMPON 0x00000001
  284. #define LINECALLCOMPLMODE_CALLBACK 0x00000002
  285. #define LINECALLCOMPLMODE_INTRUDE 0x00000004
  286. #define LINECALLCOMPLMODE_MESSAGE 0x00000008
  287. #define LINECALLFEATURE_ACCEPT 0x00000001
  288. #define LINECALLFEATURE_ADDTOCONF 0x00000002
  289. #define LINECALLFEATURE_ANSWER 0x00000004
  290. #define LINECALLFEATURE_BLINDTRANSFER 0x00000008
  291. #define LINECALLFEATURE_COMPLETECALL 0x00000010
  292. #define LINECALLFEATURE_COMPLETETRANSF 0x00000020
  293. #define LINECALLFEATURE_DIAL 0x00000040
  294. #define LINECALLFEATURE_DROP 0x00000080
  295. #define LINECALLFEATURE_GATHERDIGITS 0x00000100
  296. #define LINECALLFEATURE_GENERATEDIGITS 0x00000200
  297. #define LINECALLFEATURE_GENERATETONE 0x00000400
  298. #define LINECALLFEATURE_HOLD 0x00000800
  299. #define LINECALLFEATURE_MONITORDIGITS 0x00001000
  300. #define LINECALLFEATURE_MONITORMEDIA 0x00002000
  301. #define LINECALLFEATURE_MONITORTONES 0x00004000
  302. #define LINECALLFEATURE_PARK 0x00008000
  303. #define LINECALLFEATURE_PREPAREADDCONF 0x00010000
  304. #define LINECALLFEATURE_REDIRECT 0x00020000
  305. #define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
  306. #define LINECALLFEATURE_SECURECALL 0x00080000
  307. #define LINECALLFEATURE_SENDUSERUSER 0x00100000
  308. #define LINECALLFEATURE_SETCALLPARAMS 0x00200000
  309. #define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
  310. #define LINECALLFEATURE_SETTERMINAL 0x00800000
  311. #define LINECALLFEATURE_SETUPCONF 0x01000000
  312. #define LINECALLFEATURE_SETUPTRANSFER 0x02000000
  313. #define LINECALLFEATURE_SWAPHOLD 0x04000000
  314. #define LINECALLFEATURE_UNHOLD 0x08000000
  315. #define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 // TAPI v1.4
  316. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  317. #define LINECALLFEATURE_SETTREATMENT 0x20000000 // TAPI v2.0
  318. #define LINECALLFEATURE_SETQOS 0x40000000 // TAPI v2.0
  319. #define LINECALLFEATURE_SETCALLDATA 0x80000000 // TAPI v2.0
  320. #endif
  321. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  322. #define LINECALLFEATURE2_NOHOLDCONFERENCE 0x00000001 // TAPI v2.0
  323. #define LINECALLFEATURE2_ONESTEPTRANSFER 0x00000002 // TAPI v2.0
  324. #define LINECALLFEATURE2_COMPLCAMPON 0x00000004 // TAPI v2.0
  325. #define LINECALLFEATURE2_COMPLCALLBACK 0x00000008 // TAPI v2.0
  326. #define LINECALLFEATURE2_COMPLINTRUDE 0x00000010 // TAPI v2.0
  327. #define LINECALLFEATURE2_COMPLMESSAGE 0x00000020 // TAPI v2.0
  328. #define LINECALLFEATURE2_TRANSFERNORM 0x00000040 // TAPI v2.0
  329. #define LINECALLFEATURE2_TRANSFERCONF 0x00000080 // TAPI v2.0
  330. #define LINECALLFEATURE2_PARKDIRECT 0x00000100 // TAPI v2.0
  331. #define LINECALLFEATURE2_PARKNONDIRECT 0x00000200 // TAPI v2.0
  332. #endif
  333. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  334. #define LINECALLHUBTRACKING_NONE 0x00000000 // TAPI v3.0
  335. #define LINECALLHUBTRACKING_PROVIDERLEVEL 0x00000001 // TAPI v3.0
  336. #define LINECALLHUBTRACKING_ALLCALLS 0x00000002 // TAPI v3.0
  337. #endif
  338. #define LINECALLINFOSTATE_OTHER 0x00000001
  339. #define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002
  340. #define LINECALLINFOSTATE_BEARERMODE 0x00000004
  341. #define LINECALLINFOSTATE_RATE 0x00000008
  342. #define LINECALLINFOSTATE_MEDIAMODE 0x00000010
  343. #define LINECALLINFOSTATE_APPSPECIFIC 0x00000020
  344. #define LINECALLINFOSTATE_CALLID 0x00000040
  345. #define LINECALLINFOSTATE_RELATEDCALLID 0x00000080
  346. #define LINECALLINFOSTATE_ORIGIN 0x00000100
  347. #define LINECALLINFOSTATE_REASON 0x00000200
  348. #define LINECALLINFOSTATE_COMPLETIONID 0x00000400
  349. #define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800
  350. #define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000
  351. #define LINECALLINFOSTATE_NUMMONITORS 0x00002000
  352. #define LINECALLINFOSTATE_TRUNK 0x00004000
  353. #define LINECALLINFOSTATE_CALLERID 0x00008000
  354. #define LINECALLINFOSTATE_CALLEDID 0x00010000
  355. #define LINECALLINFOSTATE_CONNECTEDID 0x00020000
  356. #define LINECALLINFOSTATE_REDIRECTIONID 0x00040000
  357. #define LINECALLINFOSTATE_REDIRECTINGID 0x00080000
  358. #define LINECALLINFOSTATE_DISPLAY 0x00100000
  359. #define LINECALLINFOSTATE_USERUSERINFO 0x00200000
  360. #define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000
  361. #define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000
  362. #define LINECALLINFOSTATE_CHARGINGINFO 0x01000000
  363. #define LINECALLINFOSTATE_TERMINAL 0x02000000
  364. #define LINECALLINFOSTATE_DIALPARAMS 0x04000000
  365. #define LINECALLINFOSTATE_MONITORMODES 0x08000000
  366. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  367. #define LINECALLINFOSTATE_TREATMENT 0x10000000 // TAPI v2.0
  368. #define LINECALLINFOSTATE_QOS 0x20000000 // TAPI v2.0
  369. #define LINECALLINFOSTATE_CALLDATA 0x40000000 // TAPI v2.0
  370. #endif
  371. #define LINECALLORIGIN_OUTBOUND 0x00000001
  372. #define LINECALLORIGIN_INTERNAL 0x00000002
  373. #define LINECALLORIGIN_EXTERNAL 0x00000004
  374. #define LINECALLORIGIN_UNKNOWN 0x00000010
  375. #define LINECALLORIGIN_UNAVAIL 0x00000020
  376. #define LINECALLORIGIN_CONFERENCE 0x00000040
  377. #define LINECALLORIGIN_INBOUND 0x00000080 // TAPI v1.4
  378. #define LINECALLPARAMFLAGS_SECURE 0x00000001
  379. #define LINECALLPARAMFLAGS_IDLE 0x00000002
  380. #define LINECALLPARAMFLAGS_BLOCKID 0x00000004
  381. #define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008
  382. #define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010
  383. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  384. #define LINECALLPARAMFLAGS_NOHOLDCONFERENCE 0x00000020 // TAPI v2.0
  385. #define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040 // TAPI v2.0
  386. #define LINECALLPARAMFLAGS_ONESTEPTRANSFER 0x00000080 // TAPI v2.0
  387. #endif
  388. #define LINECALLPARTYID_BLOCKED 0x00000001
  389. #define LINECALLPARTYID_OUTOFAREA 0x00000002
  390. #define LINECALLPARTYID_NAME 0x00000004
  391. #define LINECALLPARTYID_ADDRESS 0x00000008
  392. #define LINECALLPARTYID_PARTIAL 0x00000010
  393. #define LINECALLPARTYID_UNKNOWN 0x00000020
  394. #define LINECALLPARTYID_UNAVAIL 0x00000040
  395. #define LINECALLPRIVILEGE_NONE 0x00000001
  396. #define LINECALLPRIVILEGE_MONITOR 0x00000002
  397. #define LINECALLPRIVILEGE_OWNER 0x00000004
  398. #define LINECALLREASON_DIRECT 0x00000001
  399. #define LINECALLREASON_FWDBUSY 0x00000002
  400. #define LINECALLREASON_FWDNOANSWER 0x00000004
  401. #define LINECALLREASON_FWDUNCOND 0x00000008
  402. #define LINECALLREASON_PICKUP 0x00000010
  403. #define LINECALLREASON_UNPARK 0x00000020
  404. #define LINECALLREASON_REDIRECT 0x00000040
  405. #define LINECALLREASON_CALLCOMPLETION 0x00000080
  406. #define LINECALLREASON_TRANSFER 0x00000100
  407. #define LINECALLREASON_REMINDER 0x00000200
  408. #define LINECALLREASON_UNKNOWN 0x00000400
  409. #define LINECALLREASON_UNAVAIL 0x00000800
  410. #define LINECALLREASON_INTRUDE 0x00001000 // TAPI v1.4
  411. #define LINECALLREASON_PARKED 0x00002000 // TAPI v1.4
  412. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  413. #define LINECALLREASON_CAMPEDON 0x00004000 // TAPI v2.0
  414. #define LINECALLREASON_ROUTEREQUEST 0x00008000 // TAPI v2.0
  415. #endif
  416. #define LINECALLSELECT_LINE 0x00000001
  417. #define LINECALLSELECT_ADDRESS 0x00000002
  418. #define LINECALLSELECT_CALL 0x00000004
  419. #if (TAPI_CURRENT_VERSION >= 0x00020001)
  420. #define LINECALLSELECT_DEVICEID 0x00000008 // TAPI v2.1
  421. #endif
  422. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  423. #define LINECALLSELECT_CALLID 0x00000010 // TAPI v3.0
  424. #endif
  425. #define LINECALLSTATE_IDLE 0x00000001
  426. #define LINECALLSTATE_OFFERING 0x00000002
  427. #define LINECALLSTATE_ACCEPTED 0x00000004
  428. #define LINECALLSTATE_DIALTONE 0x00000008
  429. #define LINECALLSTATE_DIALING 0x00000010
  430. #define LINECALLSTATE_RINGBACK 0x00000020
  431. #define LINECALLSTATE_BUSY 0x00000040
  432. #define LINECALLSTATE_SPECIALINFO 0x00000080
  433. #define LINECALLSTATE_CONNECTED 0x00000100
  434. #define LINECALLSTATE_PROCEEDING 0x00000200
  435. #define LINECALLSTATE_ONHOLD 0x00000400
  436. #define LINECALLSTATE_CONFERENCED 0x00000800
  437. #define LINECALLSTATE_ONHOLDPENDCONF 0x00001000
  438. #define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
  439. #define LINECALLSTATE_DISCONNECTED 0x00004000
  440. #define LINECALLSTATE_UNKNOWN 0x00008000
  441. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  442. #define LINECALLTREATMENT_SILENCE 0x00000001 // TAPI v2.0
  443. #define LINECALLTREATMENT_RINGBACK 0x00000002 // TAPI v2.0
  444. #define LINECALLTREATMENT_BUSY 0x00000003 // TAPI v2.0
  445. #define LINECALLTREATMENT_MUSIC 0x00000004 // TAPI v2.0
  446. #endif
  447. #define LINECARDOPTION_PREDEFINED 0x00000001 // TAPI v1.4
  448. #define LINECARDOPTION_HIDDEN 0x00000002 // TAPI v1.4
  449. #define LINECONNECTEDMODE_ACTIVE 0x00000001 // TAPI v1.4
  450. #define LINECONNECTEDMODE_INACTIVE 0x00000002 // TAPI v1.4
  451. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  452. #define LINECONNECTEDMODE_ACTIVEHELD 0x00000004 // TAPI v2.0
  453. #define LINECONNECTEDMODE_INACTIVEHELD 0x00000008 // TAPI v2.0
  454. #define LINECONNECTEDMODE_CONFIRMED 0x00000010 // TAPI v2.0
  455. #endif
  456. #define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001
  457. #define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002
  458. #define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004
  459. #define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008
  460. #define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010
  461. #define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020
  462. #define LINEDEVCAPFLAGS_DIALBILLING 0x00000040
  463. #define LINEDEVCAPFLAGS_DIALQUIET 0x00000080
  464. #define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100
  465. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  466. #define LINEDEVCAPFLAGS_MSP 0x00000200 // TAPI v3.0
  467. #define LINEDEVCAPFLAGS_CALLHUB 0x00000400 // TAPI v3.0
  468. #define LINEDEVCAPFLAGS_CALLHUBTRACKING 0x00000800 // TAPI v3.0
  469. #define LINEDEVCAPFLAGS_PRIVATEOBJECTS 0x00001000 // TAPI v3.0
  470. #endif
  471. #define LINEDEVCAPFLAGS_LOCAL 0x00002000
  472. #define LINEDEVSTATE_OTHER 0x00000001
  473. #define LINEDEVSTATE_RINGING 0x00000002
  474. #define LINEDEVSTATE_CONNECTED 0x00000004
  475. #define LINEDEVSTATE_DISCONNECTED 0x00000008
  476. #define LINEDEVSTATE_MSGWAITON 0x00000010
  477. #define LINEDEVSTATE_MSGWAITOFF 0x00000020
  478. #define LINEDEVSTATE_INSERVICE 0x00000040
  479. #define LINEDEVSTATE_OUTOFSERVICE 0x00000080
  480. #define LINEDEVSTATE_MAINTENANCE 0x00000100
  481. #define LINEDEVSTATE_OPEN 0x00000200
  482. #define LINEDEVSTATE_CLOSE 0x00000400
  483. #define LINEDEVSTATE_NUMCALLS 0x00000800
  484. #define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000
  485. #define LINEDEVSTATE_TERMINALS 0x00002000
  486. #define LINEDEVSTATE_ROAMMODE 0x00004000
  487. #define LINEDEVSTATE_BATTERY 0x00008000
  488. #define LINEDEVSTATE_SIGNAL 0x00010000
  489. #define LINEDEVSTATE_DEVSPECIFIC 0x00020000
  490. #define LINEDEVSTATE_REINIT 0x00040000
  491. #define LINEDEVSTATE_LOCK 0x00080000
  492. #define LINEDEVSTATE_CAPSCHANGE 0x00100000 // TAPI v1.4
  493. #define LINEDEVSTATE_CONFIGCHANGE 0x00200000 // TAPI v1.4
  494. #define LINEDEVSTATE_TRANSLATECHANGE 0x00400000 // TAPI v1.4
  495. #define LINEDEVSTATE_COMPLCANCEL 0x00800000 // TAPI v1.4
  496. #define LINEDEVSTATE_REMOVED 0x01000000 // TAPI v1.4
  497. #define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001
  498. #define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002
  499. #define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004
  500. #define LINEDEVSTATUSFLAGS_LOCKED 0x00000008
  501. #define LINEDIALTONEMODE_NORMAL 0x00000001
  502. #define LINEDIALTONEMODE_SPECIAL 0x00000002
  503. #define LINEDIALTONEMODE_INTERNAL 0x00000004
  504. #define LINEDIALTONEMODE_EXTERNAL 0x00000008
  505. #define LINEDIALTONEMODE_UNKNOWN 0x00000010
  506. #define LINEDIALTONEMODE_UNAVAIL 0x00000020
  507. #define LINEDIGITMODE_PULSE 0x00000001
  508. #define LINEDIGITMODE_DTMF 0x00000002
  509. #define LINEDIGITMODE_DTMFEND 0x00000004
  510. #define LINEDISCONNECTMODE_NORMAL 0x00000001
  511. #define LINEDISCONNECTMODE_UNKNOWN 0x00000002
  512. #define LINEDISCONNECTMODE_REJECT 0x00000004
  513. #define LINEDISCONNECTMODE_PICKUP 0x00000008
  514. #define LINEDISCONNECTMODE_FORWARDED 0x00000010
  515. #define LINEDISCONNECTMODE_BUSY 0x00000020
  516. #define LINEDISCONNECTMODE_NOANSWER 0x00000040
  517. #define LINEDISCONNECTMODE_BADADDRESS 0x00000080
  518. #define LINEDISCONNECTMODE_UNREACHABLE 0x00000100
  519. #define LINEDISCONNECTMODE_CONGESTION 0x00000200
  520. #define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
  521. #define LINEDISCONNECTMODE_UNAVAIL 0x00000800
  522. #define LINEDISCONNECTMODE_NODIALTONE 0x00001000 // TAPI v1.4
  523. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  524. #define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000 // TAPI v2.0
  525. #define LINEDISCONNECTMODE_OUTOFORDER 0x00004000 // TAPI v2.0
  526. #define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000 // TAPI v2.0
  527. #define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000 // TAPI v2.0
  528. #define LINEDISCONNECTMODE_BLOCKED 0x00020000 // TAPI v2.0
  529. #define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000 // TAPI v2.0
  530. #define LINEDISCONNECTMODE_CANCELLED 0x00080000 // TAPI v2.0
  531. #endif
  532. #define LINEERR_ALLOCATED 0x80000001
  533. #define LINEERR_BADDEVICEID 0x80000002
  534. #define LINEERR_BEARERMODEUNAVAIL 0x80000003
  535. #define LINEERR_CALLUNAVAIL 0x80000005
  536. #define LINEERR_COMPLETIONOVERRUN 0x80000006
  537. #define LINEERR_CONFERENCEFULL 0x80000007
  538. #define LINEERR_DIALBILLING 0x80000008
  539. #define LINEERR_DIALDIALTONE 0x80000009
  540. #define LINEERR_DIALPROMPT 0x8000000A
  541. #define LINEERR_DIALQUIET 0x8000000B
  542. #define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
  543. #define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D
  544. #define LINEERR_INIFILECORRUPT 0x8000000E
  545. #define LINEERR_INUSE 0x8000000F
  546. #define LINEERR_INVALADDRESS 0x80000010
  547. #define LINEERR_INVALADDRESSID 0x80000011
  548. #define LINEERR_INVALADDRESSMODE 0x80000012
  549. #define LINEERR_INVALADDRESSSTATE 0x80000013
  550. #define LINEERR_INVALAPPHANDLE 0x80000014
  551. #define LINEERR_INVALAPPNAME 0x80000015
  552. #define LINEERR_INVALBEARERMODE 0x80000016
  553. #define LINEERR_INVALCALLCOMPLMODE 0x80000017
  554. #define LINEERR_INVALCALLHANDLE 0x80000018
  555. #define LINEERR_INVALCALLPARAMS 0x80000019
  556. #define LINEERR_INVALCALLPRIVILEGE 0x8000001A
  557. #define LINEERR_INVALCALLSELECT 0x8000001B
  558. #define LINEERR_INVALCALLSTATE 0x8000001C
  559. #define LINEERR_INVALCALLSTATELIST 0x8000001D
  560. #define LINEERR_INVALCARD 0x8000001E
  561. #define LINEERR_INVALCOMPLETIONID 0x8000001F
  562. #define LINEERR_INVALCONFCALLHANDLE 0x80000020
  563. #define LINEERR_INVALCONSULTCALLHANDLE 0x80000021
  564. #define LINEERR_INVALCOUNTRYCODE 0x80000022
  565. #define LINEERR_INVALDEVICECLASS 0x80000023
  566. #define LINEERR_INVALDEVICEHANDLE 0x80000024
  567. #define LINEERR_INVALDIALPARAMS 0x80000025
  568. #define LINEERR_INVALDIGITLIST 0x80000026
  569. #define LINEERR_INVALDIGITMODE 0x80000027
  570. #define LINEERR_INVALDIGITS 0x80000028
  571. #define LINEERR_INVALEXTVERSION 0x80000029
  572. #define LINEERR_INVALGROUPID 0x8000002A
  573. #define LINEERR_INVALLINEHANDLE 0x8000002B
  574. #define LINEERR_INVALLINESTATE 0x8000002C
  575. #define LINEERR_INVALLOCATION 0x8000002D
  576. #define LINEERR_INVALMEDIALIST 0x8000002E
  577. #define LINEERR_INVALMEDIAMODE 0x8000002F
  578. #define LINEERR_INVALMESSAGEID 0x80000030
  579. #define LINEERR_INVALPARAM 0x80000032
  580. #define LINEERR_INVALPARKID 0x80000033
  581. #define LINEERR_INVALPARKMODE 0x80000034
  582. #define LINEERR_INVALPOINTER 0x80000035
  583. #define LINEERR_INVALPRIVSELECT 0x80000036
  584. #define LINEERR_INVALRATE 0x80000037
  585. #define LINEERR_INVALREQUESTMODE 0x80000038
  586. #define LINEERR_INVALTERMINALID 0x80000039
  587. #define LINEERR_INVALTERMINALMODE 0x8000003A
  588. #define LINEERR_INVALTIMEOUT 0x8000003B
  589. #define LINEERR_INVALTONE 0x8000003C
  590. #define LINEERR_INVALTONELIST 0x8000003D
  591. #define LINEERR_INVALTONEMODE 0x8000003E
  592. #define LINEERR_INVALTRANSFERMODE 0x8000003F
  593. #define LINEERR_LINEMAPPERFAILED 0x80000040
  594. #define LINEERR_NOCONFERENCE 0x80000041
  595. #define LINEERR_NODEVICE 0x80000042
  596. #define LINEERR_NODRIVER 0x80000043
  597. #define LINEERR_NOMEM 0x80000044
  598. #define LINEERR_NOREQUEST 0x80000045
  599. #define LINEERR_NOTOWNER 0x80000046
  600. #define LINEERR_NOTREGISTERED 0x80000047
  601. #define LINEERR_OPERATIONFAILED 0x80000048
  602. #define LINEERR_OPERATIONUNAVAIL 0x80000049
  603. #define LINEERR_RATEUNAVAIL 0x8000004A
  604. #define LINEERR_RESOURCEUNAVAIL 0x8000004B
  605. #define LINEERR_REQUESTOVERRUN 0x8000004C
  606. #define LINEERR_STRUCTURETOOSMALL 0x8000004D
  607. #define LINEERR_TARGETNOTFOUND 0x8000004E
  608. #define LINEERR_TARGETSELF 0x8000004F
  609. #define LINEERR_UNINITIALIZED 0x80000050
  610. #define LINEERR_USERUSERINFOTOOBIG 0x80000051
  611. #define LINEERR_REINIT 0x80000052
  612. #define LINEERR_ADDRESSBLOCKED 0x80000053
  613. #define LINEERR_BILLINGREJECTED 0x80000054
  614. #define LINEERR_INVALFEATURE 0x80000055
  615. #define LINEERR_NOMULTIPLEINSTANCE 0x80000056
  616. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  617. #define LINEERR_INVALAGENTID 0x80000057 // TAPI v2.0
  618. #define LINEERR_INVALAGENTGROUP 0x80000058 // TAPI v2.0
  619. #define LINEERR_INVALPASSWORD 0x80000059 // TAPI v2.0
  620. #define LINEERR_INVALAGENTSTATE 0x8000005A // TAPI v2.0
  621. #define LINEERR_INVALAGENTACTIVITY 0x8000005B // TAPI v2.0
  622. #define LINEERR_DIALVOICEDETECT 0x8000005C // TAPI v2.0
  623. #endif
  624. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  625. #define LINEERR_USERCANCELLED 0x8000005D // TAPI v2.2
  626. #endif
  627. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  628. #define LINEERR_INVALADDRESSTYPE 0x8000005E // TAPI v3.0
  629. #endif
  630. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  631. #define LINEERR_INVALAGENTSESSIONSTATE 0x8000005F // TAPI v2.2
  632. #define LINEERR_DISCONNECTED 0X80000060
  633. #define LINEERR_SERVICE_NOT_RUNNING 0x80000061
  634. #define LINEERR_LASTERRORVALUE 0x80000061 //;internal
  635. // ;internal
  636. // IMPORTANT! IMPORTANT! IMPORTANT! ;internal
  637. // if adding new LINEERR_ constants, the tapierr.mc file must be updated ;internal
  638. // with the new messages! ;internal
  639. // ;internal
  640. #endif
  641. #define LINEFEATURE_DEVSPECIFIC 0x00000001
  642. #define LINEFEATURE_DEVSPECIFICFEAT 0x00000002
  643. #define LINEFEATURE_FORWARD 0x00000004
  644. #define LINEFEATURE_MAKECALL 0x00000008
  645. #define LINEFEATURE_SETMEDIACONTROL 0x00000010
  646. #define LINEFEATURE_SETTERMINAL 0x00000020
  647. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  648. #define LINEFEATURE_SETDEVSTATUS 0x00000040 // TAPI v2.0
  649. #define LINEFEATURE_FORWARDFWD 0x00000080 // TAPI v2.0
  650. #define LINEFEATURE_FORWARDDND 0x00000100 // TAPI v2.0
  651. #endif
  652. #define LINEFORWARDMODE_UNCOND 0x00000001
  653. #define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002
  654. #define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004
  655. #define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008
  656. #define LINEFORWARDMODE_BUSY 0x00000010
  657. #define LINEFORWARDMODE_BUSYINTERNAL 0x00000020
  658. #define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040
  659. #define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080
  660. #define LINEFORWARDMODE_NOANSW 0x00000100
  661. #define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200
  662. #define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400
  663. #define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800
  664. #define LINEFORWARDMODE_BUSYNA 0x00001000
  665. #define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000
  666. #define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000
  667. #define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000
  668. #define LINEFORWARDMODE_UNKNOWN 0x00010000 // TAPI v1.4
  669. #define LINEFORWARDMODE_UNAVAIL 0x00020000 // TAPI v1.4
  670. #define LINEGATHERTERM_BUFFERFULL 0x00000001
  671. #define LINEGATHERTERM_TERMDIGIT 0x00000002
  672. #define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004
  673. #define LINEGATHERTERM_INTERTIMEOUT 0x00000008
  674. #define LINEGATHERTERM_CANCEL 0x00000010
  675. #define LINEGENERATETERM_DONE 0x00000001
  676. #define LINEGENERATETERM_CANCEL 0x00000002
  677. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  678. //
  679. // These constants are mutually exclusive - there's no way to specify more
  680. // than one at a time (and it doesn't make sense, either) so they're
  681. // ordinal rather than bits.
  682. //
  683. #define LINEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 // TAPI v2.0
  684. #define LINEINITIALIZEEXOPTION_USEEVENT 0x00000002 // TAPI v2.0
  685. #define LINEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000003 // TAPI v2.0
  686. #endif
  687. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  688. #define LINEINITIALIZEEXOPTION_CALLHUBTRACKING 0x80000000 // TAPI v3.0
  689. #endif
  690. #define LINELOCATIONOPTION_PULSEDIAL 0x00000001 // TAPI v1.4
  691. #define LINEMAPPER 0xFFFFFFFF
  692. #define LINEMEDIACONTROL_NONE 0x00000001
  693. #define LINEMEDIACONTROL_START 0x00000002
  694. #define LINEMEDIACONTROL_RESET 0x00000004
  695. #define LINEMEDIACONTROL_PAUSE 0x00000008
  696. #define LINEMEDIACONTROL_RESUME 0x00000010
  697. #define LINEMEDIACONTROL_RATEUP 0x00000020
  698. #define LINEMEDIACONTROL_RATEDOWN 0x00000040
  699. #define LINEMEDIACONTROL_RATENORMAL 0x00000080
  700. #define LINEMEDIACONTROL_VOLUMEUP 0x00000100
  701. #define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200
  702. #define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400
  703. #define LINEMEDIAMODE_UNKNOWN 0x00000002
  704. #define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
  705. #define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
  706. #define LINEMEDIAMODE_DATAMODEM 0x00000010
  707. #define LINEMEDIAMODE_G3FAX 0x00000020
  708. #define LINEMEDIAMODE_TDD 0x00000040
  709. #define LINEMEDIAMODE_G4FAX 0x00000080
  710. #define LINEMEDIAMODE_DIGITALDATA 0x00000100
  711. #define LINEMEDIAMODE_TELETEX 0x00000200
  712. #define LINEMEDIAMODE_VIDEOTEX 0x00000400
  713. #define LINEMEDIAMODE_TELEX 0x00000800
  714. #define LINEMEDIAMODE_MIXED 0x00001000
  715. #define LINEMEDIAMODE_ADSI 0x00002000
  716. #define LINEMEDIAMODE_VOICEVIEW 0x00004000 // TAPI v1.4
  717. #if (TAPI_CURRENT_VERSION >= 0x00020001)
  718. #define LINEMEDIAMODE_VIDEO 0x00008000 // TAPI v2.1
  719. #endif
  720. #define LAST_LINEMEDIAMODE 0x00008000
  721. #define LINEOFFERINGMODE_ACTIVE 0x00000001 // TAPI v1.4
  722. #define LINEOFFERINGMODE_INACTIVE 0x00000002 // TAPI v1.4
  723. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  724. #define LINEOPENOPTION_SINGLEADDRESS 0x80000000 // TAPI v2.0
  725. #define LINEOPENOPTION_PROXY 0x40000000 // TAPI v2.0
  726. #endif
  727. #define LINEPARKMODE_DIRECTED 0x00000001
  728. #define LINEPARKMODE_NONDIRECTED 0x00000002
  729. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  730. #define LINEPROXYREQUEST_SETAGENTGROUP 0x00000001 // TAPI v2.0
  731. #define LINEPROXYREQUEST_SETAGENTSTATE 0x00000002 // TAPI v2.0
  732. #define LINEPROXYREQUEST_SETAGENTACTIVITY 0x00000003 // TAPI v2.0
  733. #define LINEPROXYREQUEST_GETAGENTCAPS 0x00000004 // TAPI v2.0
  734. #define LINEPROXYREQUEST_GETAGENTSTATUS 0x00000005 // TAPI v2.0
  735. #define LINEPROXYREQUEST_AGENTSPECIFIC 0x00000006 // TAPI v2.0
  736. #define LINEPROXYREQUEST_GETAGENTACTIVITYLIST 0x00000007 // TAPI v2.0
  737. #define LINEPROXYREQUEST_GETAGENTGROUPLIST 0x00000008 // TAPI v2.0
  738. #endif
  739. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  740. #define LINEPROXYREQUEST_CREATEAGENT 0x00000009 // TAPI v2.2
  741. #define LINEPROXYREQUEST_SETAGENTMEASUREMENTPERIOD 0x0000000A // TAPI v2.2
  742. #define LINEPROXYREQUEST_GETAGENTINFO 0x0000000B // TAPI v2.2
  743. #define LINEPROXYREQUEST_CREATEAGENTSESSION 0x0000000C // TAPI v2.2
  744. #define LINEPROXYREQUEST_GETAGENTSESSIONLIST 0x0000000D // TAPI v2.2
  745. #define LINEPROXYREQUEST_SETAGENTSESSIONSTATE 0x0000000E // TAPI v2.2
  746. #define LINEPROXYREQUEST_GETAGENTSESSIONINFO 0x0000000F // TAPI v2.2
  747. #define LINEPROXYREQUEST_GETQUEUELIST 0x00000010 // TAPI v2.2
  748. #define LINEPROXYREQUEST_SETQUEUEMEASUREMENTPERIOD 0x00000011 // TAPI v2.2
  749. #define LINEPROXYREQUEST_GETQUEUEINFO 0x00000012 // TAPI v2.2
  750. #define LINEPROXYREQUEST_GETGROUPLIST 0x00000013 // TAPI v2.2
  751. #define LINEPROXYREQUEST_SETAGENTSTATEEX 0x00000014 // TAPI v2.2
  752. #endif
  753. // ;internal
  754. // if adding new LINEPROXYREQUEST_ update LINEPROXYREQUEST_LASTVALUE in server.h ;internal
  755. // ;internal
  756. #define LINEREMOVEFROMCONF_NONE 0x00000001
  757. #define LINEREMOVEFROMCONF_LAST 0x00000002
  758. #define LINEREMOVEFROMCONF_ANY 0x00000003
  759. #define LINEREQUESTMODE_MAKECALL 0x00000001
  760. #define LINEREQUESTMODE_MEDIACALL 0x00000002
  761. #define LINEREQUESTMODE_DROP 0x00000004
  762. #define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
  763. #define LINEROAMMODE_UNKNOWN 0x00000001
  764. #define LINEROAMMODE_UNAVAIL 0x00000002
  765. #define LINEROAMMODE_HOME 0x00000004
  766. #define LINEROAMMODE_ROAMA 0x00000008
  767. #define LINEROAMMODE_ROAMB 0x00000010
  768. #define LINESPECIALINFO_NOCIRCUIT 0x00000001
  769. #define LINESPECIALINFO_CUSTIRREG 0x00000002
  770. #define LINESPECIALINFO_REORDER 0x00000004
  771. #define LINESPECIALINFO_UNKNOWN 0x00000008
  772. #define LINESPECIALINFO_UNAVAIL 0x00000010
  773. #define LINETERMDEV_PHONE 0x00000001
  774. #define LINETERMDEV_HEADSET 0x00000002
  775. #define LINETERMDEV_SPEAKER 0x00000004
  776. #define LINETERMMODE_BUTTONS 0x00000001
  777. #define LINETERMMODE_LAMPS 0x00000002
  778. #define LINETERMMODE_DISPLAY 0x00000004
  779. #define LINETERMMODE_RINGER 0x00000008
  780. #define LINETERMMODE_HOOKSWITCH 0x00000010
  781. #define LINETERMMODE_MEDIATOLINE 0x00000020
  782. #define LINETERMMODE_MEDIAFROMLINE 0x00000040
  783. #define LINETERMMODE_MEDIABIDIRECT 0x00000080
  784. #define LINETERMSHARING_PRIVATE 0x00000001
  785. #define LINETERMSHARING_SHAREDEXCL 0x00000002
  786. #define LINETERMSHARING_SHAREDCONF 0x00000004
  787. #define LINETOLLLISTOPTION_ADD 0x00000001
  788. #define LINETOLLLISTOPTION_REMOVE 0x00000002
  789. #define LINETONEMODE_CUSTOM 0x00000001
  790. #define LINETONEMODE_RINGBACK 0x00000002
  791. #define LINETONEMODE_BUSY 0x00000004
  792. #define LINETONEMODE_BEEP 0x00000008
  793. #define LINETONEMODE_BILLING 0x00000010
  794. #define LINETRANSFERMODE_TRANSFER 0x00000001
  795. #define LINETRANSFERMODE_CONFERENCE 0x00000002
  796. #define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
  797. #define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002 // TAPI v1.4
  798. #define LINETRANSLATEOPTION_FORCELOCAL 0x00000004 // TAPI v1.4
  799. #define LINETRANSLATEOPTION_FORCELD 0x00000008 // TAPI v1.4
  800. #define LINETRANSLATERESULT_CANONICAL 0x00000001
  801. #define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
  802. #define LINETRANSLATERESULT_LONGDISTANCE 0x00000004
  803. #define LINETRANSLATERESULT_LOCAL 0x00000008
  804. #define LINETRANSLATERESULT_INTOLLLIST 0x00000010
  805. #define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
  806. #define LINETRANSLATERESULT_DIALBILLING 0x00000040
  807. #define LINETRANSLATERESULT_DIALQUIET 0x00000080
  808. #define LINETRANSLATERESULT_DIALDIALTONE 0x00000100
  809. #define LINETRANSLATERESULT_DIALPROMPT 0x00000200
  810. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  811. #define LINETRANSLATERESULT_VOICEDETECT 0x00000400 // TAPI v2.0
  812. #endif
  813. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  814. #define LINETRANSLATERESULT_NOTRANSLATION 0x00000800 // TAPI v3.0
  815. #endif
  816. #define PHONEBUTTONFUNCTION_UNKNOWN 0x00000000
  817. #define PHONEBUTTONFUNCTION_CONFERENCE 0x00000001
  818. #define PHONEBUTTONFUNCTION_TRANSFER 0x00000002
  819. #define PHONEBUTTONFUNCTION_DROP 0x00000003
  820. #define PHONEBUTTONFUNCTION_HOLD 0x00000004
  821. #define PHONEBUTTONFUNCTION_RECALL 0x00000005
  822. #define PHONEBUTTONFUNCTION_DISCONNECT 0x00000006
  823. #define PHONEBUTTONFUNCTION_CONNECT 0x00000007
  824. #define PHONEBUTTONFUNCTION_MSGWAITON 0x00000008
  825. #define PHONEBUTTONFUNCTION_MSGWAITOFF 0x00000009
  826. #define PHONEBUTTONFUNCTION_SELECTRING 0x0000000A
  827. #define PHONEBUTTONFUNCTION_ABBREVDIAL 0x0000000B
  828. #define PHONEBUTTONFUNCTION_FORWARD 0x0000000C
  829. #define PHONEBUTTONFUNCTION_PICKUP 0x0000000D
  830. #define PHONEBUTTONFUNCTION_RINGAGAIN 0x0000000E
  831. #define PHONEBUTTONFUNCTION_PARK 0x0000000F
  832. #define PHONEBUTTONFUNCTION_REJECT 0x00000010
  833. #define PHONEBUTTONFUNCTION_REDIRECT 0x00000011
  834. #define PHONEBUTTONFUNCTION_MUTE 0x00000012
  835. #define PHONEBUTTONFUNCTION_VOLUMEUP 0x00000013
  836. #define PHONEBUTTONFUNCTION_VOLUMEDOWN 0x00000014
  837. #define PHONEBUTTONFUNCTION_SPEAKERON 0x00000015
  838. #define PHONEBUTTONFUNCTION_SPEAKEROFF 0x00000016
  839. #define PHONEBUTTONFUNCTION_FLASH 0x00000017
  840. #define PHONEBUTTONFUNCTION_DATAON 0x00000018
  841. #define PHONEBUTTONFUNCTION_DATAOFF 0x00000019
  842. #define PHONEBUTTONFUNCTION_DONOTDISTURB 0x0000001A
  843. #define PHONEBUTTONFUNCTION_INTERCOM 0x0000001B
  844. #define PHONEBUTTONFUNCTION_BRIDGEDAPP 0x0000001C
  845. #define PHONEBUTTONFUNCTION_BUSY 0x0000001D
  846. #define PHONEBUTTONFUNCTION_CALLAPP 0x0000001E
  847. #define PHONEBUTTONFUNCTION_DATETIME 0x0000001F
  848. #define PHONEBUTTONFUNCTION_DIRECTORY 0x00000020
  849. #define PHONEBUTTONFUNCTION_COVER 0x00000021
  850. #define PHONEBUTTONFUNCTION_CALLID 0x00000022
  851. #define PHONEBUTTONFUNCTION_LASTNUM 0x00000023
  852. #define PHONEBUTTONFUNCTION_NIGHTSRV 0x00000024
  853. #define PHONEBUTTONFUNCTION_SENDCALLS 0x00000025
  854. #define PHONEBUTTONFUNCTION_MSGINDICATOR 0x00000026
  855. #define PHONEBUTTONFUNCTION_REPDIAL 0x00000027
  856. #define PHONEBUTTONFUNCTION_SETREPDIAL 0x00000028
  857. #define PHONEBUTTONFUNCTION_SYSTEMSPEED 0x00000029
  858. #define PHONEBUTTONFUNCTION_STATIONSPEED 0x0000002A
  859. #define PHONEBUTTONFUNCTION_CAMPON 0x0000002B
  860. #define PHONEBUTTONFUNCTION_SAVEREPEAT 0x0000002C
  861. #define PHONEBUTTONFUNCTION_QUEUECALL 0x0000002D
  862. #define PHONEBUTTONFUNCTION_NONE 0x0000002E
  863. #if (TAPI_CURRENT_VERSION >= 0x00030001)
  864. #define PHONEBUTTONFUNCTION_SEND 0x0000002F // TAPI v3.1
  865. #endif
  866. #define PHONEBUTTONMODE_DUMMY 0x00000001
  867. #define PHONEBUTTONMODE_CALL 0x00000002
  868. #define PHONEBUTTONMODE_FEATURE 0x00000004
  869. #define PHONEBUTTONMODE_KEYPAD 0x00000008
  870. #define PHONEBUTTONMODE_LOCAL 0x00000010
  871. #define PHONEBUTTONMODE_DISPLAY 0x00000020
  872. #define PHONEBUTTONSTATE_UP 0x00000001
  873. #define PHONEBUTTONSTATE_DOWN 0x00000002
  874. #define PHONEBUTTONSTATE_UNKNOWN 0x00000004 // TAPI v1.4
  875. #define PHONEBUTTONSTATE_UNAVAIL 0x00000008 // TAPI v1.4
  876. #define PHONEERR_ALLOCATED 0x90000001
  877. #define PHONEERR_BADDEVICEID 0x90000002
  878. #define PHONEERR_INCOMPATIBLEAPIVERSION 0x90000003
  879. #define PHONEERR_INCOMPATIBLEEXTVERSION 0x90000004
  880. #define PHONEERR_INIFILECORRUPT 0x90000005
  881. #define PHONEERR_INUSE 0x90000006
  882. #define PHONEERR_INVALAPPHANDLE 0x90000007
  883. #define PHONEERR_INVALAPPNAME 0x90000008
  884. #define PHONEERR_INVALBUTTONLAMPID 0x90000009
  885. #define PHONEERR_INVALBUTTONMODE 0x9000000A
  886. #define PHONEERR_INVALBUTTONSTATE 0x9000000B
  887. #define PHONEERR_INVALDATAID 0x9000000C
  888. #define PHONEERR_INVALDEVICECLASS 0x9000000D
  889. #define PHONEERR_INVALEXTVERSION 0x9000000E
  890. #define PHONEERR_INVALHOOKSWITCHDEV 0x9000000F
  891. #define PHONEERR_INVALHOOKSWITCHMODE 0x90000010
  892. #define PHONEERR_INVALLAMPMODE 0x90000011
  893. #define PHONEERR_INVALPARAM 0x90000012
  894. #define PHONEERR_INVALPHONEHANDLE 0x90000013
  895. #define PHONEERR_INVALPHONESTATE 0x90000014
  896. #define PHONEERR_INVALPOINTER 0x90000015
  897. #define PHONEERR_INVALPRIVILEGE 0x90000016
  898. #define PHONEERR_INVALRINGMODE 0x90000017
  899. #define PHONEERR_NODEVICE 0x90000018
  900. #define PHONEERR_NODRIVER 0x90000019
  901. #define PHONEERR_NOMEM 0x9000001A
  902. #define PHONEERR_NOTOWNER 0x9000001B
  903. #define PHONEERR_OPERATIONFAILED 0x9000001C
  904. #define PHONEERR_OPERATIONUNAVAIL 0x9000001D
  905. #define PHONEERR_RESOURCEUNAVAIL 0x9000001F
  906. #define PHONEERR_REQUESTOVERRUN 0x90000020
  907. #define PHONEERR_STRUCTURETOOSMALL 0x90000021
  908. #define PHONEERR_UNINITIALIZED 0x90000022
  909. #define PHONEERR_REINIT 0x90000023
  910. #define PHONEERR_DISCONNECTED 0x90000024
  911. #define PHONEERR_SERVICE_NOT_RUNNING 0x90000025
  912. #define PHONEERR_LASTERRORVALUE 0x90000025 //;internal
  913. // ;internal
  914. // IMPORTANT! IMPORTANT! IMPORTANT! ;internal
  915. // if adding new PHONEERR_ constants, the tapierr.mc file must be updated ;internal
  916. // with the new messages! ;internal
  917. // ;internal
  918. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  919. #define PHONEFEATURE_GETBUTTONINFO 0x00000001 // TAPI v2.0
  920. #define PHONEFEATURE_GETDATA 0x00000002 // TAPI v2.0
  921. #define PHONEFEATURE_GETDISPLAY 0x00000004 // TAPI v2.0
  922. #define PHONEFEATURE_GETGAINHANDSET 0x00000008 // TAPI v2.0
  923. #define PHONEFEATURE_GETGAINSPEAKER 0x00000010 // TAPI v2.0
  924. #define PHONEFEATURE_GETGAINHEADSET 0x00000020 // TAPI v2.0
  925. #define PHONEFEATURE_GETHOOKSWITCHHANDSET 0x00000040 // TAPI v2.0
  926. #define PHONEFEATURE_GETHOOKSWITCHSPEAKER 0x00000080 // TAPI v2.0
  927. #define PHONEFEATURE_GETHOOKSWITCHHEADSET 0x00000100 // TAPI v2.0
  928. #define PHONEFEATURE_GETLAMP 0x00000200 // TAPI v2.0
  929. #define PHONEFEATURE_GETRING 0x00000400 // TAPI v2.0
  930. #define PHONEFEATURE_GETVOLUMEHANDSET 0x00000800 // TAPI v2.0
  931. #define PHONEFEATURE_GETVOLUMESPEAKER 0x00001000 // TAPI v2.0
  932. #define PHONEFEATURE_GETVOLUMEHEADSET 0x00002000 // TAPI v2.0
  933. #define PHONEFEATURE_SETBUTTONINFO 0x00004000 // TAPI v2.0
  934. #define PHONEFEATURE_SETDATA 0x00008000 // TAPI v2.0
  935. #define PHONEFEATURE_SETDISPLAY 0x00010000 // TAPI v2.0
  936. #define PHONEFEATURE_SETGAINHANDSET 0x00020000 // TAPI v2.0
  937. #define PHONEFEATURE_SETGAINSPEAKER 0x00040000 // TAPI v2.0
  938. #define PHONEFEATURE_SETGAINHEADSET 0x00080000 // TAPI v2.0
  939. #define PHONEFEATURE_SETHOOKSWITCHHANDSET 0x00100000 // TAPI v2.0
  940. #define PHONEFEATURE_SETHOOKSWITCHSPEAKER 0x00200000 // TAPI v2.0
  941. #define PHONEFEATURE_SETHOOKSWITCHHEADSET 0x00400000 // TAPI v2.0
  942. #define PHONEFEATURE_SETLAMP 0x00800000 // TAPI v2.0
  943. #define PHONEFEATURE_SETRING 0x01000000 // TAPI v2.0
  944. #define PHONEFEATURE_SETVOLUMEHANDSET 0x02000000 // TAPI v2.0
  945. #define PHONEFEATURE_SETVOLUMESPEAKER 0x04000000 // TAPI v2.0
  946. #define PHONEFEATURE_SETVOLUMEHEADSET 0x08000000 // TAPI v2.0
  947. #endif
  948. #if (TAPI_CURRENT_VERSION >= 0x00030001)
  949. #define PHONEFEATURE_GENERICPHONE 0x10000000 // TAPI v3.1
  950. #endif
  951. #define PHONEHOOKSWITCHDEV_HANDSET 0x00000001
  952. #define PHONEHOOKSWITCHDEV_SPEAKER 0x00000002
  953. #define PHONEHOOKSWITCHDEV_HEADSET 0x00000004
  954. #define PHONEHOOKSWITCHMODE_ONHOOK 0x00000001
  955. #define PHONEHOOKSWITCHMODE_MIC 0x00000002
  956. #define PHONEHOOKSWITCHMODE_SPEAKER 0x00000004
  957. #define PHONEHOOKSWITCHMODE_MICSPEAKER 0x00000008
  958. #define PHONEHOOKSWITCHMODE_UNKNOWN 0x00000010
  959. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  960. #define PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 // TAPI v2.0
  961. #define PHONEINITIALIZEEXOPTION_USEEVENT 0x00000002 // TAPI v2.0
  962. #define PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000003 // TAPI v2.0
  963. #endif
  964. #define PHONELAMPMODE_DUMMY 0x00000001
  965. #define PHONELAMPMODE_OFF 0x00000002
  966. #define PHONELAMPMODE_STEADY 0x00000004
  967. #define PHONELAMPMODE_WINK 0x00000008
  968. #define PHONELAMPMODE_FLASH 0x00000010
  969. #define PHONELAMPMODE_FLUTTER 0x00000020
  970. #define PHONELAMPMODE_BROKENFLUTTER 0x00000040
  971. #define PHONELAMPMODE_UNKNOWN 0x00000080
  972. #define PHONEPRIVILEGE_MONITOR 0x00000001
  973. #define PHONEPRIVILEGE_OWNER 0x00000002
  974. #define PHONESTATE_OTHER 0x00000001
  975. #define PHONESTATE_CONNECTED 0x00000002
  976. #define PHONESTATE_DISCONNECTED 0x00000004
  977. #define PHONESTATE_OWNER 0x00000008
  978. #define PHONESTATE_MONITORS 0x00000010
  979. #define PHONESTATE_DISPLAY 0x00000020
  980. #define PHONESTATE_LAMP 0x00000040
  981. #define PHONESTATE_RINGMODE 0x00000080
  982. #define PHONESTATE_RINGVOLUME 0x00000100
  983. #define PHONESTATE_HANDSETHOOKSWITCH 0x00000200
  984. #define PHONESTATE_HANDSETVOLUME 0x00000400
  985. #define PHONESTATE_HANDSETGAIN 0x00000800
  986. #define PHONESTATE_SPEAKERHOOKSWITCH 0x00001000
  987. #define PHONESTATE_SPEAKERVOLUME 0x00002000
  988. #define PHONESTATE_SPEAKERGAIN 0x00004000
  989. #define PHONESTATE_HEADSETHOOKSWITCH 0x00008000
  990. #define PHONESTATE_HEADSETVOLUME 0x00010000
  991. #define PHONESTATE_HEADSETGAIN 0x00020000
  992. #define PHONESTATE_SUSPEND 0x00040000
  993. #define PHONESTATE_RESUME 0x00080000
  994. #define PHONESTATE_DEVSPECIFIC 0x00100000
  995. #define PHONESTATE_REINIT 0x00200000
  996. #define PHONESTATE_CAPSCHANGE 0x00400000 // TAPI v1.4
  997. #define PHONESTATE_REMOVED 0x00800000 // TAPI v1.4
  998. #define PHONESTATUSFLAGS_CONNECTED 0x00000001
  999. #define PHONESTATUSFLAGS_SUSPENDED 0x00000002
  1000. #define STRINGFORMAT_ASCII 0x00000001
  1001. #define STRINGFORMAT_DBCS 0x00000002
  1002. #define STRINGFORMAT_UNICODE 0x00000003
  1003. #define STRINGFORMAT_BINARY 0x00000004
  1004. #define TAPI_REPLY WM_USER + 99
  1005. #define TAPIERR_CONNECTED 0L
  1006. #define TAPIERR_DROPPED -1L
  1007. #define TAPIERR_NOREQUESTRECIPIENT -2L
  1008. #define TAPIERR_REQUESTQUEUEFULL -3L
  1009. #define TAPIERR_INVALDESTADDRESS -4L
  1010. #define TAPIERR_INVALWINDOWHANDLE -5L
  1011. #define TAPIERR_INVALDEVICECLASS -6L
  1012. #define TAPIERR_INVALDEVICEID -7L
  1013. #define TAPIERR_DEVICECLASSUNAVAIL -8L
  1014. #define TAPIERR_DEVICEIDUNAVAIL -9L
  1015. #define TAPIERR_DEVICEINUSE -10L
  1016. #define TAPIERR_DESTBUSY -11L
  1017. #define TAPIERR_DESTNOANSWER -12L
  1018. #define TAPIERR_DESTUNAVAIL -13L
  1019. #define TAPIERR_UNKNOWNWINHANDLE -14L
  1020. #define TAPIERR_UNKNOWNREQUESTID -15L
  1021. #define TAPIERR_REQUESTFAILED -16L
  1022. #define TAPIERR_REQUESTCANCELLED -17L
  1023. #define TAPIERR_INVALPOINTER -18L
  1024. #define TAPIERR_NOTADMIN -19L
  1025. #define TAPIERR_MMCWRITELOCKED -20L
  1026. #define TAPIERR_PROVIDERALREADYINSTALLED -21L
  1027. #define TAPIERR_SCP_ALREADY_EXISTS -22L
  1028. #define TAPIERR_SCP_DOES_NOT_EXIST -23L
  1029. // ;internal
  1030. // IMPORTANT! IMPORTANT! IMPORTANT! ;internal
  1031. // if adding new TAPIERR_ constants, the tapierr.mc file must be updated ;internal
  1032. // with the new messages! ;internal
  1033. // ;internal
  1034. #define TAPIMAXDESTADDRESSSIZE 80L
  1035. #define TAPIMAXAPPNAMESIZE 40L
  1036. #define TAPIMAXCALLEDPARTYSIZE 40L
  1037. #define TAPIMAXCOMMENTSIZE 80L
  1038. #define TAPIMAXDEVICECLASSSIZE 40L
  1039. #define TAPIMAXDEVICEIDSIZE 40L
  1040. #ifndef GUID_DEFINED
  1041. #define GUID_DEFINED
  1042. typedef struct _GUID
  1043. {
  1044. unsigned long Data1;
  1045. unsigned short Data2;
  1046. unsigned short Data3;
  1047. unsigned char Data4[8];
  1048. } GUID;
  1049. #endif /* GUID_DEFINED */
  1050. #ifndef __LPGUID_DEFINED__
  1051. #define __LPGUID_DEFINED__
  1052. typedef GUID *LPGUID;
  1053. #endif
  1054. typedef struct lineaddresscaps_tag
  1055. {
  1056. DWORD dwTotalSize;
  1057. DWORD dwNeededSize;
  1058. DWORD dwUsedSize;
  1059. DWORD dwLineDeviceID;
  1060. DWORD dwAddressSize;
  1061. DWORD dwAddressOffset;
  1062. DWORD dwDevSpecificSize;
  1063. DWORD dwDevSpecificOffset;
  1064. DWORD dwAddressSharing;
  1065. DWORD dwAddressStates;
  1066. DWORD dwCallInfoStates;
  1067. DWORD dwCallerIDFlags;
  1068. DWORD dwCalledIDFlags;
  1069. DWORD dwConnectedIDFlags;
  1070. DWORD dwRedirectionIDFlags;
  1071. DWORD dwRedirectingIDFlags;
  1072. DWORD dwCallStates;
  1073. DWORD dwDialToneModes;
  1074. DWORD dwBusyModes;
  1075. DWORD dwSpecialInfo;
  1076. DWORD dwDisconnectModes;
  1077. DWORD dwMaxNumActiveCalls;
  1078. DWORD dwMaxNumOnHoldCalls;
  1079. DWORD dwMaxNumOnHoldPendingCalls;
  1080. DWORD dwMaxNumConference;
  1081. DWORD dwMaxNumTransConf;
  1082. DWORD dwAddrCapFlags;
  1083. DWORD dwCallFeatures;
  1084. DWORD dwRemoveFromConfCaps;
  1085. DWORD dwRemoveFromConfState;
  1086. DWORD dwTransferModes;
  1087. DWORD dwParkModes;
  1088. DWORD dwForwardModes;
  1089. DWORD dwMaxForwardEntries;
  1090. DWORD dwMaxSpecificEntries;
  1091. DWORD dwMinFwdNumRings;
  1092. DWORD dwMaxFwdNumRings;
  1093. DWORD dwMaxCallCompletions;
  1094. DWORD dwCallCompletionConds;
  1095. DWORD dwCallCompletionModes;
  1096. DWORD dwNumCompletionMessages;
  1097. DWORD dwCompletionMsgTextEntrySize;
  1098. DWORD dwCompletionMsgTextSize;
  1099. DWORD dwCompletionMsgTextOffset;
  1100. DWORD dwAddressFeatures; // TAPI v1.4
  1101. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1102. DWORD dwPredictiveAutoTransferStates; // TAPI v2.0
  1103. DWORD dwNumCallTreatments; // TAPI v2.0
  1104. DWORD dwCallTreatmentListSize; // TAPI v2.0
  1105. DWORD dwCallTreatmentListOffset; // TAPI v2.0
  1106. DWORD dwDeviceClassesSize; // TAPI v2.0
  1107. DWORD dwDeviceClassesOffset; // TAPI v2.0
  1108. DWORD dwMaxCallDataSize; // TAPI v2.0
  1109. DWORD dwCallFeatures2; // TAPI v2.0
  1110. DWORD dwMaxNoAnswerTimeout; // TAPI v2.0
  1111. DWORD dwConnectedModes; // TAPI v2.0
  1112. DWORD dwOfferingModes; // TAPI v2.0
  1113. DWORD dwAvailableMediaModes; // TAPI v2.0
  1114. #endif
  1115. } LINEADDRESSCAPS, FAR *LPLINEADDRESSCAPS;
  1116. typedef struct lineaddressstatus_tag
  1117. {
  1118. DWORD dwTotalSize;
  1119. DWORD dwNeededSize;
  1120. DWORD dwUsedSize;
  1121. DWORD dwNumInUse;
  1122. DWORD dwNumActiveCalls;
  1123. DWORD dwNumOnHoldCalls;
  1124. DWORD dwNumOnHoldPendCalls;
  1125. DWORD dwAddressFeatures;
  1126. DWORD dwNumRingsNoAnswer;
  1127. DWORD dwForwardNumEntries;
  1128. DWORD dwForwardSize;
  1129. DWORD dwForwardOffset;
  1130. DWORD dwTerminalModesSize;
  1131. DWORD dwTerminalModesOffset;
  1132. DWORD dwDevSpecificSize;
  1133. DWORD dwDevSpecificOffset;
  1134. } LINEADDRESSSTATUS, FAR *LPLINEADDRESSSTATUS;
  1135. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1136. typedef struct lineagentactivityentry_tag
  1137. {
  1138. DWORD dwID; // TAPI v2.0
  1139. DWORD dwNameSize; // TAPI v2.0
  1140. DWORD dwNameOffset; // TAPI v2.0
  1141. } LINEAGENTACTIVITYENTRY, *LPLINEAGENTACTIVITYENTRY;
  1142. typedef struct lineagentactivitylist_tag
  1143. {
  1144. DWORD dwTotalSize; // TAPI v2.0
  1145. DWORD dwNeededSize; // TAPI v2.0
  1146. DWORD dwUsedSize; // TAPI v2.0
  1147. DWORD dwNumEntries; // TAPI v2.0
  1148. DWORD dwListSize; // TAPI v2.0
  1149. DWORD dwListOffset; // TAPI v2.0
  1150. } LINEAGENTACTIVITYLIST, *LPLINEAGENTACTIVITYLIST;
  1151. typedef struct lineagentcaps_tag
  1152. {
  1153. DWORD dwTotalSize; // TAPI v2.0
  1154. DWORD dwNeededSize; // TAPI v2.0
  1155. DWORD dwUsedSize; // TAPI v2.0
  1156. DWORD dwAgentHandlerInfoSize; // TAPI v2.0
  1157. DWORD dwAgentHandlerInfoOffset; // TAPI v2.0
  1158. DWORD dwCapsVersion; // TAPI v2.0
  1159. DWORD dwFeatures; // TAPI v2.0
  1160. DWORD dwStates; // TAPI v2.0
  1161. DWORD dwNextStates; // TAPI v2.0
  1162. DWORD dwMaxNumGroupEntries; // TAPI v2.0
  1163. DWORD dwAgentStatusMessages; // TAPI v2.0
  1164. DWORD dwNumAgentExtensionIDs; // TAPI v2.0
  1165. DWORD dwAgentExtensionIDListSize; // TAPI v2.0
  1166. DWORD dwAgentExtensionIDListOffset; // TAPI v2.0
  1167. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  1168. GUID ProxyGUID; // TAPI v2.2
  1169. #endif
  1170. } LINEAGENTCAPS, *LPLINEAGENTCAPS;
  1171. typedef struct lineagentgroupentry_tag
  1172. {
  1173. struct
  1174. {
  1175. DWORD dwGroupID1; // TAPI v2.0
  1176. DWORD dwGroupID2; // TAPI v2.0
  1177. DWORD dwGroupID3; // TAPI v2.0
  1178. DWORD dwGroupID4; // TAPI v2.0
  1179. } GroupID;
  1180. DWORD dwNameSize; // TAPI v2.0
  1181. DWORD dwNameOffset; // TAPI v2.0
  1182. } LINEAGENTGROUPENTRY, *LPLINEAGENTGROUPENTRY;
  1183. typedef struct lineagentgrouplist_tag
  1184. {
  1185. DWORD dwTotalSize; // TAPI v2.0
  1186. DWORD dwNeededSize; // TAPI v2.0
  1187. DWORD dwUsedSize; // TAPI v2.0
  1188. DWORD dwNumEntries; // TAPI v2.0
  1189. DWORD dwListSize; // TAPI v2.0
  1190. DWORD dwListOffset; // TAPI v2.0
  1191. } LINEAGENTGROUPLIST, *LPLINEAGENTGROUPLIST;
  1192. typedef struct lineagentstatus_tag
  1193. {
  1194. DWORD dwTotalSize; // TAPI v2.0
  1195. DWORD dwNeededSize; // TAPI v2.0
  1196. DWORD dwUsedSize; // TAPI v2.0
  1197. DWORD dwNumEntries; // TAPI v2.0
  1198. DWORD dwGroupListSize; // TAPI v2.0
  1199. DWORD dwGroupListOffset; // TAPI v2.0
  1200. DWORD dwState; // TAPI v2.0
  1201. DWORD dwNextState; // TAPI v2.0
  1202. DWORD dwActivityID; // TAPI v2.0
  1203. DWORD dwActivitySize; // TAPI v2.0
  1204. DWORD dwActivityOffset; // TAPI v2.0
  1205. DWORD dwAgentFeatures; // TAPI v2.0
  1206. DWORD dwValidStates; // TAPI v2.0
  1207. DWORD dwValidNextStates; // TAPI v2.0
  1208. } LINEAGENTSTATUS, *LPLINEAGENTSTATUS;
  1209. typedef struct lineappinfo_tag
  1210. {
  1211. DWORD dwMachineNameSize; // TAPI v2.0
  1212. DWORD dwMachineNameOffset; // TAPI v2.0
  1213. DWORD dwUserNameSize; // TAPI v2.0
  1214. DWORD dwUserNameOffset; // TAPI v2.0
  1215. DWORD dwModuleFilenameSize; // TAPI v2.0
  1216. DWORD dwModuleFilenameOffset; // TAPI v2.0
  1217. DWORD dwFriendlyNameSize; // TAPI v2.0
  1218. DWORD dwFriendlyNameOffset; // TAPI v2.0
  1219. DWORD dwMediaModes; // TAPI v2.0
  1220. DWORD dwAddressID; // TAPI v2.0
  1221. } LINEAPPINFO, *LPLINEAPPINFO;
  1222. #endif
  1223. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  1224. typedef struct lineagententry_tag
  1225. {
  1226. HAGENT hAgent; // TAPI v2.2
  1227. DWORD dwNameSize; // TAPI v2.2
  1228. DWORD dwNameOffset; // TAPI v2.2
  1229. DWORD dwIDSize; // TAPI v2.2
  1230. DWORD dwIDOffset; // TAPI v2.2
  1231. DWORD dwPINSize; // TAPI v2.2
  1232. DWORD dwPINOffset; // TAPI v2.2
  1233. } LINEAGENTENTRY, *LPLINEAGENTENTRY;
  1234. typedef struct lineagentlist_tag
  1235. {
  1236. DWORD dwTotalSize; // TAPI v2.2
  1237. DWORD dwNeededSize; // TAPI v2.2
  1238. DWORD dwUsedSize; // TAPI v2.2
  1239. DWORD dwNumEntries; // TAPI v2.2
  1240. DWORD dwListSize; // TAPI v2.2
  1241. DWORD dwListOffset; // TAPI v2.2
  1242. } LINEAGENTLIST, *LPLINEAGENTLIST;
  1243. typedef struct lineagentinfo_tag
  1244. {
  1245. DWORD dwTotalSize; // TAPI v2.2
  1246. DWORD dwNeededSize; // TAPI v2.2
  1247. DWORD dwUsedSize; // TAPI v2.2
  1248. DWORD dwAgentState; // TAPI v2.2
  1249. DWORD dwNextAgentState; // TAPI v2.2
  1250. DWORD dwMeasurementPeriod; // TAPI v2.2
  1251. CURRENCY cyOverallCallRate; // TAPI v2.2
  1252. DWORD dwNumberOfACDCalls; // TAPI v2.2
  1253. DWORD dwNumberOfIncomingCalls; // TAPI v2.2
  1254. DWORD dwNumberOfOutgoingCalls; // TAPI v2.2
  1255. DWORD dwTotalACDTalkTime; // TAPI v2.2
  1256. DWORD dwTotalACDCallTime; // TAPI v2.2
  1257. DWORD dwTotalACDWrapUpTime; // TAPI v2.2
  1258. } LINEAGENTINFO, *LPLINEAGENTINFO;
  1259. typedef struct lineagentsession_tag
  1260. {
  1261. HAGENTSESSION hAgentSession; // TAPI v2.2
  1262. HAGENT hAgent; // TAPI v2.2
  1263. GUID GroupID; // TAPI v2.2
  1264. DWORD dwWorkingAddressID; // TAPI v2.2
  1265. } LINEAGENTSESSIONENTRY , *LPLINEAGENTSESSIONENTRY;
  1266. typedef struct lineagentsessionlist_tag
  1267. {
  1268. DWORD dwTotalSize; // TAPI v2.2
  1269. DWORD dwNeededSize; // TAPI v2.2
  1270. DWORD dwUsedSize; // TAPI v2.2
  1271. DWORD dwNumEntries; // TAPI v2.2
  1272. DWORD dwListSize; // TAPI v2.2
  1273. DWORD dwListOffset; // TAPI v2.2
  1274. } LINEAGENTSESSIONLIST, *LPLINEAGENTSESSIONLIST;
  1275. typedef struct lineagentsessioninfo_tag
  1276. {
  1277. DWORD dwTotalSize; // TAPI v2.2
  1278. DWORD dwNeededSize; // TAPI v2.2
  1279. DWORD dwUsedSize; // TAPI v2.2
  1280. DWORD dwAgentSessionState; // TAPI v2.2
  1281. DWORD dwNextAgentSessionState; // TAPI v2.2
  1282. DATE dateSessionStartTime; // TAPI v2.2
  1283. DWORD dwSessionDuration; // TAPI v2.2
  1284. DWORD dwNumberOfCalls; // TAPI v2.2
  1285. DWORD dwTotalTalkTime; // TAPI v2.2
  1286. DWORD dwAverageTalkTime; // TAPI v2.2
  1287. DWORD dwTotalCallTime; // TAPI v2.2
  1288. DWORD dwAverageCallTime; // TAPI v2.2
  1289. DWORD dwTotalWrapUpTime; // TAPI v2.2
  1290. DWORD dwAverageWrapUpTime; // TAPI v2.2
  1291. CURRENCY cyACDCallRate; // TAPI v2.2
  1292. DWORD dwLongestTimeToAnswer; // TAPI v2.2
  1293. DWORD dwAverageTimeToAnswer; // TAPI v2.2
  1294. } LINEAGENTSESSIONINFO, *LPLINEAGENTSESSIONINFO;
  1295. typedef struct linequeueentry_tag
  1296. {
  1297. DWORD dwQueueID; // TAPI v2.2
  1298. DWORD dwNameSize; // TAPI v2.2
  1299. DWORD dwNameOffset; // TAPI v2.2
  1300. } LINEQUEUEENTRY, *LPLINEQUEUEENTRY;
  1301. typedef struct linequeuelist_tag
  1302. {
  1303. DWORD dwTotalSize; // TAPI v2.2
  1304. DWORD dwNeededSize; // TAPI v2.2
  1305. DWORD dwUsedSize; // TAPI v2.2
  1306. DWORD dwNumEntries; // TAPI v2.2
  1307. DWORD dwListSize; // TAPI v2.2
  1308. DWORD dwListOffset; // TAPI v2.2
  1309. } LINEQUEUELIST, *LPLINEQUEUELIST;
  1310. typedef struct linequeueinfo_tag
  1311. {
  1312. DWORD dwTotalSize; // TAPI v2.2
  1313. DWORD dwNeededSize; // TAPI v2.2
  1314. DWORD dwUsedSize; // TAPI v2.2
  1315. DWORD dwMeasurementPeriod; // TAPI v2.2
  1316. DWORD dwTotalCallsQueued; // TAPI v2.2
  1317. DWORD dwCurrentCallsQueued; // TAPI v2.2
  1318. DWORD dwTotalCallsAbandoned; // TAPI v2.2
  1319. DWORD dwTotalCallsFlowedIn; // TAPI v2.2
  1320. DWORD dwTotalCallsFlowedOut; // TAPI v2.2
  1321. DWORD dwLongestEverWaitTime; // TAPI v2.2
  1322. DWORD dwCurrentLongestWaitTime; // TAPI v2.2
  1323. DWORD dwAverageWaitTime; // TAPI v2.2
  1324. DWORD dwFinalDisposition; // TAPI v2.2
  1325. } LINEQUEUEINFO, *LPLINEQUEUEINFO;
  1326. typedef struct lineproxyrequestlist_tag
  1327. {
  1328. DWORD dwTotalSize; // TAPI v2.2
  1329. DWORD dwNeededSize; // TAPI v2.2
  1330. DWORD dwUsedSize; // TAPI v2.2
  1331. DWORD dwNumEntries; // TAPI v2.2
  1332. DWORD dwListSize; // TAPI v2.2
  1333. DWORD dwListOffset; // TAPI v2.2
  1334. } LINEPROXYREQUESTLIST, *LPLINEPROXYREQUESTLIST;
  1335. #endif
  1336. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  1337. typedef struct linecallhubtrackinginfo_tag
  1338. {
  1339. DWORD dwTotalSize; // TAPI v3.0
  1340. DWORD dwNeededSize; // TAPI v3.0
  1341. DWORD dwUsedSize; // TAPI v3.0
  1342. DWORD dwAvailableTracking; // TAPI v3.0
  1343. DWORD dwCurrentTracking; // TAPI v3.0
  1344. } LINECALLHUBTRACKINGINFO, FAR *LPLINECALLHUBTRACKINGINFO;
  1345. #endif
  1346. typedef struct linedialparams_tag
  1347. {
  1348. DWORD dwDialPause;
  1349. DWORD dwDialSpeed;
  1350. DWORD dwDigitDuration;
  1351. DWORD dwWaitForDialtone;
  1352. } LINEDIALPARAMS, FAR *LPLINEDIALPARAMS;
  1353. typedef struct linecallinfo_tag
  1354. {
  1355. DWORD dwTotalSize;
  1356. DWORD dwNeededSize;
  1357. DWORD dwUsedSize;
  1358. HLINE hLine;
  1359. DWORD dwLineDeviceID;
  1360. DWORD dwAddressID;
  1361. DWORD dwBearerMode;
  1362. DWORD dwRate;
  1363. DWORD dwMediaMode;
  1364. DWORD dwAppSpecific;
  1365. DWORD dwCallID;
  1366. DWORD dwRelatedCallID;
  1367. DWORD dwCallParamFlags;
  1368. DWORD dwCallStates;
  1369. DWORD dwMonitorDigitModes;
  1370. DWORD dwMonitorMediaModes;
  1371. LINEDIALPARAMS DialParams;
  1372. DWORD dwOrigin;
  1373. DWORD dwReason;
  1374. DWORD dwCompletionID;
  1375. DWORD dwNumOwners;
  1376. DWORD dwNumMonitors;
  1377. DWORD dwCountryCode;
  1378. DWORD dwTrunk;
  1379. DWORD dwCallerIDFlags;
  1380. DWORD dwCallerIDSize;
  1381. DWORD dwCallerIDOffset;
  1382. DWORD dwCallerIDNameSize;
  1383. DWORD dwCallerIDNameOffset;
  1384. DWORD dwCalledIDFlags;
  1385. DWORD dwCalledIDSize;
  1386. DWORD dwCalledIDOffset;
  1387. DWORD dwCalledIDNameSize;
  1388. DWORD dwCalledIDNameOffset;
  1389. DWORD dwConnectedIDFlags;
  1390. DWORD dwConnectedIDSize;
  1391. DWORD dwConnectedIDOffset;
  1392. DWORD dwConnectedIDNameSize;
  1393. DWORD dwConnectedIDNameOffset;
  1394. DWORD dwRedirectionIDFlags;
  1395. DWORD dwRedirectionIDSize;
  1396. DWORD dwRedirectionIDOffset;
  1397. DWORD dwRedirectionIDNameSize;
  1398. DWORD dwRedirectionIDNameOffset;
  1399. DWORD dwRedirectingIDFlags;
  1400. DWORD dwRedirectingIDSize;
  1401. DWORD dwRedirectingIDOffset;
  1402. DWORD dwRedirectingIDNameSize;
  1403. DWORD dwRedirectingIDNameOffset;
  1404. DWORD dwAppNameSize;
  1405. DWORD dwAppNameOffset;
  1406. DWORD dwDisplayableAddressSize;
  1407. DWORD dwDisplayableAddressOffset;
  1408. DWORD dwCalledPartySize;
  1409. DWORD dwCalledPartyOffset;
  1410. DWORD dwCommentSize;
  1411. DWORD dwCommentOffset;
  1412. DWORD dwDisplaySize;
  1413. DWORD dwDisplayOffset;
  1414. DWORD dwUserUserInfoSize;
  1415. DWORD dwUserUserInfoOffset;
  1416. DWORD dwHighLevelCompSize;
  1417. DWORD dwHighLevelCompOffset;
  1418. DWORD dwLowLevelCompSize;
  1419. DWORD dwLowLevelCompOffset;
  1420. DWORD dwChargingInfoSize;
  1421. DWORD dwChargingInfoOffset;
  1422. DWORD dwTerminalModesSize;
  1423. DWORD dwTerminalModesOffset;
  1424. DWORD dwDevSpecificSize;
  1425. DWORD dwDevSpecificOffset;
  1426. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1427. DWORD dwCallTreatment; // TAPI v2.0
  1428. DWORD dwCallDataSize; // TAPI v2.0
  1429. DWORD dwCallDataOffset; // TAPI v2.0
  1430. DWORD dwSendingFlowspecSize; // TAPI v2.0
  1431. DWORD dwSendingFlowspecOffset; // TAPI v2.0
  1432. DWORD dwReceivingFlowspecSize; // TAPI v2.0
  1433. DWORD dwReceivingFlowspecOffset; // TAPI v2.0
  1434. #endif
  1435. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  1436. DWORD dwCallerIDAddressType; // TAPI v3.0
  1437. DWORD dwCalledIDAddressType; // TAPI v3.0
  1438. DWORD dwConnectedIDAddressType; // TAPI v3.0
  1439. DWORD dwRedirectionIDAddressType; // TAPI v3.0
  1440. DWORD dwRedirectingIDAddressType; // TAPI v3.0
  1441. #endif
  1442. } LINECALLINFO, FAR *LPLINECALLINFO;
  1443. typedef struct linecalllist_tag
  1444. {
  1445. DWORD dwTotalSize;
  1446. DWORD dwNeededSize;
  1447. DWORD dwUsedSize;
  1448. DWORD dwCallsNumEntries;
  1449. DWORD dwCallsSize;
  1450. DWORD dwCallsOffset;
  1451. } LINECALLLIST, FAR *LPLINECALLLIST;
  1452. typedef struct linecallparams_tag // Defaults:
  1453. {
  1454. DWORD dwTotalSize; // ---------
  1455. DWORD dwBearerMode; // voice
  1456. DWORD dwMinRate; // (3.1kHz)
  1457. DWORD dwMaxRate; // (3.1kHz)
  1458. DWORD dwMediaMode; // interactiveVoice
  1459. DWORD dwCallParamFlags; // 0
  1460. DWORD dwAddressMode; // addressID
  1461. DWORD dwAddressID; // (any available)
  1462. LINEDIALPARAMS DialParams; // (0, 0, 0, 0)
  1463. DWORD dwOrigAddressSize; // 0
  1464. DWORD dwOrigAddressOffset;
  1465. DWORD dwDisplayableAddressSize;
  1466. DWORD dwDisplayableAddressOffset;
  1467. DWORD dwCalledPartySize; // 0
  1468. DWORD dwCalledPartyOffset;
  1469. DWORD dwCommentSize; // 0
  1470. DWORD dwCommentOffset;
  1471. DWORD dwUserUserInfoSize; // 0
  1472. DWORD dwUserUserInfoOffset;
  1473. DWORD dwHighLevelCompSize; // 0
  1474. DWORD dwHighLevelCompOffset;
  1475. DWORD dwLowLevelCompSize; // 0
  1476. DWORD dwLowLevelCompOffset;
  1477. DWORD dwDevSpecificSize; // 0
  1478. DWORD dwDevSpecificOffset;
  1479. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1480. DWORD dwPredictiveAutoTransferStates; // TAPI v2.0
  1481. DWORD dwTargetAddressSize; // TAPI v2.0
  1482. DWORD dwTargetAddressOffset; // TAPI v2.0
  1483. DWORD dwSendingFlowspecSize; // TAPI v2.0
  1484. DWORD dwSendingFlowspecOffset; // TAPI v2.0
  1485. DWORD dwReceivingFlowspecSize; // TAPI v2.0
  1486. DWORD dwReceivingFlowspecOffset; // TAPI v2.0
  1487. DWORD dwDeviceClassSize; // TAPI v2.0
  1488. DWORD dwDeviceClassOffset; // TAPI v2.0
  1489. DWORD dwDeviceConfigSize; // TAPI v2.0
  1490. DWORD dwDeviceConfigOffset; // TAPI v2.0
  1491. DWORD dwCallDataSize; // TAPI v2.0
  1492. DWORD dwCallDataOffset; // TAPI v2.0
  1493. DWORD dwNoAnswerTimeout; // TAPI v2.0
  1494. DWORD dwCallingPartyIDSize; // TAPI v2.0
  1495. DWORD dwCallingPartyIDOffset; // TAPI v2.0
  1496. #endif
  1497. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  1498. DWORD dwAddressType; // TAPI v3.0
  1499. #endif
  1500. } LINECALLPARAMS, FAR *LPLINECALLPARAMS;
  1501. typedef struct linecallstatus_tag
  1502. {
  1503. DWORD dwTotalSize;
  1504. DWORD dwNeededSize;
  1505. DWORD dwUsedSize;
  1506. DWORD dwCallState;
  1507. DWORD dwCallStateMode;
  1508. DWORD dwCallPrivilege;
  1509. DWORD dwCallFeatures;
  1510. DWORD dwDevSpecificSize;
  1511. DWORD dwDevSpecificOffset;
  1512. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1513. DWORD dwCallFeatures2; // TAPI v2.0
  1514. #if WIN32
  1515. SYSTEMTIME tStateEntryTime; // TAPI v2.0
  1516. #else
  1517. WORD tStateEntryTime[8]; // TAPI v2.0
  1518. #endif
  1519. #endif
  1520. } LINECALLSTATUS, FAR *LPLINECALLSTATUS;
  1521. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1522. typedef struct linecalltreatmententry_tag
  1523. {
  1524. DWORD dwCallTreatmentID; // TAPI v2.0
  1525. DWORD dwCallTreatmentNameSize; // TAPI v2.0
  1526. DWORD dwCallTreatmentNameOffset; // TAPI v2.0
  1527. } LINECALLTREATMENTENTRY, FAR *LPLINECALLTREATMENTENTRY;
  1528. #endif
  1529. typedef struct linecardentry_tag
  1530. {
  1531. DWORD dwPermanentCardID;
  1532. DWORD dwCardNameSize;
  1533. DWORD dwCardNameOffset;
  1534. DWORD dwCardNumberDigits; // TAPI v1.4
  1535. DWORD dwSameAreaRuleSize; // TAPI v1.4
  1536. DWORD dwSameAreaRuleOffset; // TAPI v1.4
  1537. DWORD dwLongDistanceRuleSize; // TAPI v1.4
  1538. DWORD dwLongDistanceRuleOffset; // TAPI v1.4
  1539. DWORD dwInternationalRuleSize; // TAPI v1.4
  1540. DWORD dwInternationalRuleOffset; // TAPI v1.4
  1541. DWORD dwOptions; // TAPI v1.4
  1542. } LINECARDENTRY, FAR *LPLINECARDENTRY;
  1543. typedef struct linecountryentry_tag
  1544. {
  1545. DWORD dwCountryID; // TAPI v1.4
  1546. DWORD dwCountryCode; // TAPI v1.4
  1547. DWORD dwNextCountryID; // TAPI v1.4
  1548. DWORD dwCountryNameSize; // TAPI v1.4
  1549. DWORD dwCountryNameOffset; // TAPI v1.4
  1550. DWORD dwSameAreaRuleSize; // TAPI v1.4
  1551. DWORD dwSameAreaRuleOffset; // TAPI v1.4
  1552. DWORD dwLongDistanceRuleSize; // TAPI v1.4
  1553. DWORD dwLongDistanceRuleOffset; // TAPI v1.4
  1554. DWORD dwInternationalRuleSize; // TAPI v1.4
  1555. DWORD dwInternationalRuleOffset; // TAPI v1.4
  1556. } LINECOUNTRYENTRY, FAR *LPLINECOUNTRYENTRY;
  1557. typedef struct linecountrylist_tag
  1558. {
  1559. DWORD dwTotalSize; // TAPI v1.4
  1560. DWORD dwNeededSize; // TAPI v1.4
  1561. DWORD dwUsedSize; // TAPI v1.4
  1562. DWORD dwNumCountries; // TAPI v1.4
  1563. DWORD dwCountryListSize; // TAPI v1.4
  1564. DWORD dwCountryListOffset; // TAPI v1.4
  1565. } LINECOUNTRYLIST, FAR *LPLINECOUNTRYLIST;
  1566. typedef struct linedevcaps_tag
  1567. {
  1568. DWORD dwTotalSize;
  1569. DWORD dwNeededSize;
  1570. DWORD dwUsedSize;
  1571. DWORD dwProviderInfoSize;
  1572. DWORD dwProviderInfoOffset;
  1573. DWORD dwSwitchInfoSize;
  1574. DWORD dwSwitchInfoOffset;
  1575. DWORD dwPermanentLineID;
  1576. DWORD dwLineNameSize;
  1577. DWORD dwLineNameOffset;
  1578. DWORD dwStringFormat;
  1579. DWORD dwAddressModes;
  1580. DWORD dwNumAddresses;
  1581. DWORD dwBearerModes;
  1582. DWORD dwMaxRate;
  1583. DWORD dwMediaModes;
  1584. DWORD dwGenerateToneModes;
  1585. DWORD dwGenerateToneMaxNumFreq;
  1586. DWORD dwGenerateDigitModes;
  1587. DWORD dwMonitorToneMaxNumFreq;
  1588. DWORD dwMonitorToneMaxNumEntries;
  1589. DWORD dwMonitorDigitModes;
  1590. DWORD dwGatherDigitsMinTimeout;
  1591. DWORD dwGatherDigitsMaxTimeout;
  1592. DWORD dwMedCtlDigitMaxListSize;
  1593. DWORD dwMedCtlMediaMaxListSize;
  1594. DWORD dwMedCtlToneMaxListSize;
  1595. DWORD dwMedCtlCallStateMaxListSize;
  1596. DWORD dwDevCapFlags;
  1597. DWORD dwMaxNumActiveCalls;
  1598. DWORD dwAnswerMode;
  1599. DWORD dwRingModes;
  1600. DWORD dwLineStates;
  1601. DWORD dwUUIAcceptSize;
  1602. DWORD dwUUIAnswerSize;
  1603. DWORD dwUUIMakeCallSize;
  1604. DWORD dwUUIDropSize;
  1605. DWORD dwUUISendUserUserInfoSize;
  1606. DWORD dwUUICallInfoSize;
  1607. LINEDIALPARAMS MinDialParams;
  1608. LINEDIALPARAMS MaxDialParams;
  1609. LINEDIALPARAMS DefaultDialParams;
  1610. DWORD dwNumTerminals;
  1611. DWORD dwTerminalCapsSize;
  1612. DWORD dwTerminalCapsOffset;
  1613. DWORD dwTerminalTextEntrySize;
  1614. DWORD dwTerminalTextSize;
  1615. DWORD dwTerminalTextOffset;
  1616. DWORD dwDevSpecificSize;
  1617. DWORD dwDevSpecificOffset;
  1618. DWORD dwLineFeatures; // TAPI v1.4
  1619. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1620. DWORD dwSettableDevStatus; // TAPI v2.0
  1621. DWORD dwDeviceClassesSize; // TAPI v2.0
  1622. DWORD dwDeviceClassesOffset; // TAPI v2.0
  1623. #endif
  1624. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  1625. GUID PermanentLineGuid; // TAPI v2.2
  1626. #endif
  1627. #if (TAPI_CURRENT_VERSION >= 0x00030000)
  1628. DWORD dwAddressTypes; // TAPI v3.0
  1629. GUID ProtocolGuid; // TAPI v3.0
  1630. DWORD dwAvailableTracking; // TAPI v3.0
  1631. #endif
  1632. } LINEDEVCAPS, FAR *LPLINEDEVCAPS;
  1633. typedef struct linedevstatus_tag
  1634. {
  1635. DWORD dwTotalSize;
  1636. DWORD dwNeededSize;
  1637. DWORD dwUsedSize;
  1638. DWORD dwNumOpens;
  1639. DWORD dwOpenMediaModes;
  1640. DWORD dwNumActiveCalls;
  1641. DWORD dwNumOnHoldCalls;
  1642. DWORD dwNumOnHoldPendCalls;
  1643. DWORD dwLineFeatures;
  1644. DWORD dwNumCallCompletions;
  1645. DWORD dwRingMode;
  1646. DWORD dwSignalLevel;
  1647. DWORD dwBatteryLevel;
  1648. DWORD dwRoamMode;
  1649. DWORD dwDevStatusFlags;
  1650. DWORD dwTerminalModesSize;
  1651. DWORD dwTerminalModesOffset;
  1652. DWORD dwDevSpecificSize;
  1653. DWORD dwDevSpecificOffset;
  1654. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1655. DWORD dwAvailableMediaModes; // TAPI v2.0
  1656. DWORD dwAppInfoSize; // TAPI v2.0
  1657. DWORD dwAppInfoOffset; // TAPI v2.0
  1658. #endif
  1659. } LINEDEVSTATUS, FAR *LPLINEDEVSTATUS;
  1660. typedef struct lineextensionid_tag
  1661. {
  1662. DWORD dwExtensionID0;
  1663. DWORD dwExtensionID1;
  1664. DWORD dwExtensionID2;
  1665. DWORD dwExtensionID3;
  1666. } LINEEXTENSIONID, FAR *LPLINEEXTENSIONID;
  1667. typedef struct lineforward_tag
  1668. {
  1669. DWORD dwForwardMode;
  1670. DWORD dwCallerAddressSize;
  1671. DWORD dwCallerAddressOffset;
  1672. DWORD dwDestCountryCode;
  1673. DWORD dwDestAddressSize;
  1674. DWORD dwDestAddressOffset;
  1675. #if (TAPI_CURRENT_VERSION >= 0x00030001)
  1676. DWORD dwCallerAddressType;
  1677. DWORD dwDestAddressType;
  1678. #endif
  1679. } LINEFORWARD, FAR *LPLINEFORWARD;
  1680. typedef struct lineforwardlist_tag
  1681. {
  1682. DWORD dwTotalSize;
  1683. DWORD dwNumEntries;
  1684. LINEFORWARD ForwardList[1];
  1685. } LINEFORWARDLIST, FAR *LPLINEFORWARDLIST;
  1686. typedef struct linegeneratetone_tag
  1687. {
  1688. DWORD dwFrequency;
  1689. DWORD dwCadenceOn;
  1690. DWORD dwCadenceOff;
  1691. DWORD dwVolume;
  1692. } LINEGENERATETONE, FAR *LPLINEGENERATETONE;
  1693. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1694. typedef struct lineinitializeexparams_tag
  1695. {
  1696. DWORD dwTotalSize; // TAPI v2.0
  1697. DWORD dwNeededSize; // TAPI v2.0
  1698. DWORD dwUsedSize; // TAPI v2.0
  1699. DWORD dwOptions; // TAPI v2.0
  1700. union
  1701. {
  1702. HANDLE hEvent; // TAPI v2.0
  1703. HANDLE hCompletionPort; // TAPI v2.0
  1704. } Handles;
  1705. DWORD dwCompletionKey; // TAPI v2.0
  1706. } LINEINITIALIZEEXPARAMS, FAR *LPLINEINITIALIZEEXPARAMS;
  1707. #endif
  1708. typedef struct linelocationentry_tag
  1709. {
  1710. DWORD dwPermanentLocationID;
  1711. DWORD dwLocationNameSize;
  1712. DWORD dwLocationNameOffset;
  1713. DWORD dwCountryCode;
  1714. DWORD dwCityCodeSize;
  1715. DWORD dwCityCodeOffset;
  1716. DWORD dwPreferredCardID;
  1717. DWORD dwLocalAccessCodeSize; // TAPI v1.4
  1718. DWORD dwLocalAccessCodeOffset; // TAPI v1.4
  1719. DWORD dwLongDistanceAccessCodeSize; // TAPI v1.4
  1720. DWORD dwLongDistanceAccessCodeOffset; // TAPI v1.4
  1721. DWORD dwTollPrefixListSize; // TAPI v1.4
  1722. DWORD dwTollPrefixListOffset; // TAPI v1.4
  1723. DWORD dwCountryID; // TAPI v1.4
  1724. DWORD dwOptions; // TAPI v1.4
  1725. DWORD dwCancelCallWaitingSize; // TAPI v1.4
  1726. DWORD dwCancelCallWaitingOffset; // TAPI v1.4
  1727. } LINELOCATIONENTRY, FAR *LPLINELOCATIONENTRY;
  1728. typedef struct linemediacontrolcallstate_tag
  1729. {
  1730. DWORD dwCallStates;
  1731. DWORD dwMediaControl;
  1732. } LINEMEDIACONTROLCALLSTATE, FAR *LPLINEMEDIACONTROLCALLSTATE;
  1733. typedef struct linemediacontroldigit_tag
  1734. {
  1735. DWORD dwDigit;
  1736. DWORD dwDigitModes;
  1737. DWORD dwMediaControl;
  1738. } LINEMEDIACONTROLDIGIT, FAR *LPLINEMEDIACONTROLDIGIT;
  1739. typedef struct linemediacontrolmedia_tag
  1740. {
  1741. DWORD dwMediaModes;
  1742. DWORD dwDuration;
  1743. DWORD dwMediaControl;
  1744. } LINEMEDIACONTROLMEDIA, FAR *LPLINEMEDIACONTROLMEDIA;
  1745. typedef struct linemediacontroltone_tag
  1746. {
  1747. DWORD dwAppSpecific;
  1748. DWORD dwDuration;
  1749. DWORD dwFrequency1;
  1750. DWORD dwFrequency2;
  1751. DWORD dwFrequency3;
  1752. DWORD dwMediaControl;
  1753. } LINEMEDIACONTROLTONE, FAR *LPLINEMEDIACONTROLTONE;
  1754. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1755. typedef struct linemessage_tag
  1756. {
  1757. DWORD hDevice; // TAPI v2.0
  1758. DWORD dwMessageID; // TAPI v2.0
  1759. DWORD_PTR dwCallbackInstance; // TAPI v2.0
  1760. DWORD_PTR dwParam1; // TAPI v2.0
  1761. DWORD_PTR dwParam2; // TAPI v2.0
  1762. DWORD_PTR dwParam3; // TAPI v2.0
  1763. } LINEMESSAGE, FAR *LPLINEMESSAGE;
  1764. #endif
  1765. typedef struct linemonitortone_tag
  1766. {
  1767. DWORD dwAppSpecific;
  1768. DWORD dwDuration;
  1769. DWORD dwFrequency1;
  1770. DWORD dwFrequency2;
  1771. DWORD dwFrequency3;
  1772. } LINEMONITORTONE, FAR *LPLINEMONITORTONE;
  1773. typedef struct lineproviderentry_tag
  1774. {
  1775. DWORD dwPermanentProviderID; // TAPI v1.4
  1776. DWORD dwProviderFilenameSize; // TAPI v1.4
  1777. DWORD dwProviderFilenameOffset; // TAPI v1.4
  1778. } LINEPROVIDERENTRY, FAR *LPLINEPROVIDERENTRY;
  1779. typedef struct lineproviderlist_tag
  1780. {
  1781. DWORD dwTotalSize; // TAPI v1.4
  1782. DWORD dwNeededSize; // TAPI v1.4
  1783. DWORD dwUsedSize; // TAPI v1.4
  1784. DWORD dwNumProviders; // TAPI v1.4
  1785. DWORD dwProviderListSize; // TAPI v1.4
  1786. DWORD dwProviderListOffset; // TAPI v1.4
  1787. } LINEPROVIDERLIST, FAR *LPLINEPROVIDERLIST;
  1788. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1789. typedef struct lineproxyrequest_tag
  1790. {
  1791. DWORD dwSize; // TAPI v2.0
  1792. DWORD dwClientMachineNameSize; // TAPI v2.0
  1793. DWORD dwClientMachineNameOffset; // TAPI v2.0
  1794. DWORD dwClientUserNameSize; // TAPI v2.0
  1795. DWORD dwClientUserNameOffset; // TAPI v2.0
  1796. DWORD dwClientAppAPIVersion; // TAPI v2.0
  1797. DWORD dwRequestType; // TAPI v2.0
  1798. union
  1799. {
  1800. struct
  1801. {
  1802. DWORD dwAddressID; // TAPI v2.0
  1803. LINEAGENTGROUPLIST GroupList; // TAPI v2.0
  1804. } SetAgentGroup;
  1805. struct
  1806. {
  1807. DWORD dwAddressID; // TAPI v2.0
  1808. DWORD dwAgentState; // TAPI v2.0
  1809. DWORD dwNextAgentState; // TAPI v2.0
  1810. } SetAgentState;
  1811. struct
  1812. {
  1813. DWORD dwAddressID; // TAPI v2.0
  1814. DWORD dwActivityID; // TAPI v2.0
  1815. } SetAgentActivity;
  1816. struct
  1817. {
  1818. DWORD dwAddressID; // TAPI v2.0
  1819. LINEAGENTCAPS AgentCaps; // TAPI v2.0
  1820. } GetAgentCaps;
  1821. struct
  1822. {
  1823. DWORD dwAddressID; // TAPI v2.0
  1824. LINEAGENTSTATUS AgentStatus; // TAPI v2.0
  1825. } GetAgentStatus;
  1826. struct
  1827. {
  1828. DWORD dwAddressID; // TAPI v2.0
  1829. DWORD dwAgentExtensionIDIndex; // TAPI v2.0
  1830. DWORD dwSize; // TAPI v2.0
  1831. BYTE Params[1]; // TAPI v2.0
  1832. } AgentSpecific;
  1833. struct
  1834. {
  1835. DWORD dwAddressID; // TAPI v2.0
  1836. LINEAGENTACTIVITYLIST ActivityList; // TAPI v2.0
  1837. } GetAgentActivityList;
  1838. struct
  1839. {
  1840. DWORD dwAddressID; // TAPI v2.0
  1841. LINEAGENTGROUPLIST GroupList; // TAPI v2.0
  1842. } GetAgentGroupList;
  1843. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  1844. struct
  1845. {
  1846. HAGENT hAgent; // TAPI v2.2
  1847. DWORD dwAgentIDSize; // TAPI v2.2
  1848. DWORD dwAgentIDOffset; // TAPI v2.2
  1849. DWORD dwAgentPINSize; // TAPI v2.2
  1850. DWORD dwAgentPINOffset;
  1851. } CreateAgent;
  1852. struct
  1853. {
  1854. HAGENT hAgent; // TAPI v2.2
  1855. DWORD dwAgentState; // TAPI v2.2
  1856. DWORD dwNextAgentState; // TAPI v2.2
  1857. } SetAgentStateEx;
  1858. struct
  1859. {
  1860. HAGENT hAgent; // TAPI v2.2
  1861. DWORD dwMeasurementPeriod; // TAPI v2.2
  1862. } SetAgentMeasurementPeriod;
  1863. struct
  1864. {
  1865. HAGENT hAgent; // TAPI v2.2
  1866. LINEAGENTINFO AgentInfo; // TAPI v2.2
  1867. } GetAgentInfo;
  1868. struct
  1869. {
  1870. HAGENTSESSION hAgentSession; // TAPI v2.2
  1871. DWORD dwAgentPINSize;
  1872. DWORD dwAgentPINOffset;
  1873. HAGENT hAgent; // TAPI v2.2
  1874. GUID GroupID; // TAPI v2.2
  1875. DWORD dwWorkingAddressID; // TAPI v2.2
  1876. } CreateAgentSession;
  1877. struct
  1878. {
  1879. HAGENT hAgent; // TAPI v2.2
  1880. LINEAGENTSESSIONLIST SessionList; // TAPI v2.2
  1881. } GetAgentSessionList;
  1882. struct
  1883. {
  1884. HAGENTSESSION hAgentSession; // TAPI v2.2
  1885. LINEAGENTSESSIONINFO SessionInfo; // TAPI v2.2
  1886. } GetAgentSessionInfo;
  1887. struct
  1888. {
  1889. HAGENTSESSION hAgentSession; // TAPI v2.2
  1890. DWORD dwAgentSessionState; // TAPI v2.2
  1891. DWORD dwNextAgentSessionState; // TAPI v2.2
  1892. } SetAgentSessionState;
  1893. struct
  1894. {
  1895. GUID GroupID; // TAPI v2.2
  1896. LINEQUEUELIST QueueList; // TAPI v2.2
  1897. } GetQueueList;
  1898. struct
  1899. {
  1900. DWORD dwQueueID; // TAPI v2.2
  1901. DWORD dwMeasurementPeriod; // TAPI v2.2
  1902. } SetQueueMeasurementPeriod;
  1903. struct
  1904. {
  1905. DWORD dwQueueID; // TAPI v2.2
  1906. LINEQUEUEINFO QueueInfo; // TAPI v2.2
  1907. } GetQueueInfo;
  1908. struct
  1909. {
  1910. LINEAGENTGROUPLIST GroupList; // TAPI v2.2
  1911. } GetGroupList;
  1912. #endif
  1913. }; //ProxyRequestType;
  1914. } LINEPROXYREQUEST, *LPLINEPROXYREQUEST;
  1915. #endif
  1916. typedef struct linereqmakecall_tag
  1917. {
  1918. char szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1919. char szAppName[TAPIMAXAPPNAMESIZE];
  1920. char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1921. char szComment[TAPIMAXCOMMENTSIZE];
  1922. } LINEREQMAKECALL, FAR *LPLINEREQMAKECALL;
  1923. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1924. typedef struct linereqmakecallW_tag
  1925. {
  1926. WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1927. WCHAR szAppName[TAPIMAXAPPNAMESIZE];
  1928. WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1929. WCHAR szComment[TAPIMAXCOMMENTSIZE];
  1930. } LINEREQMAKECALLW, FAR *LPLINEREQMAKECALLW;
  1931. #endif
  1932. #ifdef UNICODE
  1933. #define LINEREQMAKECALL LINEREQMAKECALLW
  1934. #endif
  1935. typedef struct linereqmediacall_tag
  1936. {
  1937. HWND hWnd;
  1938. WPARAM wRequestID;
  1939. char szDeviceClass[TAPIMAXDEVICECLASSSIZE];
  1940. unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
  1941. DWORD dwSize;
  1942. DWORD dwSecure;
  1943. char szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1944. char szAppName[TAPIMAXAPPNAMESIZE];
  1945. char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1946. char szComment[TAPIMAXCOMMENTSIZE];
  1947. } LINEREQMEDIACALL, FAR *LPLINEREQMEDIACALL;
  1948. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1949. typedef struct linereqmediacallW_tag
  1950. {
  1951. HWND hWnd;
  1952. WPARAM wRequestID;
  1953. WCHAR szDeviceClass[TAPIMAXDEVICECLASSSIZE];
  1954. unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
  1955. DWORD dwSize;
  1956. DWORD dwSecure;
  1957. WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1958. WCHAR szAppName[TAPIMAXAPPNAMESIZE];
  1959. WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1960. WCHAR szComment[TAPIMAXCOMMENTSIZE];
  1961. } LINEREQMEDIACALLW, FAR *LPLINEREQMEDIACALLW;
  1962. #endif
  1963. #ifdef UNICODE
  1964. #define LINEREQMEDIACALL LINEREQMEDIACALLW
  1965. #endif
  1966. typedef struct linetermcaps_tag
  1967. {
  1968. DWORD dwTermDev;
  1969. DWORD dwTermModes;
  1970. DWORD dwTermSharing;
  1971. } LINETERMCAPS, FAR *LPLINETERMCAPS;
  1972. typedef struct linetranslatecaps_tag
  1973. {
  1974. DWORD dwTotalSize;
  1975. DWORD dwNeededSize;
  1976. DWORD dwUsedSize;
  1977. DWORD dwNumLocations;
  1978. DWORD dwLocationListSize;
  1979. DWORD dwLocationListOffset;
  1980. DWORD dwCurrentLocationID;
  1981. DWORD dwNumCards;
  1982. DWORD dwCardListSize;
  1983. DWORD dwCardListOffset;
  1984. DWORD dwCurrentPreferredCardID;
  1985. } LINETRANSLATECAPS, FAR *LPLINETRANSLATECAPS;
  1986. typedef struct linetranslateoutput_tag
  1987. {
  1988. DWORD dwTotalSize;
  1989. DWORD dwNeededSize;
  1990. DWORD dwUsedSize;
  1991. DWORD dwDialableStringSize;
  1992. DWORD dwDialableStringOffset;
  1993. DWORD dwDisplayableStringSize;
  1994. DWORD dwDisplayableStringOffset;
  1995. DWORD dwCurrentCountry;
  1996. DWORD dwDestCountry;
  1997. DWORD dwTranslateResults;
  1998. } LINETRANSLATEOUTPUT, FAR *LPLINETRANSLATEOUTPUT;
  1999. typedef struct phonebuttoninfo_tag
  2000. {
  2001. DWORD dwTotalSize;
  2002. DWORD dwNeededSize;
  2003. DWORD dwUsedSize;
  2004. DWORD dwButtonMode;
  2005. DWORD dwButtonFunction;
  2006. DWORD dwButtonTextSize;
  2007. DWORD dwButtonTextOffset;
  2008. DWORD dwDevSpecificSize;
  2009. DWORD dwDevSpecificOffset;
  2010. DWORD dwButtonState; // TAPI v1.4
  2011. } PHONEBUTTONINFO, FAR *LPPHONEBUTTONINFO;
  2012. typedef struct phonecaps_tag
  2013. {
  2014. DWORD dwTotalSize;
  2015. DWORD dwNeededSize;
  2016. DWORD dwUsedSize;
  2017. DWORD dwProviderInfoSize;
  2018. DWORD dwProviderInfoOffset;
  2019. DWORD dwPhoneInfoSize;
  2020. DWORD dwPhoneInfoOffset;
  2021. DWORD dwPermanentPhoneID;
  2022. DWORD dwPhoneNameSize;
  2023. DWORD dwPhoneNameOffset;
  2024. DWORD dwStringFormat;
  2025. DWORD dwPhoneStates;
  2026. DWORD dwHookSwitchDevs;
  2027. DWORD dwHandsetHookSwitchModes;
  2028. DWORD dwSpeakerHookSwitchModes;
  2029. DWORD dwHeadsetHookSwitchModes;
  2030. DWORD dwVolumeFlags;
  2031. DWORD dwGainFlags;
  2032. DWORD dwDisplayNumRows;
  2033. DWORD dwDisplayNumColumns;
  2034. DWORD dwNumRingModes;
  2035. DWORD dwNumButtonLamps;
  2036. DWORD dwButtonModesSize;
  2037. DWORD dwButtonModesOffset;
  2038. DWORD dwButtonFunctionsSize;
  2039. DWORD dwButtonFunctionsOffset;
  2040. DWORD dwLampModesSize;
  2041. DWORD dwLampModesOffset;
  2042. DWORD dwNumSetData;
  2043. DWORD dwSetDataSize;
  2044. DWORD dwSetDataOffset;
  2045. DWORD dwNumGetData;
  2046. DWORD dwGetDataSize;
  2047. DWORD dwGetDataOffset;
  2048. DWORD dwDevSpecificSize;
  2049. DWORD dwDevSpecificOffset;
  2050. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2051. DWORD dwDeviceClassesSize; // TAPI v2.0
  2052. DWORD dwDeviceClassesOffset; // TAPI v2.0
  2053. DWORD dwPhoneFeatures; // TAPI v2.0
  2054. DWORD dwSettableHandsetHookSwitchModes; // TAPI v2.0
  2055. DWORD dwSettableSpeakerHookSwitchModes; // TAPI v2.0
  2056. DWORD dwSettableHeadsetHookSwitchModes; // TAPI v2.0
  2057. DWORD dwMonitoredHandsetHookSwitchModes; // TAPI v2.0
  2058. DWORD dwMonitoredSpeakerHookSwitchModes; // TAPI v2.0
  2059. DWORD dwMonitoredHeadsetHookSwitchModes; // TAPI v2.0
  2060. #endif
  2061. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  2062. GUID PermanentPhoneGuid; // TAPI v2.2
  2063. #endif
  2064. } PHONECAPS, FAR *LPPHONECAPS;
  2065. typedef struct phoneextensionid_tag
  2066. {
  2067. DWORD dwExtensionID0;
  2068. DWORD dwExtensionID1;
  2069. DWORD dwExtensionID2;
  2070. DWORD dwExtensionID3;
  2071. } PHONEEXTENSIONID, FAR *LPPHONEEXTENSIONID;
  2072. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2073. typedef struct phoneinitializeexparams_tag
  2074. {
  2075. DWORD dwTotalSize; // TAPI v2.0
  2076. DWORD dwNeededSize; // TAPI v2.0
  2077. DWORD dwUsedSize; // TAPI v2.0
  2078. DWORD dwOptions; // TAPI v2.0
  2079. union
  2080. {
  2081. HANDLE hEvent; // TAPI v2.0
  2082. HANDLE hCompletionPort; // TAPI v2.0
  2083. } Handles;
  2084. DWORD dwCompletionKey; // TAPI v2.0
  2085. } PHONEINITIALIZEEXPARAMS, FAR *LPPHONEINITIALIZEEXPARAMS;
  2086. typedef struct phonemessage_tag
  2087. {
  2088. DWORD hDevice; // TAPI v2.0
  2089. DWORD dwMessageID; // TAPI v2.0
  2090. DWORD_PTR dwCallbackInstance; // TAPI v2.0
  2091. DWORD_PTR dwParam1; // TAPI v2.0
  2092. DWORD_PTR dwParam2; // TAPI v2.0
  2093. DWORD_PTR dwParam3; // TAPI v2.0
  2094. } PHONEMESSAGE, FAR *LPPHONEMESSAGE;
  2095. #endif
  2096. typedef struct phonestatus_tag
  2097. {
  2098. DWORD dwTotalSize;
  2099. DWORD dwNeededSize;
  2100. DWORD dwUsedSize;
  2101. DWORD dwStatusFlags;
  2102. DWORD dwNumOwners;
  2103. DWORD dwNumMonitors;
  2104. DWORD dwRingMode;
  2105. DWORD dwRingVolume;
  2106. DWORD dwHandsetHookSwitchMode;
  2107. DWORD dwHandsetVolume;
  2108. DWORD dwHandsetGain;
  2109. DWORD dwSpeakerHookSwitchMode;
  2110. DWORD dwSpeakerVolume;
  2111. DWORD dwSpeakerGain;
  2112. DWORD dwHeadsetHookSwitchMode;
  2113. DWORD dwHeadsetVolume;
  2114. DWORD dwHeadsetGain;
  2115. DWORD dwDisplaySize;
  2116. DWORD dwDisplayOffset;
  2117. DWORD dwLampModesSize;
  2118. DWORD dwLampModesOffset;
  2119. DWORD dwOwnerNameSize;
  2120. DWORD dwOwnerNameOffset;
  2121. DWORD dwDevSpecificSize;
  2122. DWORD dwDevSpecificOffset;
  2123. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2124. DWORD dwPhoneFeatures; // TAPI v2.0
  2125. #endif
  2126. } PHONESTATUS, FAR *LPPHONESTATUS;
  2127. typedef struct varstring_tag
  2128. {
  2129. DWORD dwTotalSize;
  2130. DWORD dwNeededSize;
  2131. DWORD dwUsedSize;
  2132. DWORD dwStringFormat;
  2133. DWORD dwStringSize;
  2134. DWORD dwStringOffset;
  2135. } VARSTRING, FAR *LPVARSTRING;
  2136. LONG
  2137. WINAPI
  2138. lineAccept(
  2139. HCALL hCall,
  2140. LPCSTR lpsUserUserInfo,
  2141. DWORD dwSize
  2142. );
  2143. LONG
  2144. WINAPI
  2145. lineAddProvider( // TAPI v1.4
  2146. LPCSTR lpszProviderFilename,
  2147. HWND hwndOwner,
  2148. LPDWORD lpdwPermanentProviderID
  2149. );
  2150. #if WIN32
  2151. LONG
  2152. WINAPI
  2153. lineAddProviderA( // TAPI v1.4
  2154. LPCSTR lpszProviderFilename,
  2155. HWND hwndOwner,
  2156. LPDWORD lpdwPermanentProviderID
  2157. );
  2158. LONG
  2159. WINAPI
  2160. lineAddProviderW(
  2161. LPCWSTR lpszProviderFilename,
  2162. HWND hwndOwner,
  2163. LPDWORD lpdwPermanentProviderID
  2164. );
  2165. #ifdef UNICODE
  2166. #define lineAddProvider lineAddProviderW
  2167. #else
  2168. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2169. #define lineAddProvider lineAddProviderA
  2170. #endif
  2171. #endif
  2172. #endif
  2173. LONG
  2174. WINAPI
  2175. lineAddToConference(
  2176. HCALL hConfCall,
  2177. HCALL hConsultCall
  2178. );
  2179. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2180. LONG
  2181. WINAPI
  2182. lineAgentSpecific( // TAPI v2.0
  2183. HLINE hLine,
  2184. DWORD dwAddressID,
  2185. DWORD dwAgentExtensionIDIndex,
  2186. LPVOID lpParams,
  2187. DWORD dwSize
  2188. );
  2189. #endif
  2190. LONG
  2191. WINAPI
  2192. lineAnswer(
  2193. HCALL hCall,
  2194. LPCSTR lpsUserUserInfo,
  2195. DWORD dwSize
  2196. );
  2197. LONG
  2198. WINAPI
  2199. lineBlindTransfer(
  2200. HCALL hCall,
  2201. LPCSTR lpszDestAddress,
  2202. DWORD dwCountryCode
  2203. );
  2204. #if WIN32
  2205. LONG
  2206. WINAPI
  2207. lineBlindTransferA(
  2208. HCALL hCall,
  2209. LPCSTR lpszDestAddress,
  2210. DWORD dwCountryCode
  2211. );
  2212. LONG
  2213. WINAPI
  2214. lineBlindTransferW(
  2215. HCALL hCall,
  2216. LPCWSTR lpszDestAddressW,
  2217. DWORD dwCountryCode
  2218. );
  2219. #ifdef UNICODE
  2220. #define lineBlindTransfer lineBlindTransferW
  2221. #else
  2222. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2223. #define lineBlindTransfer lineBlindTransferA
  2224. #endif
  2225. #endif
  2226. #endif
  2227. LONG
  2228. WINAPI
  2229. lineClose(
  2230. HLINE hLine
  2231. );
  2232. LONG
  2233. WINAPI
  2234. lineCompleteCall(
  2235. HCALL hCall,
  2236. LPDWORD lpdwCompletionID,
  2237. DWORD dwCompletionMode,
  2238. DWORD dwMessageID
  2239. );
  2240. LONG
  2241. WINAPI
  2242. lineCompleteTransfer(
  2243. HCALL hCall,
  2244. HCALL hConsultCall,
  2245. LPHCALL lphConfCall,
  2246. DWORD dwTransferMode
  2247. );
  2248. LONG
  2249. WINAPI
  2250. lineConfigDialog(
  2251. DWORD dwDeviceID,
  2252. HWND hwndOwner,
  2253. LPCSTR lpszDeviceClass
  2254. );
  2255. #if WIN32
  2256. LONG
  2257. WINAPI
  2258. lineConfigDialogA(
  2259. DWORD dwDeviceID,
  2260. HWND hwndOwner,
  2261. LPCSTR lpszDeviceClass
  2262. );
  2263. LONG
  2264. WINAPI
  2265. lineConfigDialogW(
  2266. DWORD dwDeviceID,
  2267. HWND hwndOwner,
  2268. LPCWSTR lpszDeviceClass
  2269. );
  2270. #ifdef UNICODE
  2271. #define lineConfigDialog lineConfigDialogW
  2272. #else
  2273. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2274. #define lineConfigDialog lineConfigDialogA
  2275. #endif
  2276. #endif
  2277. #endif
  2278. LONG
  2279. WINAPI
  2280. lineConfigDialogEdit( // TAPI v1.4
  2281. DWORD dwDeviceID,
  2282. HWND hwndOwner,
  2283. LPCSTR lpszDeviceClass,
  2284. LPVOID const lpDeviceConfigIn,
  2285. DWORD dwSize,
  2286. LPVARSTRING lpDeviceConfigOut
  2287. );
  2288. #if WIN32
  2289. LONG
  2290. WINAPI
  2291. lineConfigDialogEditA( // TAPI v1.4
  2292. DWORD dwDeviceID,
  2293. HWND hwndOwner,
  2294. LPCSTR lpszDeviceClass,
  2295. LPVOID const lpDeviceConfigIn,
  2296. DWORD dwSize,
  2297. LPVARSTRING lpDeviceConfigOut
  2298. );
  2299. LONG
  2300. WINAPI
  2301. lineConfigDialogEditW(
  2302. DWORD dwDeviceID,
  2303. HWND hwndOwner,
  2304. LPCWSTR lpszDeviceClass,
  2305. LPVOID const lpDeviceConfigIn,
  2306. DWORD dwSize,
  2307. LPVARSTRING lpDeviceConfigOut
  2308. );
  2309. #ifdef UNICODE
  2310. #define lineConfigDialogEdit lineConfigDialogEditW
  2311. #else
  2312. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2313. #define lineConfigDialogEdit lineConfigDialogEditA
  2314. #endif
  2315. #endif
  2316. #endif
  2317. LONG
  2318. WINAPI
  2319. lineConfigProvider( // TAPI v1.4
  2320. HWND hwndOwner,
  2321. DWORD dwPermanentProviderID
  2322. );
  2323. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  2324. LONG
  2325. WINAPI
  2326. lineCreateAgentW( // TAPI v2.2
  2327. HLINE hLine,
  2328. LPWSTR lpszAgentID,
  2329. LPWSTR lpszAgentPIN,
  2330. LPHAGENT lphAgent
  2331. );
  2332. LONG
  2333. WINAPI
  2334. lineCreateAgentA( // TAPI v2.2
  2335. HLINE hLine,
  2336. LPSTR lpszAgentID,
  2337. LPSTR lpszAgentPIN,
  2338. LPHAGENT lphAgent
  2339. );
  2340. #ifdef UNICODE
  2341. #define lineCreateAgent lineCreateAgentW
  2342. #else
  2343. #define lineCreateAgent lineCreateAgentA
  2344. #endif
  2345. LONG
  2346. WINAPI
  2347. lineCreateAgentSessionW( // TAPI v2.2
  2348. HLINE hLine,
  2349. HAGENT hAgent,
  2350. LPWSTR lpszAgentPIN,
  2351. DWORD dwWorkingAddressID,
  2352. LPGUID lpGroupID,
  2353. LPHAGENTSESSION lphAgentSession
  2354. );
  2355. LONG
  2356. WINAPI
  2357. lineCreateAgentSessionA( // TAPI v2.2
  2358. HLINE hLine,
  2359. HAGENT hAgent,
  2360. LPSTR lpszAgentPIN,
  2361. DWORD dwWorkingAddressID,
  2362. LPGUID lpGroupID,
  2363. LPHAGENTSESSION lphAgentSession
  2364. );
  2365. #ifdef UNICODE
  2366. #define lineCreateAgent lineCreateAgentW
  2367. #else
  2368. #define lineCreateAgent lineCreateAgentA
  2369. #endif
  2370. #endif
  2371. LONG
  2372. WINAPI
  2373. lineDeallocateCall(
  2374. HCALL hCall
  2375. );
  2376. LONG
  2377. WINAPI
  2378. lineDevSpecific(
  2379. HLINE hLine,
  2380. DWORD dwAddressID,
  2381. HCALL hCall,
  2382. LPVOID lpParams,
  2383. DWORD dwSize
  2384. );
  2385. LONG
  2386. WINAPI
  2387. lineDevSpecificFeature(
  2388. HLINE hLine,
  2389. DWORD dwFeature,
  2390. LPVOID lpParams,
  2391. DWORD dwSize
  2392. );
  2393. LONG
  2394. WINAPI
  2395. lineDial(
  2396. HCALL hCall,
  2397. LPCSTR lpszDestAddress,
  2398. DWORD dwCountryCode
  2399. );
  2400. #if WIN32
  2401. LONG
  2402. WINAPI
  2403. lineDialA(
  2404. HCALL hCall,
  2405. LPCSTR lpszDestAddress,
  2406. DWORD dwCountryCode
  2407. );
  2408. LONG
  2409. WINAPI
  2410. lineDialW(
  2411. HCALL hCall,
  2412. LPCWSTR lpszDestAddress,
  2413. DWORD dwCountryCode
  2414. );
  2415. #ifdef UNICODE
  2416. #define lineDial lineDialW
  2417. #else
  2418. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2419. #define lineDial lineDialA
  2420. #endif
  2421. #endif
  2422. #endif
  2423. LONG
  2424. WINAPI
  2425. lineDrop(
  2426. HCALL hCall,
  2427. LPCSTR lpsUserUserInfo,
  2428. DWORD dwSize
  2429. );
  2430. LONG
  2431. WINAPI
  2432. lineForward(
  2433. HLINE hLine,
  2434. DWORD bAllAddresses,
  2435. DWORD dwAddressID,
  2436. LPLINEFORWARDLIST const lpForwardList,
  2437. DWORD dwNumRingsNoAnswer,
  2438. LPHCALL lphConsultCall,
  2439. LPLINECALLPARAMS const lpCallParams
  2440. );
  2441. #if WIN32
  2442. LONG
  2443. WINAPI
  2444. lineForwardA(
  2445. HLINE hLine,
  2446. DWORD bAllAddresses,
  2447. DWORD dwAddressID,
  2448. LPLINEFORWARDLIST const lpForwardList,
  2449. DWORD dwNumRingsNoAnswer,
  2450. LPHCALL lphConsultCall,
  2451. LPLINECALLPARAMS const lpCallParams
  2452. );
  2453. LONG
  2454. WINAPI
  2455. lineForwardW(
  2456. HLINE hLine,
  2457. DWORD bAllAddresses,
  2458. DWORD dwAddressID,
  2459. LPLINEFORWARDLIST const lpForwardList,
  2460. DWORD dwNumRingsNoAnswer,
  2461. LPHCALL lphConsultCall,
  2462. LPLINECALLPARAMS const lpCallParams
  2463. );
  2464. #ifdef UNICODE
  2465. #define lineForward lineForwardW
  2466. #else
  2467. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2468. #define lineForward lineForwardA
  2469. #endif
  2470. #endif
  2471. #endif
  2472. LONG
  2473. WINAPI
  2474. lineGatherDigits(
  2475. HCALL hCall,
  2476. DWORD dwDigitModes,
  2477. LPSTR lpsDigits,
  2478. DWORD dwNumDigits,
  2479. LPCSTR lpszTerminationDigits,
  2480. DWORD dwFirstDigitTimeout,
  2481. DWORD dwInterDigitTimeout
  2482. );
  2483. #if WIN32
  2484. LONG
  2485. WINAPI
  2486. lineGatherDigitsA(
  2487. HCALL hCall,
  2488. DWORD dwDigitModes,
  2489. LPSTR lpsDigits,
  2490. DWORD dwNumDigits,
  2491. LPCSTR lpszTerminationDigits,
  2492. DWORD dwFirstDigitTimeout,
  2493. DWORD dwInterDigitTimeout
  2494. );
  2495. LONG
  2496. WINAPI
  2497. lineGatherDigitsW(
  2498. HCALL hCall,
  2499. DWORD dwDigitModes,
  2500. LPWSTR lpsDigits,
  2501. DWORD dwNumDigits,
  2502. LPCWSTR lpszTerminationDigits,
  2503. DWORD dwFirstDigitTimeout,
  2504. DWORD dwInterDigitTimeout
  2505. );
  2506. #ifdef UNICODE
  2507. #define lineGatherDigits lineGatherDigitsW
  2508. #else
  2509. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2510. #define lineGatherDigits lineGatherDigitsA
  2511. #endif
  2512. #endif
  2513. #endif
  2514. LONG
  2515. WINAPI
  2516. lineGenerateDigits(
  2517. HCALL hCall,
  2518. DWORD dwDigitMode,
  2519. LPCSTR lpszDigits,
  2520. DWORD dwDuration
  2521. );
  2522. #if WIN32
  2523. LONG
  2524. WINAPI
  2525. lineGenerateDigitsA(
  2526. HCALL hCall,
  2527. DWORD dwDigitMode,
  2528. LPCSTR lpszDigits,
  2529. DWORD dwDuration
  2530. );
  2531. LONG
  2532. WINAPI
  2533. lineGenerateDigitsW(
  2534. HCALL hCall,
  2535. DWORD dwDigitMode,
  2536. LPCWSTR lpszDigits,
  2537. DWORD dwDuration
  2538. );
  2539. #ifdef UNICODE
  2540. #define lineGenerateDigits lineGenerateDigitsW
  2541. #else
  2542. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2543. #define lineGenerateDigits lineGenerateDigitsA
  2544. #endif
  2545. #endif
  2546. #endif
  2547. LONG
  2548. WINAPI
  2549. lineGenerateTone(
  2550. HCALL hCall,
  2551. DWORD dwToneMode,
  2552. DWORD dwDuration,
  2553. DWORD dwNumTones,
  2554. LPLINEGENERATETONE const lpTones
  2555. );
  2556. LONG
  2557. WINAPI
  2558. lineGetAddressCaps(
  2559. HLINEAPP hLineApp,
  2560. DWORD dwDeviceID,
  2561. DWORD dwAddressID,
  2562. DWORD dwAPIVersion,
  2563. DWORD dwExtVersion,
  2564. LPLINEADDRESSCAPS lpAddressCaps
  2565. );
  2566. #if WIN32
  2567. LONG
  2568. WINAPI
  2569. lineGetAddressCapsA(
  2570. HLINEAPP hLineApp,
  2571. DWORD dwDeviceID,
  2572. DWORD dwAddressID,
  2573. DWORD dwAPIVersion,
  2574. DWORD dwExtVersion,
  2575. LPLINEADDRESSCAPS lpAddressCaps
  2576. );
  2577. LONG
  2578. WINAPI
  2579. lineGetAddressCapsW(
  2580. HLINEAPP hLineApp,
  2581. DWORD dwDeviceID,
  2582. DWORD dwAddressID,
  2583. DWORD dwAPIVersion,
  2584. DWORD dwExtVersion,
  2585. LPLINEADDRESSCAPS lpAddressCaps
  2586. );
  2587. #ifdef UNICODE
  2588. #define lineGetAddressCaps lineGetAddressCapsW
  2589. #else
  2590. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2591. #define lineGetAddressCaps lineGetAddressCapsA
  2592. #endif
  2593. #endif
  2594. #endif
  2595. LONG
  2596. WINAPI
  2597. lineGetAddressID(
  2598. HLINE hLine,
  2599. LPDWORD lpdwAddressID,
  2600. DWORD dwAddressMode,
  2601. LPCSTR lpsAddress,
  2602. DWORD dwSize
  2603. );
  2604. #if WIN32
  2605. LONG
  2606. WINAPI
  2607. lineGetAddressIDA(
  2608. HLINE hLine,
  2609. LPDWORD lpdwAddressID,
  2610. DWORD dwAddressMode,
  2611. LPCSTR lpsAddress,
  2612. DWORD dwSize
  2613. );
  2614. LONG
  2615. WINAPI
  2616. lineGetAddressIDW(
  2617. HLINE hLine,
  2618. LPDWORD lpdwAddressID,
  2619. DWORD dwAddressMode,
  2620. LPCWSTR lpsAddress,
  2621. DWORD dwSize
  2622. );
  2623. #ifdef UNICODE
  2624. #define lineGetAddressID lineGetAddressIDW
  2625. #else
  2626. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2627. #define lineGetAddressID lineGetAddressIDA
  2628. #endif
  2629. #endif
  2630. #endif
  2631. LONG
  2632. WINAPI
  2633. lineGetAddressStatus(
  2634. HLINE hLine,
  2635. DWORD dwAddressID,
  2636. LPLINEADDRESSSTATUS lpAddressStatus
  2637. );
  2638. #if WIN32
  2639. LONG
  2640. WINAPI
  2641. lineGetAddressStatusA(
  2642. HLINE hLine,
  2643. DWORD dwAddressID,
  2644. LPLINEADDRESSSTATUS lpAddressStatus
  2645. );
  2646. LONG
  2647. WINAPI
  2648. lineGetAddressStatusW(
  2649. HLINE hLine,
  2650. DWORD dwAddressID,
  2651. LPLINEADDRESSSTATUS lpAddressStatus
  2652. );
  2653. #ifdef UNICODE
  2654. #define lineGetAddressStatus lineGetAddressStatusW
  2655. #else
  2656. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2657. #define lineGetAddressStatus lineGetAddressStatusA
  2658. #endif
  2659. #endif
  2660. #endif
  2661. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2662. LONG
  2663. WINAPI
  2664. lineGetAgentActivityListA( // TAPI v2.0
  2665. HLINE hLine,
  2666. DWORD dwAddressID,
  2667. LPLINEAGENTACTIVITYLIST lpAgentActivityList
  2668. );
  2669. LONG
  2670. WINAPI
  2671. lineGetAgentActivityListW( // TAPI v2.0
  2672. HLINE hLine,
  2673. DWORD dwAddressID,
  2674. LPLINEAGENTACTIVITYLIST lpAgentActivityList
  2675. );
  2676. #ifdef UNICODE
  2677. #define lineGetAgentActivityList lineGetAgentActivityListW
  2678. #else
  2679. #define lineGetAgentActivityList lineGetAgentActivityListA
  2680. #endif
  2681. LONG
  2682. WINAPI
  2683. lineGetAgentCapsA( // TAPI v2.0
  2684. HLINEAPP hLineApp,
  2685. DWORD dwDeviceID,
  2686. DWORD dwAddressID,
  2687. DWORD dwAppAPIVersion,
  2688. LPLINEAGENTCAPS lpAgentCaps
  2689. );
  2690. LONG
  2691. WINAPI
  2692. lineGetAgentCapsW( // TAPI v2.0
  2693. HLINEAPP hLineApp,
  2694. DWORD dwDeviceID,
  2695. DWORD dwAddressID,
  2696. DWORD dwAppAPIVersion,
  2697. LPLINEAGENTCAPS lpAgentCaps
  2698. );
  2699. #ifdef UNICODE
  2700. #define lineGetAgentCaps lineGetAgentCapsW
  2701. #else
  2702. #define lineGetAgentCaps lineGetAgentCapsA
  2703. #endif
  2704. LONG
  2705. WINAPI
  2706. lineGetAgentGroupListA( // TAPI v2.0
  2707. HLINE hLine,
  2708. DWORD dwAddressID,
  2709. LPLINEAGENTGROUPLIST lpAgentGroupList
  2710. );
  2711. LONG
  2712. WINAPI
  2713. lineGetAgentGroupListW( // TAPI v2.0
  2714. HLINE hLine,
  2715. DWORD dwAddressID,
  2716. LPLINEAGENTGROUPLIST lpAgentGroupList
  2717. );
  2718. #ifdef UNICODE
  2719. #define lineGetAgentGroupList lineGetAgentGroupListW
  2720. #else
  2721. #define lineGetAgentGroupList lineGetAgentGroupListA
  2722. #endif
  2723. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  2724. LONG
  2725. WINAPI
  2726. lineGetAgentInfo( // TAPI v2.2
  2727. HLINE hLine,
  2728. HAGENT hAgent,
  2729. LPLINEAGENTINFO lpAgentInfo
  2730. );
  2731. LONG
  2732. WINAPI
  2733. lineGetAgentSessionInfo( // TAPI v2.2
  2734. HLINE hLine,
  2735. HAGENTSESSION hAgentSession,
  2736. LPLINEAGENTSESSIONINFO lpAgentSessionInfo
  2737. );
  2738. LONG
  2739. WINAPI
  2740. lineGetAgentSessionList( // TAPI v2.2
  2741. HLINE hLine,
  2742. HAGENT hAgent,
  2743. LPLINEAGENTSESSIONLIST lpAgentSessionList
  2744. );
  2745. #endif
  2746. LONG
  2747. WINAPI
  2748. lineGetAgentStatusA( // TAPI v2.0
  2749. HLINE hLine,
  2750. DWORD dwAddressID,
  2751. LPLINEAGENTSTATUS lpAgentStatus
  2752. );
  2753. LONG
  2754. WINAPI
  2755. lineGetAgentStatusW( // TAPI v2.0
  2756. HLINE hLine,
  2757. DWORD dwAddressID,
  2758. LPLINEAGENTSTATUS lpAgentStatus
  2759. );
  2760. #ifdef UNICODE
  2761. #define lineGetAgentStatus lineGetAgentStatusW
  2762. #else
  2763. #define lineGetAgentStatus lineGetAgentStatusA
  2764. #endif
  2765. #endif
  2766. LONG
  2767. WINAPI
  2768. lineGetAppPriority( // TAPI v1.4
  2769. LPCSTR lpszAppFilename,
  2770. DWORD dwMediaMode,
  2771. LPLINEEXTENSIONID lpExtensionID,
  2772. DWORD dwRequestMode,
  2773. LPVARSTRING lpExtensionName,
  2774. LPDWORD lpdwPriority
  2775. );
  2776. #if WIN32
  2777. LONG
  2778. WINAPI
  2779. lineGetAppPriorityA( // TAPI v1.4
  2780. LPCSTR lpszAppFilename,
  2781. DWORD dwMediaMode,
  2782. LPLINEEXTENSIONID lpExtensionID,
  2783. DWORD dwRequestMode,
  2784. LPVARSTRING lpExtensionName,
  2785. LPDWORD lpdwPriority
  2786. );
  2787. LONG
  2788. WINAPI
  2789. lineGetAppPriorityW( // TAPI v1.4
  2790. LPCWSTR lpszAppFilename,
  2791. DWORD dwMediaMode,
  2792. LPLINEEXTENSIONID lpExtensionID,
  2793. DWORD dwRequestMode,
  2794. LPVARSTRING lpExtensionName,
  2795. LPDWORD lpdwPriority
  2796. );
  2797. #ifdef UNICODE
  2798. #define lineGetAppPriority lineGetAppPriorityW
  2799. #else
  2800. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2801. #define lineGetAppPriority lineGetAppPriorityA
  2802. #endif
  2803. #endif
  2804. #endif
  2805. LONG
  2806. WINAPI
  2807. lineGetCallInfo(
  2808. HCALL hCall,
  2809. LPLINECALLINFO lpCallInfo
  2810. );
  2811. #if WIN32
  2812. LONG
  2813. WINAPI
  2814. lineGetCallInfoA(
  2815. HCALL hCall,
  2816. LPLINECALLINFO lpCallInfo
  2817. );
  2818. LONG
  2819. WINAPI
  2820. lineGetCallInfoW(
  2821. HCALL hCall,
  2822. LPLINECALLINFO lpCallInfo
  2823. );
  2824. #ifdef UNICODE
  2825. #define lineGetCallInfo lineGetCallInfoW
  2826. #else
  2827. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2828. #define lineGetCallInfo lineGetCallInfoA
  2829. #endif
  2830. #endif
  2831. #endif
  2832. LONG
  2833. WINAPI
  2834. lineGetCallStatus(
  2835. HCALL hCall,
  2836. LPLINECALLSTATUS lpCallStatus
  2837. );
  2838. LONG
  2839. WINAPI
  2840. lineGetConfRelatedCalls(
  2841. HCALL hCall,
  2842. LPLINECALLLIST lpCallList
  2843. );
  2844. LONG
  2845. WINAPI
  2846. lineGetCountry( // TAPI v1.4
  2847. DWORD dwCountryID,
  2848. DWORD dwAPIVersion,
  2849. LPLINECOUNTRYLIST lpLineCountryList
  2850. );
  2851. #if WIN32
  2852. LONG
  2853. WINAPI
  2854. lineGetCountryA( // TAPI v1.4
  2855. DWORD dwCountryID,
  2856. DWORD dwAPIVersion,
  2857. LPLINECOUNTRYLIST lpLineCountryList
  2858. );
  2859. LONG
  2860. WINAPI
  2861. lineGetCountryW( // TAPI v1.4
  2862. DWORD dwCountryID,
  2863. DWORD dwAPIVersion,
  2864. LPLINECOUNTRYLIST lpLineCountryList
  2865. );
  2866. #ifdef UNICODE
  2867. #define lineGetCountry lineGetCountryW
  2868. #else
  2869. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2870. #define lineGetCountry lineGetCountryA
  2871. #endif
  2872. #endif
  2873. #endif
  2874. LONG
  2875. WINAPI
  2876. lineGetDevCaps(
  2877. HLINEAPP hLineApp,
  2878. DWORD dwDeviceID,
  2879. DWORD dwAPIVersion,
  2880. DWORD dwExtVersion,
  2881. LPLINEDEVCAPS lpLineDevCaps
  2882. );
  2883. #if WIN32
  2884. LONG
  2885. WINAPI
  2886. lineGetDevCapsA(
  2887. HLINEAPP hLineApp,
  2888. DWORD dwDeviceID,
  2889. DWORD dwAPIVersion,
  2890. DWORD dwExtVersion,
  2891. LPLINEDEVCAPS lpLineDevCaps
  2892. );
  2893. LONG
  2894. WINAPI
  2895. lineGetDevCapsW(
  2896. HLINEAPP hLineApp,
  2897. DWORD dwDeviceID,
  2898. DWORD dwAPIVersion,
  2899. DWORD dwExtVersion,
  2900. LPLINEDEVCAPS lpLineDevCaps
  2901. );
  2902. #ifdef UNICODE
  2903. #define lineGetDevCaps lineGetDevCapsW
  2904. #else
  2905. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2906. #define lineGetDevCaps lineGetDevCapsA
  2907. #endif
  2908. #endif
  2909. #endif
  2910. LONG
  2911. WINAPI
  2912. lineGetDevConfig(
  2913. DWORD dwDeviceID,
  2914. LPVARSTRING lpDeviceConfig,
  2915. LPCSTR lpszDeviceClass
  2916. );
  2917. #if WIN32
  2918. LONG
  2919. WINAPI
  2920. lineGetDevConfigA(
  2921. DWORD dwDeviceID,
  2922. LPVARSTRING lpDeviceConfig,
  2923. LPCSTR lpszDeviceClass
  2924. );
  2925. LONG
  2926. WINAPI
  2927. lineGetDevConfigW(
  2928. DWORD dwDeviceID,
  2929. LPVARSTRING lpDeviceConfig,
  2930. LPCWSTR lpszDeviceClass
  2931. );
  2932. #ifdef UNICODE
  2933. #define lineGetDevConfig lineGetDevConfigW
  2934. #else
  2935. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2936. #define lineGetDevConfig lineGetDevConfigA
  2937. #endif
  2938. #endif
  2939. #endif
  2940. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  2941. LONG
  2942. WINAPI
  2943. lineGetGroupListA( // TAPI v2.2
  2944. HLINE hLine,
  2945. LPLINEAGENTGROUPLIST lpGroupList
  2946. );
  2947. LONG
  2948. WINAPI
  2949. lineGetGroupListW( // TAPI v2.2
  2950. HLINE hLine,
  2951. LPLINEAGENTGROUPLIST lpGroupList
  2952. );
  2953. #ifdef UNICODE
  2954. #define lineGetGroupList lineGetGroupListW
  2955. #else
  2956. #define lineGetGroupList lineGetGroupListA
  2957. #endif
  2958. #endif
  2959. LONG
  2960. WINAPI
  2961. lineGetIcon(
  2962. DWORD dwDeviceID,
  2963. LPCSTR lpszDeviceClass,
  2964. LPHICON lphIcon
  2965. );
  2966. #if WIN32
  2967. LONG
  2968. WINAPI
  2969. lineGetIconA(
  2970. DWORD dwDeviceID,
  2971. LPCSTR lpszDeviceClass,
  2972. LPHICON lphIcon
  2973. );
  2974. LONG
  2975. WINAPI
  2976. lineGetIconW(
  2977. DWORD dwDeviceID,
  2978. LPCWSTR lpszDeviceClass,
  2979. LPHICON lphIcon
  2980. );
  2981. #ifdef UNICODE
  2982. #define lineGetIcon lineGetIconW
  2983. #else
  2984. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2985. #define lineGetIcon lineGetIconA
  2986. #endif
  2987. #endif
  2988. #endif
  2989. LONG
  2990. WINAPI
  2991. lineGetID(
  2992. HLINE hLine,
  2993. DWORD dwAddressID,
  2994. HCALL hCall,
  2995. DWORD dwSelect,
  2996. LPVARSTRING lpDeviceID,
  2997. LPCSTR lpszDeviceClass
  2998. );
  2999. #if WIN32
  3000. LONG
  3001. WINAPI
  3002. lineGetIDA(
  3003. HLINE hLine,
  3004. DWORD dwAddressID,
  3005. HCALL hCall,
  3006. DWORD dwSelect,
  3007. LPVARSTRING lpDeviceID,
  3008. LPCSTR lpszDeviceClass
  3009. );
  3010. LONG
  3011. WINAPI
  3012. lineGetIDW(
  3013. HLINE hLine,
  3014. DWORD dwAddressID,
  3015. HCALL hCall,
  3016. DWORD dwSelect,
  3017. LPVARSTRING lpDeviceID,
  3018. LPCWSTR lpszDeviceClass
  3019. );
  3020. #ifdef UNICODE
  3021. #define lineGetID lineGetIDW
  3022. #else
  3023. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3024. #define lineGetID lineGetIDA
  3025. #endif
  3026. #endif
  3027. #endif
  3028. LONG
  3029. WINAPI
  3030. lineGetLineDevStatus(
  3031. HLINE hLine,
  3032. LPLINEDEVSTATUS lpLineDevStatus
  3033. );
  3034. #if WIN32
  3035. LONG
  3036. WINAPI
  3037. lineGetLineDevStatusA(
  3038. HLINE hLine,
  3039. LPLINEDEVSTATUS lpLineDevStatus
  3040. );
  3041. LONG
  3042. WINAPI
  3043. lineGetLineDevStatusW(
  3044. HLINE hLine,
  3045. LPLINEDEVSTATUS lpLineDevStatus
  3046. );
  3047. #ifdef UNICODE
  3048. #define lineGetDevStatus lineGetDevStatusW
  3049. #else
  3050. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3051. #define lineGetDevStatus lineGetDevStatusA
  3052. #endif
  3053. #endif
  3054. #endif
  3055. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3056. LONG
  3057. WINAPI
  3058. lineGetMessage( // TAPI v2.0
  3059. HLINEAPP hLineApp,
  3060. LPLINEMESSAGE lpMessage,
  3061. DWORD dwTimeout
  3062. );
  3063. #endif
  3064. LONG
  3065. WINAPI
  3066. lineGetNewCalls(
  3067. HLINE hLine,
  3068. DWORD dwAddressID,
  3069. DWORD dwSelect,
  3070. LPLINECALLLIST lpCallList
  3071. );
  3072. LONG
  3073. WINAPI
  3074. lineGetNumRings(
  3075. HLINE hLine,
  3076. DWORD dwAddressID,
  3077. LPDWORD lpdwNumRings
  3078. );
  3079. LONG
  3080. WINAPI
  3081. lineGetProviderList( // TAPI v1.4
  3082. DWORD dwAPIVersion,
  3083. LPLINEPROVIDERLIST lpProviderList
  3084. );
  3085. #if WIN32
  3086. LONG
  3087. WINAPI
  3088. lineGetProviderListA(
  3089. DWORD dwAPIVersion,
  3090. LPLINEPROVIDERLIST lpProviderList
  3091. );
  3092. LONG
  3093. WINAPI
  3094. lineGetProviderListW(
  3095. DWORD dwAPIVersion,
  3096. LPLINEPROVIDERLIST lpProviderList
  3097. );
  3098. #ifdef UNICODE
  3099. #define lineGetProviderList lineGetProviderListW
  3100. #else
  3101. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3102. #define lineGetProviderList lineGetProviderListA
  3103. #endif
  3104. #endif
  3105. #endif
  3106. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  3107. LONG
  3108. WINAPI
  3109. lineGetProxyStatus( // TAPI v2.2
  3110. HLINEAPP hLineApp,
  3111. DWORD dwDeviceID,
  3112. DWORD dwAppAPIVersion,
  3113. LPLINEPROXYREQUESTLIST lpLineProxyReqestList
  3114. );
  3115. LONG
  3116. WINAPI
  3117. lineGetQueueInfo( // TAPI v2.2
  3118. HLINE hLine,
  3119. DWORD dwQueueID,
  3120. LPLINEQUEUEINFO lpLineQueueInfo
  3121. );
  3122. LONG
  3123. WINAPI
  3124. lineGetQueueListA( // TAPI v2.2
  3125. HLINE hLine,
  3126. LPGUID lpGroupID,
  3127. LPLINEQUEUELIST lpQueueList
  3128. );
  3129. LONG
  3130. WINAPI
  3131. lineGetQueueListW( // TAPI v2.2
  3132. HLINE hLine,
  3133. LPGUID lpGroupID,
  3134. LPLINEQUEUELIST lpQueueList
  3135. );
  3136. #ifdef UNICODE
  3137. #define lineGetQueueList lineGetQueueListW
  3138. #else
  3139. #define lineGetQueueList lineGetQueueListA
  3140. #endif
  3141. #endif
  3142. LONG
  3143. WINAPI
  3144. lineGetRequest(
  3145. HLINEAPP hLineApp,
  3146. DWORD dwRequestMode,
  3147. LPVOID lpRequestBuffer
  3148. );
  3149. #if WIN32
  3150. LONG
  3151. WINAPI
  3152. lineGetRequestA(
  3153. HLINEAPP hLineApp,
  3154. DWORD dwRequestMode,
  3155. LPVOID lpRequestBuffer
  3156. );
  3157. LONG
  3158. WINAPI
  3159. lineGetRequestW(
  3160. HLINEAPP hLineApp,
  3161. DWORD dwRequestMode,
  3162. LPVOID lpRequestBuffer
  3163. );
  3164. #ifdef UNICODE
  3165. #define lineGetRequest lineGetRequestW
  3166. #else
  3167. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3168. #define lineGetRequest lineGetRequestA
  3169. #endif
  3170. #endif
  3171. #endif
  3172. LONG
  3173. WINAPI
  3174. lineGetStatusMessages(
  3175. HLINE hLine,
  3176. LPDWORD lpdwLineStates,
  3177. LPDWORD lpdwAddressStates
  3178. );
  3179. LONG
  3180. WINAPI
  3181. lineGetTranslateCaps(
  3182. HLINEAPP hLineApp,
  3183. DWORD dwAPIVersion,
  3184. LPLINETRANSLATECAPS lpTranslateCaps
  3185. );
  3186. #if WIN32
  3187. LONG
  3188. WINAPI
  3189. lineGetTranslateCapsA(
  3190. HLINEAPP hLineApp,
  3191. DWORD dwAPIVersion,
  3192. LPLINETRANSLATECAPS lpTranslateCaps
  3193. );
  3194. LONG
  3195. WINAPI
  3196. lineGetTranslateCapsW(
  3197. HLINEAPP hLineApp,
  3198. DWORD dwAPIVersion,
  3199. LPLINETRANSLATECAPS lpTranslateCaps
  3200. );
  3201. #ifdef UNICODE
  3202. #define lineGetTranslateCaps lineGetTranslateCapsW
  3203. #else
  3204. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3205. #define lineGetTranslateCaps lineGetTranslateCapsA
  3206. #endif
  3207. #endif
  3208. #endif
  3209. LONG
  3210. WINAPI
  3211. lineHandoff(
  3212. HCALL hCall,
  3213. LPCSTR lpszFileName,
  3214. DWORD dwMediaMode
  3215. );
  3216. #if WIN32
  3217. LONG
  3218. WINAPI
  3219. lineHandoffA(
  3220. HCALL hCall,
  3221. LPCSTR lpszFileName,
  3222. DWORD dwMediaMode
  3223. );
  3224. LONG
  3225. WINAPI
  3226. lineHandoffW(
  3227. HCALL hCall,
  3228. LPCWSTR lpszFileName,
  3229. DWORD dwMediaMode
  3230. );
  3231. #ifdef UNICODE
  3232. #define lineHandoff lineHandoffW
  3233. #else
  3234. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3235. #define lineHandoff lineHandoffA
  3236. #endif
  3237. #endif
  3238. #endif
  3239. LONG
  3240. WINAPI
  3241. lineHold(
  3242. HCALL hCall
  3243. );
  3244. LONG
  3245. WINAPI
  3246. lineInitialize(
  3247. LPHLINEAPP lphLineApp,
  3248. HINSTANCE hInstance,
  3249. LINECALLBACK lpfnCallback,
  3250. LPCSTR lpszAppName,
  3251. LPDWORD lpdwNumDevs
  3252. );
  3253. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3254. LONG
  3255. WINAPI
  3256. lineInitializeExA( // TAPI v2.0
  3257. LPHLINEAPP lphLineApp,
  3258. HINSTANCE hInstance,
  3259. LINECALLBACK lpfnCallback,
  3260. LPCSTR lpszFriendlyAppName,
  3261. LPDWORD lpdwNumDevs,
  3262. LPDWORD lpdwAPIVersion,
  3263. LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
  3264. );
  3265. LONG
  3266. WINAPI
  3267. lineInitializeExW( // TAPI v2.0
  3268. LPHLINEAPP lphLineApp,
  3269. HINSTANCE hInstance,
  3270. LINECALLBACK lpfnCallback,
  3271. LPCWSTR lpszFriendlyAppName,
  3272. LPDWORD lpdwNumDevs,
  3273. LPDWORD lpdwAPIVersion,
  3274. LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
  3275. );
  3276. #ifdef UNICODE
  3277. #define lineInitializeEx lineInitializeExW
  3278. #else
  3279. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3280. #define lineInitializeEx lineInitializeExA
  3281. #endif
  3282. #endif
  3283. #endif
  3284. LONG
  3285. WINAPI
  3286. lineMakeCall(
  3287. HLINE hLine,
  3288. LPHCALL lphCall,
  3289. LPCSTR lpszDestAddress,
  3290. DWORD dwCountryCode,
  3291. LPLINECALLPARAMS const lpCallParams
  3292. );
  3293. #if WIN32
  3294. LONG
  3295. WINAPI
  3296. lineMakeCallA(
  3297. HLINE hLine,
  3298. LPHCALL lphCall,
  3299. LPCSTR lpszDestAddress,
  3300. DWORD dwCountryCode,
  3301. LPLINECALLPARAMS const lpCallParams
  3302. );
  3303. LONG
  3304. WINAPI
  3305. lineMakeCallW(
  3306. HLINE hLine,
  3307. LPHCALL lphCall,
  3308. LPCWSTR lpszDestAddress,
  3309. DWORD dwCountryCode,
  3310. LPLINECALLPARAMS const lpCallParams
  3311. );
  3312. #ifdef UNICODE
  3313. #define lineMakeCall lineMakeCallW
  3314. #else
  3315. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3316. #define lineMakeCall lineMakeCallA
  3317. #endif
  3318. #endif
  3319. #endif
  3320. LONG
  3321. WINAPI
  3322. lineMonitorDigits(
  3323. HCALL hCall,
  3324. DWORD dwDigitModes
  3325. );
  3326. LONG
  3327. WINAPI
  3328. lineMonitorMedia(
  3329. HCALL hCall,
  3330. DWORD dwMediaModes
  3331. );
  3332. LONG
  3333. WINAPI
  3334. lineMonitorTones(
  3335. HCALL hCall,
  3336. LPLINEMONITORTONE const lpToneList,
  3337. DWORD dwNumEntries
  3338. );
  3339. LONG
  3340. WINAPI
  3341. lineNegotiateAPIVersion(
  3342. HLINEAPP hLineApp,
  3343. DWORD dwDeviceID,
  3344. DWORD dwAPILowVersion,
  3345. DWORD dwAPIHighVersion,
  3346. LPDWORD lpdwAPIVersion,
  3347. LPLINEEXTENSIONID lpExtensionID
  3348. );
  3349. LONG
  3350. WINAPI
  3351. lineNegotiateExtVersion(
  3352. HLINEAPP hLineApp,
  3353. DWORD dwDeviceID,
  3354. DWORD dwAPIVersion,
  3355. DWORD dwExtLowVersion,
  3356. DWORD dwExtHighVersion,
  3357. LPDWORD lpdwExtVersion
  3358. );
  3359. LONG
  3360. WINAPI
  3361. lineOpen(
  3362. HLINEAPP hLineApp,
  3363. DWORD dwDeviceID,
  3364. LPHLINE lphLine,
  3365. DWORD dwAPIVersion,
  3366. DWORD dwExtVersion,
  3367. DWORD_PTR dwCallbackInstance,
  3368. DWORD dwPrivileges,
  3369. DWORD dwMediaModes,
  3370. LPLINECALLPARAMS const lpCallParams
  3371. );
  3372. #if WIN32
  3373. LONG
  3374. WINAPI
  3375. lineOpenA(
  3376. HLINEAPP hLineApp,
  3377. DWORD dwDeviceID,
  3378. LPHLINE lphLine,
  3379. DWORD dwAPIVersion,
  3380. DWORD dwExtVersion,
  3381. DWORD_PTR dwCallbackInstance,
  3382. DWORD dwPrivileges,
  3383. DWORD dwMediaModes,
  3384. LPLINECALLPARAMS const lpCallParams
  3385. );
  3386. LONG
  3387. WINAPI
  3388. lineOpenW(
  3389. HLINEAPP hLineApp,
  3390. DWORD dwDeviceID,
  3391. LPHLINE lphLine,
  3392. DWORD dwAPIVersion,
  3393. DWORD dwExtVersion,
  3394. DWORD_PTR dwCallbackInstance,
  3395. DWORD dwPrivileges,
  3396. DWORD dwMediaModes,
  3397. LPLINECALLPARAMS const lpCallParams
  3398. );
  3399. #ifdef UNICODE
  3400. #define lineOpen lineOpenW
  3401. #else
  3402. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3403. #define lineOpen lineOpenA
  3404. #endif
  3405. #endif
  3406. #endif
  3407. LONG
  3408. WINAPI
  3409. linePark(
  3410. HCALL hCall,
  3411. DWORD dwParkMode,
  3412. LPCSTR lpszDirAddress,
  3413. LPVARSTRING lpNonDirAddress
  3414. );
  3415. #if WIN32
  3416. LONG
  3417. WINAPI
  3418. lineParkA(
  3419. HCALL hCall,
  3420. DWORD dwParkMode,
  3421. LPCSTR lpszDirAddress,
  3422. LPVARSTRING lpNonDirAddress
  3423. );
  3424. LONG
  3425. WINAPI
  3426. lineParkW(
  3427. HCALL hCall,
  3428. DWORD dwParkMode,
  3429. LPCWSTR lpszDirAddress,
  3430. LPVARSTRING lpNonDirAddress
  3431. );
  3432. #ifdef UNICODE
  3433. #define linePark lineParkW
  3434. #else
  3435. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3436. #define linePark lineParkA
  3437. #endif
  3438. #endif
  3439. #endif
  3440. LONG
  3441. WINAPI
  3442. linePickup(
  3443. HLINE hLine,
  3444. DWORD dwAddressID,
  3445. LPHCALL lphCall,
  3446. LPCSTR lpszDestAddress,
  3447. LPCSTR lpszGroupID
  3448. );
  3449. #if WIN32
  3450. LONG
  3451. WINAPI
  3452. linePickupA(
  3453. HLINE hLine,
  3454. DWORD dwAddressID,
  3455. LPHCALL lphCall,
  3456. LPCSTR lpszDestAddress,
  3457. LPCSTR lpszGroupID
  3458. );
  3459. LONG
  3460. WINAPI
  3461. linePickupW(
  3462. HLINE hLine,
  3463. DWORD dwAddressID,
  3464. LPHCALL lphCall,
  3465. LPCWSTR lpszDestAddress,
  3466. LPCWSTR lpszGroupID
  3467. );
  3468. #ifdef UNICODE
  3469. #define linePickup linePickupW
  3470. #else
  3471. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3472. #define linePickup linePickupA
  3473. #endif
  3474. #endif
  3475. #endif
  3476. LONG
  3477. WINAPI
  3478. linePrepareAddToConference(
  3479. HCALL hConfCall,
  3480. LPHCALL lphConsultCall,
  3481. LPLINECALLPARAMS const lpCallParams
  3482. );
  3483. #if WIN32
  3484. LONG
  3485. WINAPI
  3486. linePrepareAddToConferenceA(
  3487. HCALL hConfCall,
  3488. LPHCALL lphConsultCall,
  3489. LPLINECALLPARAMS const lpCallParams
  3490. );
  3491. LONG
  3492. WINAPI
  3493. linePrepareAddToConferenceW(
  3494. HCALL hConfCall,
  3495. LPHCALL lphConsultCall,
  3496. LPLINECALLPARAMS const lpCallParams
  3497. );
  3498. #ifdef UNICODE
  3499. #define linePrepareAddToConference linePrepareAddToConferenceW
  3500. #else
  3501. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3502. #define linePrepareAddToConference linePrepareAddToConferenceA
  3503. #endif
  3504. #endif
  3505. #endif
  3506. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3507. LONG
  3508. WINAPI
  3509. lineProxyMessage( // TAPI v2.0
  3510. HLINE hLine,
  3511. HCALL hCall,
  3512. DWORD dwMsg,
  3513. DWORD dwParam1,
  3514. DWORD dwParam2,
  3515. DWORD dwParam3
  3516. );
  3517. LONG
  3518. WINAPI
  3519. lineProxyResponse( // TAPI v2.0
  3520. HLINE hLine,
  3521. LPLINEPROXYREQUEST lpProxyRequest,
  3522. DWORD dwResult
  3523. );
  3524. #endif
  3525. LONG
  3526. WINAPI
  3527. lineRedirect(
  3528. HCALL hCall,
  3529. LPCSTR lpszDestAddress,
  3530. DWORD dwCountryCode
  3531. );
  3532. #if WIN32
  3533. LONG
  3534. WINAPI
  3535. lineRedirectA(
  3536. HCALL hCall,
  3537. LPCSTR lpszDestAddress,
  3538. DWORD dwCountryCode
  3539. );
  3540. LONG
  3541. WINAPI
  3542. lineRedirectW(
  3543. HCALL hCall,
  3544. LPCWSTR lpszDestAddress,
  3545. DWORD dwCountryCode
  3546. );
  3547. #ifdef UNICODE
  3548. #define lineRedirect lineRedirectW
  3549. #else
  3550. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3551. #define lineRedirect lineRedirectA
  3552. #endif
  3553. #endif
  3554. #endif
  3555. LONG
  3556. WINAPI
  3557. lineRegisterRequestRecipient(
  3558. HLINEAPP hLineApp,
  3559. DWORD dwRegistrationInstance,
  3560. DWORD dwRequestMode,
  3561. DWORD bEnable
  3562. );
  3563. LONG
  3564. WINAPI
  3565. lineReleaseUserUserInfo( // TAPI v1.4
  3566. HCALL hCall
  3567. );
  3568. LONG
  3569. WINAPI
  3570. lineRemoveFromConference(
  3571. HCALL hCall
  3572. );
  3573. LONG
  3574. WINAPI
  3575. lineRemoveProvider( // TAPI v1.4
  3576. DWORD dwPermanentProviderID,
  3577. HWND hwndOwner
  3578. );
  3579. LONG
  3580. WINAPI
  3581. lineSecureCall(
  3582. HCALL hCall
  3583. );
  3584. LONG
  3585. WINAPI
  3586. lineSendUserUserInfo(
  3587. HCALL hCall,
  3588. LPCSTR lpsUserUserInfo,
  3589. DWORD dwSize
  3590. );
  3591. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3592. LONG
  3593. WINAPI
  3594. lineSetAgentActivity( // TAPI v2.0
  3595. HLINE hLine,
  3596. DWORD dwAddressID,
  3597. DWORD dwActivityID
  3598. );
  3599. LONG
  3600. WINAPI
  3601. lineSetAgentGroup( // TAPI v2.0
  3602. HLINE hLine,
  3603. DWORD dwAddressID,
  3604. LPLINEAGENTGROUPLIST lpAgentGroupList
  3605. );
  3606. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  3607. LONG
  3608. WINAPI
  3609. lineSetAgentMeasurementPeriod( // TAPI v2.2
  3610. HLINE hLine,
  3611. HAGENT hAgent,
  3612. DWORD dwMeasurementPeriod
  3613. );
  3614. LONG
  3615. WINAPI
  3616. lineSetAgentSessionState( // TAPI v2.2
  3617. HLINE hLine,
  3618. HAGENTSESSION hAgentSession,
  3619. DWORD dwAgentSessionState,
  3620. DWORD dwNextAgentSessionState
  3621. );
  3622. LONG
  3623. WINAPI
  3624. lineSetAgentStateEx( // TAPI v2.2
  3625. HLINE hLine,
  3626. HAGENT hAgent,
  3627. DWORD dwAgentState,
  3628. DWORD dwNextAgentState
  3629. );
  3630. #endif
  3631. LONG
  3632. WINAPI
  3633. lineSetAgentState( // TAPI v2.0
  3634. HLINE hLine,
  3635. DWORD dwAddressID,
  3636. DWORD dwAgentState,
  3637. DWORD dwNextAgentState
  3638. );
  3639. #endif
  3640. LONG
  3641. WINAPI
  3642. lineSetAppPriority( // TAPI v1.4
  3643. LPCSTR lpszAppFilename,
  3644. DWORD dwMediaMode,
  3645. LPLINEEXTENSIONID lpExtensionID,
  3646. DWORD dwRequestMode,
  3647. LPCSTR lpszExtensionName,
  3648. DWORD dwPriority
  3649. );
  3650. #if WIN32
  3651. LONG
  3652. WINAPI
  3653. lineSetAppPriorityA( // TAPI v1.4
  3654. LPCSTR lpszAppFilename,
  3655. DWORD dwMediaMode,
  3656. LPLINEEXTENSIONID lpExtensionID,
  3657. DWORD dwRequestMode,
  3658. LPCSTR lpszExtensionName,
  3659. DWORD dwPriority
  3660. );
  3661. LONG
  3662. WINAPI
  3663. lineSetAppPriorityW( // TAPI v1.4
  3664. LPCWSTR lpszAppFilename,
  3665. DWORD dwMediaMode,
  3666. LPLINEEXTENSIONID lpExtensionID,
  3667. DWORD dwRequestMode,
  3668. LPCWSTR lpszExtensionName,
  3669. DWORD dwPriority
  3670. );
  3671. #ifdef UNICODE
  3672. #define lineSetAppPriority lineSetAppPriorityW
  3673. #else
  3674. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3675. #define lineSetAppPriority lineSetAppPriorityA
  3676. #endif
  3677. #endif
  3678. #endif
  3679. LONG
  3680. WINAPI
  3681. lineSetAppSpecific(
  3682. HCALL hCall,
  3683. DWORD dwAppSpecific
  3684. );
  3685. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3686. LONG
  3687. WINAPI
  3688. lineSetCallData( // TAPI v2.0
  3689. HCALL hCall,
  3690. LPVOID lpCallData,
  3691. DWORD dwSize
  3692. );
  3693. #endif
  3694. LONG
  3695. WINAPI
  3696. lineSetCallParams(
  3697. HCALL hCall,
  3698. DWORD dwBearerMode,
  3699. DWORD dwMinRate,
  3700. DWORD dwMaxRate,
  3701. LPLINEDIALPARAMS const lpDialParams
  3702. );
  3703. LONG
  3704. WINAPI
  3705. lineSetCallPrivilege(
  3706. HCALL hCall,
  3707. DWORD dwCallPrivilege
  3708. );
  3709. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3710. LONG
  3711. WINAPI
  3712. lineSetCallQualityOfService( // TAPI v2.0
  3713. HCALL hCall,
  3714. LPVOID lpSendingFlowspec,
  3715. DWORD dwSendingFlowspecSize,
  3716. LPVOID lpReceivingFlowspec,
  3717. DWORD dwReceivingFlowspecSize
  3718. );
  3719. LONG
  3720. WINAPI
  3721. lineSetCallTreatment( // TAPI v2.0
  3722. HCALL hCall,
  3723. DWORD dwTreatment
  3724. );
  3725. #endif
  3726. LONG
  3727. WINAPI
  3728. lineSetCurrentLocation(
  3729. HLINEAPP hLineApp,
  3730. DWORD dwLocation
  3731. );
  3732. LONG
  3733. WINAPI
  3734. lineSetDevConfig(
  3735. DWORD dwDeviceID,
  3736. LPVOID const lpDeviceConfig,
  3737. DWORD dwSize,
  3738. LPCSTR lpszDeviceClass
  3739. );
  3740. #if WIN32
  3741. LONG
  3742. WINAPI
  3743. lineSetDevConfigA(
  3744. DWORD dwDeviceID,
  3745. LPVOID const lpDeviceConfig,
  3746. DWORD dwSize,
  3747. LPCSTR lpszDeviceClass
  3748. );
  3749. LONG
  3750. WINAPI
  3751. lineSetDevConfigW(
  3752. DWORD dwDeviceID,
  3753. LPVOID const lpDeviceConfig,
  3754. DWORD dwSize,
  3755. LPCWSTR lpszDeviceClass
  3756. );
  3757. #ifdef UNICODE
  3758. #define lineSetDevConfig lineSetDevConfigW
  3759. #else
  3760. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3761. #define lineSetDevConfig lineSetDevConfigA
  3762. #endif
  3763. #endif
  3764. #endif
  3765. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3766. LONG
  3767. WINAPI
  3768. lineSetLineDevStatus( // TAPI v2.0
  3769. HLINE hLine,
  3770. DWORD dwStatusToChange,
  3771. DWORD fStatus
  3772. );
  3773. #endif
  3774. LONG
  3775. WINAPI
  3776. lineSetMediaControl(
  3777. HLINE hLine,
  3778. DWORD dwAddressID,
  3779. HCALL hCall,
  3780. DWORD dwSelect,
  3781. LPLINEMEDIACONTROLDIGIT const lpDigitList,
  3782. DWORD dwDigitNumEntries,
  3783. LPLINEMEDIACONTROLMEDIA const lpMediaList,
  3784. DWORD dwMediaNumEntries,
  3785. LPLINEMEDIACONTROLTONE const lpToneList,
  3786. DWORD dwToneNumEntries,
  3787. LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
  3788. DWORD dwCallStateNumEntries
  3789. );
  3790. LONG
  3791. WINAPI
  3792. lineSetMediaMode(
  3793. HCALL hCall,
  3794. DWORD dwMediaModes
  3795. );
  3796. #if (TAPI_CURRENT_VERSION >= 0x00020002)
  3797. LONG
  3798. WINAPI
  3799. lineSetQueueMeasurementPeriod( // TAPI v2.2
  3800. HLINE hLine,
  3801. DWORD dwQueueID,
  3802. DWORD dwMeasurementPeriod
  3803. );
  3804. #endif
  3805. LONG
  3806. WINAPI
  3807. lineSetNumRings(
  3808. HLINE hLine,
  3809. DWORD dwAddressID,
  3810. DWORD dwNumRings
  3811. );
  3812. LONG
  3813. WINAPI
  3814. lineSetStatusMessages(
  3815. HLINE hLine,
  3816. DWORD dwLineStates,
  3817. DWORD dwAddressStates
  3818. );
  3819. LONG
  3820. WINAPI
  3821. lineSetTerminal(
  3822. HLINE hLine,
  3823. DWORD dwAddressID,
  3824. HCALL hCall,
  3825. DWORD dwSelect,
  3826. DWORD dwTerminalModes,
  3827. DWORD dwTerminalID,
  3828. DWORD bEnable
  3829. );
  3830. LONG
  3831. WINAPI
  3832. lineSetTollList(
  3833. HLINEAPP hLineApp,
  3834. DWORD dwDeviceID,
  3835. LPCSTR lpszAddressIn,
  3836. DWORD dwTollListOption
  3837. );
  3838. #if WIN32
  3839. LONG
  3840. WINAPI
  3841. lineSetTollListA(
  3842. HLINEAPP hLineApp,
  3843. DWORD dwDeviceID,
  3844. LPCSTR lpszAddressIn,
  3845. DWORD dwTollListOption
  3846. );
  3847. LONG
  3848. WINAPI
  3849. lineSetTollListW(
  3850. HLINEAPP hLineApp,
  3851. DWORD dwDeviceID,
  3852. LPCWSTR lpszAddressInW,
  3853. DWORD dwTollListOption
  3854. );
  3855. #ifdef UNICODE
  3856. #define lineSetTollList lineSetTollListW
  3857. #else
  3858. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3859. #define lineSetTollList lineSetTollListA
  3860. #endif
  3861. #endif
  3862. #endif
  3863. LONG
  3864. WINAPI
  3865. lineSetupConference(
  3866. HCALL hCall,
  3867. HLINE hLine,
  3868. LPHCALL lphConfCall,
  3869. LPHCALL lphConsultCall,
  3870. DWORD dwNumParties,
  3871. LPLINECALLPARAMS const lpCallParams
  3872. );
  3873. #if WIN32
  3874. LONG
  3875. WINAPI
  3876. lineSetupConferenceA(
  3877. HCALL hCall,
  3878. HLINE hLine,
  3879. LPHCALL lphConfCall,
  3880. LPHCALL lphConsultCall,
  3881. DWORD dwNumParties,
  3882. LPLINECALLPARAMS const lpCallParams
  3883. );
  3884. LONG
  3885. WINAPI
  3886. lineSetupConferenceW(
  3887. HCALL hCall,
  3888. HLINE hLine,
  3889. LPHCALL lphConfCall,
  3890. LPHCALL lphConsultCall,
  3891. DWORD dwNumParties,
  3892. LPLINECALLPARAMS const lpCallParams
  3893. );
  3894. #ifdef UNICODE
  3895. #define lineSetupConference lineSetupConferenceW
  3896. #else
  3897. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3898. #define lineSetupConference lineSetupConferenceA
  3899. #endif
  3900. #endif
  3901. #endif
  3902. LONG
  3903. WINAPI
  3904. lineSetupTransfer(
  3905. HCALL hCall,
  3906. LPHCALL lphConsultCall,
  3907. LPLINECALLPARAMS const lpCallParams
  3908. );
  3909. #if WIN32
  3910. LONG
  3911. WINAPI
  3912. lineSetupTransferA(
  3913. HCALL hCall,
  3914. LPHCALL lphConsultCall,
  3915. LPLINECALLPARAMS const lpCallParams
  3916. );
  3917. LONG
  3918. WINAPI
  3919. lineSetupTransferW(
  3920. HCALL hCall,
  3921. LPHCALL lphConsultCall,
  3922. LPLINECALLPARAMS const lpCallParams
  3923. );
  3924. #ifdef UNICODE
  3925. #define lineSetupTransfer lineSetupTransferW
  3926. #else
  3927. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3928. #define lineSetupTransfer lineSetupTransferA
  3929. #endif
  3930. #endif
  3931. #endif
  3932. LONG
  3933. WINAPI
  3934. lineShutdown(
  3935. HLINEAPP hLineApp
  3936. );
  3937. LONG
  3938. WINAPI
  3939. lineSwapHold(
  3940. HCALL hActiveCall,
  3941. HCALL hHeldCall
  3942. );
  3943. LONG
  3944. WINAPI
  3945. lineTranslateAddress(
  3946. HLINEAPP hLineApp,
  3947. DWORD dwDeviceID,
  3948. DWORD dwAPIVersion,
  3949. LPCSTR lpszAddressIn,
  3950. DWORD dwCard,
  3951. DWORD dwTranslateOptions,
  3952. LPLINETRANSLATEOUTPUT lpTranslateOutput
  3953. );
  3954. #if WIN32
  3955. LONG
  3956. WINAPI
  3957. lineTranslateAddressA(
  3958. HLINEAPP hLineApp,
  3959. DWORD dwDeviceID,
  3960. DWORD dwAPIVersion,
  3961. LPCSTR lpszAddressIn,
  3962. DWORD dwCard,
  3963. DWORD dwTranslateOptions,
  3964. LPLINETRANSLATEOUTPUT lpTranslateOutput
  3965. );
  3966. LONG
  3967. WINAPI
  3968. lineTranslateAddressW(
  3969. HLINEAPP hLineApp,
  3970. DWORD dwDeviceID,
  3971. DWORD dwAPIVersion,
  3972. LPCWSTR lpszAddressIn,
  3973. DWORD dwCard,
  3974. DWORD dwTranslateOptions,
  3975. LPLINETRANSLATEOUTPUT lpTranslateOutput
  3976. );
  3977. #ifdef UNICODE
  3978. #define lineTranslateAddress lineTranslateAddressW
  3979. #else
  3980. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3981. #define lineTranslateAddress lineTranslateAddressA
  3982. #endif
  3983. #endif
  3984. #endif
  3985. LONG
  3986. WINAPI
  3987. lineTranslateDialog( // TAPI v1.4
  3988. HLINEAPP hLineApp,
  3989. DWORD dwDeviceID,
  3990. DWORD dwAPIVersion,
  3991. HWND hwndOwner,
  3992. LPCSTR lpszAddressIn
  3993. );
  3994. #if WIN32
  3995. LONG
  3996. WINAPI
  3997. lineTranslateDialogA( // TAPI v1.4
  3998. HLINEAPP hLineApp,
  3999. DWORD dwDeviceID,
  4000. DWORD dwAPIVersion,
  4001. HWND hwndOwner,
  4002. LPCSTR lpszAddressIn
  4003. );
  4004. LONG
  4005. WINAPI
  4006. lineTranslateDialogW(
  4007. HLINEAPP hLineApp,
  4008. DWORD dwDeviceID,
  4009. DWORD dwAPIVersion,
  4010. HWND hwndOwner,
  4011. LPCWSTR lpszAddressIn
  4012. );
  4013. #ifdef UNICODE
  4014. #define lineTranslateDialog lineTranslateDialogW
  4015. #else
  4016. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4017. #define lineTranslateDialog lineTranslateDialogA
  4018. #endif
  4019. #endif
  4020. #endif
  4021. LONG
  4022. WINAPI
  4023. lineUncompleteCall(
  4024. HLINE hLine,
  4025. DWORD dwCompletionID
  4026. );
  4027. LONG
  4028. WINAPI
  4029. lineUnhold(
  4030. HCALL hCall
  4031. );
  4032. LONG
  4033. WINAPI
  4034. lineUnpark(
  4035. HLINE hLine,
  4036. DWORD dwAddressID,
  4037. LPHCALL lphCall,
  4038. LPCSTR lpszDestAddress
  4039. );
  4040. #if WIN32
  4041. LONG
  4042. WINAPI
  4043. lineUnparkA(
  4044. HLINE hLine,
  4045. DWORD dwAddressID,
  4046. LPHCALL lphCall,
  4047. LPCSTR lpszDestAddress
  4048. );
  4049. LONG
  4050. WINAPI
  4051. lineUnparkW(
  4052. HLINE hLine,
  4053. DWORD dwAddressID,
  4054. LPHCALL lphCall,
  4055. LPCWSTR lpszDestAddress
  4056. );
  4057. #ifdef UNICODE
  4058. #define lineUnpark lineUnparkW
  4059. #else
  4060. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4061. #define lineUnpark lineUnparkA
  4062. #endif
  4063. #endif
  4064. #endif
  4065. LONG
  4066. WINAPI
  4067. phoneClose(
  4068. HPHONE hPhone
  4069. );
  4070. LONG
  4071. WINAPI
  4072. phoneConfigDialog(
  4073. DWORD dwDeviceID,
  4074. HWND hwndOwner,
  4075. LPCSTR lpszDeviceClass
  4076. );
  4077. #if WIN32
  4078. LONG
  4079. WINAPI
  4080. phoneConfigDialogA(
  4081. DWORD dwDeviceID,
  4082. HWND hwndOwner,
  4083. LPCSTR lpszDeviceClass
  4084. );
  4085. LONG
  4086. WINAPI
  4087. phoneConfigDialogW(
  4088. DWORD dwDeviceID,
  4089. HWND hwndOwner,
  4090. LPCWSTR lpszDeviceClass
  4091. );
  4092. #ifdef UNICODE
  4093. #define phoneConfigDialog phoneConfigDialogW
  4094. #else
  4095. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4096. #define phoneConfigDialog phoneConfigDialogA
  4097. #endif
  4098. #endif
  4099. #endif
  4100. LONG
  4101. WINAPI
  4102. phoneDevSpecific(
  4103. HPHONE hPhone,
  4104. LPVOID lpParams,
  4105. DWORD dwSize
  4106. );
  4107. LONG
  4108. WINAPI
  4109. phoneGetButtonInfo(
  4110. HPHONE hPhone,
  4111. DWORD dwButtonLampID,
  4112. LPPHONEBUTTONINFO lpButtonInfo
  4113. );
  4114. #if WIN32
  4115. LONG
  4116. WINAPI
  4117. phoneGetButtonInfoA(
  4118. HPHONE hPhone,
  4119. DWORD dwButtonLampID,
  4120. LPPHONEBUTTONINFO lpButtonInfo
  4121. );
  4122. LONG
  4123. WINAPI
  4124. phoneGetButtonInfoW(
  4125. HPHONE hPhone,
  4126. DWORD dwButtonLampID,
  4127. LPPHONEBUTTONINFO lpButtonInfo
  4128. );
  4129. #ifdef UNICODE
  4130. #define phoneGetButtonInfo phoneGetButtonInfoW
  4131. #else
  4132. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4133. #define phoneGetButtonInfo phoneGetButtonInfoA
  4134. #endif
  4135. #endif
  4136. #endif
  4137. LONG
  4138. WINAPI
  4139. phoneGetData(
  4140. HPHONE hPhone,
  4141. DWORD dwDataID,
  4142. LPVOID lpData,
  4143. DWORD dwSize
  4144. );
  4145. LONG
  4146. WINAPI
  4147. phoneGetDevCaps(
  4148. HPHONEAPP hPhoneApp,
  4149. DWORD dwDeviceID,
  4150. DWORD dwAPIVersion,
  4151. DWORD dwExtVersion,
  4152. LPPHONECAPS lpPhoneCaps
  4153. );
  4154. #if WIN32
  4155. LONG
  4156. WINAPI
  4157. phoneGetDevCapsA(
  4158. HPHONEAPP hPhoneApp,
  4159. DWORD dwDeviceID,
  4160. DWORD dwAPIVersion,
  4161. DWORD dwExtVersion,
  4162. LPPHONECAPS lpPhoneCaps
  4163. );
  4164. LONG
  4165. WINAPI
  4166. phoneGetDevCapsW(
  4167. HPHONEAPP hPhoneApp,
  4168. DWORD dwDeviceID,
  4169. DWORD dwAPIVersion,
  4170. DWORD dwExtVersion,
  4171. LPPHONECAPS lpPhoneCaps
  4172. );
  4173. #ifdef UNICODE
  4174. #define phoneGetDevCaps phoneGetDevCapsW
  4175. #else
  4176. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4177. #define phoneGetDevCaps phoneGetDevCapsA
  4178. #endif
  4179. #endif
  4180. #endif
  4181. LONG
  4182. WINAPI
  4183. phoneGetDisplay(
  4184. HPHONE hPhone,
  4185. LPVARSTRING lpDisplay
  4186. );
  4187. LONG
  4188. WINAPI
  4189. phoneGetGain(
  4190. HPHONE hPhone,
  4191. DWORD dwHookSwitchDev,
  4192. LPDWORD lpdwGain
  4193. );
  4194. LONG
  4195. WINAPI
  4196. phoneGetHookSwitch(
  4197. HPHONE hPhone,
  4198. LPDWORD lpdwHookSwitchDevs
  4199. );
  4200. LONG
  4201. WINAPI
  4202. phoneGetIcon(
  4203. DWORD dwDeviceID,
  4204. LPCSTR lpszDeviceClass,
  4205. LPHICON lphIcon
  4206. );
  4207. #if WIN32
  4208. LONG
  4209. WINAPI
  4210. phoneGetIconA(
  4211. DWORD dwDeviceID,
  4212. LPCSTR lpszDeviceClass,
  4213. LPHICON lphIcon
  4214. );
  4215. LONG
  4216. WINAPI
  4217. phoneGetIconW(
  4218. DWORD dwDeviceID,
  4219. LPCWSTR lpszDeviceClass,
  4220. LPHICON lphIcon
  4221. );
  4222. #ifdef UNICODE
  4223. #define phoneGetIcon phoneGetIconW
  4224. #else
  4225. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4226. #define phoneGetIcon phoneGetIconA
  4227. #endif
  4228. #endif
  4229. #endif
  4230. LONG
  4231. WINAPI
  4232. phoneGetID(
  4233. HPHONE hPhone,
  4234. LPVARSTRING lpDeviceID,
  4235. LPCSTR lpszDeviceClass
  4236. );
  4237. #if WIN32
  4238. LONG
  4239. WINAPI
  4240. phoneGetIDA(
  4241. HPHONE hPhone,
  4242. LPVARSTRING lpDeviceID,
  4243. LPCSTR lpszDeviceClass
  4244. );
  4245. LONG
  4246. WINAPI
  4247. phoneGetIDW(
  4248. HPHONE hPhone,
  4249. LPVARSTRING lpDeviceID,
  4250. LPCWSTR lpszDeviceClass
  4251. );
  4252. #ifdef UNICODE
  4253. #define phoneGetID phoneGetIDW
  4254. #else
  4255. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4256. #define phoneGetID phoneGetIDA
  4257. #endif
  4258. #endif
  4259. #endif
  4260. LONG
  4261. WINAPI
  4262. phoneGetLamp(
  4263. HPHONE hPhone,
  4264. DWORD dwButtonLampID,
  4265. LPDWORD lpdwLampMode
  4266. );
  4267. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4268. LONG
  4269. WINAPI
  4270. phoneGetMessage( // TAPI v2.0
  4271. HPHONEAPP hPhoneApp,
  4272. LPPHONEMESSAGE lpMessage,
  4273. DWORD dwTimeout
  4274. );
  4275. #endif
  4276. LONG
  4277. WINAPI
  4278. phoneGetRing(
  4279. HPHONE hPhone,
  4280. LPDWORD lpdwRingMode,
  4281. LPDWORD lpdwVolume
  4282. );
  4283. LONG
  4284. WINAPI
  4285. phoneGetStatus(
  4286. HPHONE hPhone,
  4287. LPPHONESTATUS lpPhoneStatus
  4288. );
  4289. #if WIN32
  4290. LONG
  4291. WINAPI
  4292. phoneGetStatusA(
  4293. HPHONE hPhone,
  4294. LPPHONESTATUS lpPhoneStatus
  4295. );
  4296. LONG
  4297. WINAPI
  4298. phoneGetStatusW(
  4299. HPHONE hPhone,
  4300. LPPHONESTATUS lpPhoneStatus
  4301. );
  4302. #ifdef UNICODE
  4303. #define phoneGetStatus phoneGetStatusW
  4304. #else
  4305. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4306. #define phoneGetStatus phoneGetStatusA
  4307. #endif
  4308. #endif
  4309. #endif
  4310. LONG
  4311. WINAPI
  4312. phoneGetStatusMessages(
  4313. HPHONE hPhone,
  4314. LPDWORD lpdwPhoneStates,
  4315. LPDWORD lpdwButtonModes,
  4316. LPDWORD lpdwButtonStates
  4317. );
  4318. LONG
  4319. WINAPI
  4320. phoneGetVolume(
  4321. HPHONE hPhone,
  4322. DWORD dwHookSwitchDev,
  4323. LPDWORD lpdwVolume
  4324. );
  4325. LONG
  4326. WINAPI
  4327. phoneInitialize(
  4328. LPHPHONEAPP lphPhoneApp,
  4329. HINSTANCE hInstance,
  4330. PHONECALLBACK lpfnCallback,
  4331. LPCSTR lpszAppName,
  4332. LPDWORD lpdwNumDevs
  4333. );
  4334. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4335. LONG
  4336. WINAPI
  4337. phoneInitializeExA( // TAPI v2.0
  4338. LPHPHONEAPP lphPhoneApp,
  4339. HINSTANCE hInstance,
  4340. PHONECALLBACK lpfnCallback,
  4341. LPCSTR lpszFriendlyAppName,
  4342. LPDWORD lpdwNumDevs,
  4343. LPDWORD lpdwAPIVersion,
  4344. LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams
  4345. );
  4346. LONG
  4347. WINAPI
  4348. phoneInitializeExW( // TAPI v2.0
  4349. LPHPHONEAPP lphPhoneApp,
  4350. HINSTANCE hInstance,
  4351. PHONECALLBACK lpfnCallback,
  4352. LPCWSTR lpszFriendlyAppName,
  4353. LPDWORD lpdwNumDevs,
  4354. LPDWORD lpdwAPIVersion,
  4355. LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams
  4356. );
  4357. #ifdef UNICODE
  4358. #define phoneInitializeEx phoneInitializeExW
  4359. #else
  4360. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4361. #define phoneInitializeEx phoneInitializeExA
  4362. #endif
  4363. #endif
  4364. #endif
  4365. LONG
  4366. WINAPI
  4367. phoneNegotiateAPIVersion(
  4368. HPHONEAPP hPhoneApp,
  4369. DWORD dwDeviceID,
  4370. DWORD dwAPILowVersion,
  4371. DWORD dwAPIHighVersion,
  4372. LPDWORD lpdwAPIVersion,
  4373. LPPHONEEXTENSIONID lpExtensionID
  4374. );
  4375. LONG
  4376. WINAPI
  4377. phoneNegotiateExtVersion(
  4378. HPHONEAPP hPhoneApp,
  4379. DWORD dwDeviceID,
  4380. DWORD dwAPIVersion,
  4381. DWORD dwExtLowVersion,
  4382. DWORD dwExtHighVersion,
  4383. LPDWORD lpdwExtVersion
  4384. );
  4385. LONG
  4386. WINAPI
  4387. phoneOpen(
  4388. HPHONEAPP hPhoneApp,
  4389. DWORD dwDeviceID,
  4390. LPHPHONE lphPhone,
  4391. DWORD dwAPIVersion,
  4392. DWORD dwExtVersion,
  4393. DWORD_PTR dwCallbackInstance,
  4394. DWORD dwPrivilege
  4395. );
  4396. LONG
  4397. WINAPI
  4398. phoneSetButtonInfo(
  4399. HPHONE hPhone,
  4400. DWORD dwButtonLampID,
  4401. LPPHONEBUTTONINFO const lpButtonInfo
  4402. );
  4403. #if WIN32
  4404. LONG
  4405. WINAPI
  4406. phoneSetButtonInfoA(
  4407. HPHONE hPhone,
  4408. DWORD dwButtonLampID,
  4409. LPPHONEBUTTONINFO const lpButtonInfo
  4410. );
  4411. LONG
  4412. WINAPI
  4413. phoneSetButtonInfoW(
  4414. HPHONE hPhone,
  4415. DWORD dwButtonLampID,
  4416. LPPHONEBUTTONINFO const lpButtonInfo
  4417. );
  4418. #ifdef UNICODE
  4419. #define phoneSetButtonInfo phoneSetButtonInfoW
  4420. #else
  4421. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4422. #define phoneSetButtonInfo phoneSetButtonInfoA
  4423. #endif
  4424. #endif
  4425. #endif
  4426. LONG
  4427. WINAPI
  4428. phoneSetData(
  4429. HPHONE hPhone,
  4430. DWORD dwDataID,
  4431. LPVOID const lpData,
  4432. DWORD dwSize
  4433. );
  4434. LONG
  4435. WINAPI
  4436. phoneSetDisplay(
  4437. HPHONE hPhone,
  4438. DWORD dwRow,
  4439. DWORD dwColumn,
  4440. LPCSTR lpsDisplay,
  4441. DWORD dwSize
  4442. );
  4443. LONG
  4444. WINAPI
  4445. phoneSetGain(
  4446. HPHONE hPhone,
  4447. DWORD dwHookSwitchDev,
  4448. DWORD dwGain
  4449. );
  4450. LONG
  4451. WINAPI
  4452. phoneSetHookSwitch(
  4453. HPHONE hPhone,
  4454. DWORD dwHookSwitchDevs,
  4455. DWORD dwHookSwitchMode
  4456. );
  4457. LONG
  4458. WINAPI
  4459. phoneSetLamp(
  4460. HPHONE hPhone,
  4461. DWORD dwButtonLampID,
  4462. DWORD dwLampMode
  4463. );
  4464. LONG
  4465. WINAPI
  4466. phoneSetRing(
  4467. HPHONE hPhone,
  4468. DWORD dwRingMode,
  4469. DWORD dwVolume
  4470. );
  4471. LONG
  4472. WINAPI
  4473. phoneSetStatusMessages(
  4474. HPHONE hPhone,
  4475. DWORD dwPhoneStates,
  4476. DWORD dwButtonModes,
  4477. DWORD dwButtonStates
  4478. );
  4479. LONG
  4480. WINAPI
  4481. phoneSetVolume(
  4482. HPHONE hPhone,
  4483. DWORD dwHookSwitchDev,
  4484. DWORD dwVolume
  4485. );
  4486. LONG
  4487. WINAPI
  4488. phoneShutdown(
  4489. HPHONEAPP hPhoneApp
  4490. );
  4491. LONG
  4492. WINAPI
  4493. tapiGetLocationInfo(
  4494. LPSTR lpszCountryCode,
  4495. LPSTR lpszCityCode
  4496. );
  4497. #if WIN32
  4498. LONG
  4499. WINAPI
  4500. tapiGetLocationInfoA(
  4501. LPSTR lpszCountryCode,
  4502. LPSTR lpszCityCode
  4503. );
  4504. LONG
  4505. WINAPI
  4506. tapiGetLocationInfoW(
  4507. LPWSTR lpszCountryCodeW,
  4508. LPWSTR lpszCityCodeW
  4509. );
  4510. #ifdef UNICODE
  4511. #define tapiGetLocationInfo tapiGetLocationInfoW
  4512. #else
  4513. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4514. #define tapiGetLocationInfo tapiGetLocationInfoA
  4515. #endif
  4516. #endif
  4517. #endif
  4518. LONG
  4519. WINAPI
  4520. tapiRequestDrop(
  4521. HWND hwnd,
  4522. WPARAM wRequestID
  4523. );
  4524. LONG
  4525. WINAPI
  4526. tapiRequestMakeCall(
  4527. LPCSTR lpszDestAddress,
  4528. LPCSTR lpszAppName,
  4529. LPCSTR lpszCalledParty,
  4530. LPCSTR lpszComment
  4531. );
  4532. #if WIN32
  4533. LONG
  4534. WINAPI
  4535. tapiRequestMakeCallA(
  4536. LPCSTR lpszDestAddress,
  4537. LPCSTR lpszAppName,
  4538. LPCSTR lpszCalledParty,
  4539. LPCSTR lpszComment
  4540. );
  4541. LONG
  4542. WINAPI
  4543. tapiRequestMakeCallW(
  4544. LPCWSTR lpszDestAddress,
  4545. LPCWSTR lpszAppName,
  4546. LPCWSTR lpszCalledParty,
  4547. LPCWSTR lpszComment
  4548. );
  4549. #ifdef UNICODE
  4550. #define tapiRequestMakeCall tapiRequestMakeCallW
  4551. #else
  4552. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4553. #define tapiRequestMakeCall tapiRequestMakeCallA
  4554. #endif
  4555. #endif
  4556. #endif
  4557. LONG
  4558. WINAPI
  4559. tapiRequestMediaCall(
  4560. HWND hwnd,
  4561. WPARAM wRequestID,
  4562. LPCSTR lpszDeviceClass,
  4563. LPCSTR lpDeviceID,
  4564. DWORD dwSize,
  4565. DWORD dwSecure,
  4566. LPCSTR lpszDestAddress,
  4567. LPCSTR lpszAppName,
  4568. LPCSTR lpszCalledParty,
  4569. LPCSTR lpszComment
  4570. );
  4571. #if WIN32
  4572. LONG
  4573. WINAPI
  4574. tapiRequestMediaCallA(
  4575. HWND hwnd,
  4576. WPARAM wRequestID,
  4577. LPCSTR lpszDeviceClass,
  4578. LPCSTR lpDeviceID,
  4579. DWORD dwSize,
  4580. DWORD dwSecure,
  4581. LPCSTR lpszDestAddress,
  4582. LPCSTR lpszAppName,
  4583. LPCSTR lpszCalledParty,
  4584. LPCSTR lpszComment
  4585. );
  4586. LONG
  4587. WINAPI
  4588. tapiRequestMediaCallW(
  4589. HWND hwnd,
  4590. WPARAM wRequestID,
  4591. LPCWSTR lpszDeviceClass,
  4592. LPCWSTR lpDeviceID,
  4593. DWORD dwSize,
  4594. DWORD dwSecure,
  4595. LPCWSTR lpszDestAddress,
  4596. LPCWSTR lpszAppName,
  4597. LPCWSTR lpszCalledParty,
  4598. LPCWSTR lpszComment
  4599. );
  4600. #ifdef UNICODE
  4601. #define tapiRequestMediaCall tapiRequestMediaCallW
  4602. #else
  4603. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  4604. #define tapiRequestMediaCall tapiRequestMediaCallA
  4605. #endif
  4606. #endif
  4607. #endif
  4608. /*
  4609. TAPIERROR_FORMATMESSAGE - macro to convert a TAPI error constant
  4610. into a constant that FormatMessage will accept
  4611. TAPIERR : Negative numbers and 0
  4612. Map to : strip off high WORD
  4613. Example: 0xFFFFFFFF (-1) becomes 0x0000FFFF
  4614. LINEERR : Start at 0x80000000
  4615. Map to : strip off 0x80000000 and add 0xE000
  4616. Example: 0x80000004 becomes 0x0000E004
  4617. PHONEERR: Start at 0x90000000
  4618. Map to : strip off 0x90000000 and add 0xF000
  4619. Example: 0x9000000A becomes 0x0000F00A
  4620. pseudocode:
  4621. if (__ErrCode__ is a TAPIERR)
  4622. strip off high word
  4623. else if (__ErrCode__ is a PHONEERR)
  4624. strip off 0x90000000
  4625. add 0xE000
  4626. else
  4627. strip off 0x80000000
  4628. add 0xF000
  4629. */
  4630. #define TAPIERROR_FORMATMESSAGE(__ErrCode__) \
  4631. \
  4632. ( ( (__ErrCode__) > 0xFFFF0000 ) ? \
  4633. \
  4634. ( (__ErrCode__) & 0x0000FFFF ) : \
  4635. \
  4636. ( ( (__ErrCode__) & 0x10000000 ) ? \
  4637. \
  4638. ( (__ErrCode__) - 0x90000000 + 0xF000 ) : \
  4639. \
  4640. ( (__ErrCode__) - 0x80000000 + 0xE000 ) ) )
  4641. #ifdef __cplusplus
  4642. } /* End of extern "C" { */
  4643. #endif /* __cplusplus */
  4644. #pragma pack()
  4645. #endif // TAPI_H