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.

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