Leaked source code of windows server 2003
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.

4060 lines
132 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 1995-96 Microsoft, 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. // -- TAPI VERSION INFO -- TAPI VERSION INFO -- TAPI VERSION INFO --
  20. // -- TAPI VERSION INFO -- TAPI VERSION INFO -- TAPI VERSION INFO --
  21. //
  22. // To build a TAPI 1.4 application put a define as below in your source
  23. // file before you include TAPI.H:
  24. //
  25. // #define TAPI_CURRENT_VERSION 0x00010004
  26. //
  27. //
  28. #ifndef TAPI_CURRENT_VERSION
  29. #define TAPI_CURRENT_VERSION 0x00020000
  30. #endif
  31. #include <windows.h>
  32. #pragma pack(1)
  33. // Type definitions of the data types used in tapi
  34. #ifdef __cplusplus
  35. extern "C" { /* Assume C declarations for C++ */
  36. #endif /* __cplusplus */
  37. //
  38. // TAPI type definitions
  39. //
  40. #define DECLARE_OPAQUE32(name) struct name##__ { int unused; }; \
  41. typedef const struct name##__ FAR* name
  42. DECLARE_OPAQUE32(HCALL);
  43. typedef HCALL FAR * LPHCALL;
  44. DECLARE_OPAQUE32(HLINE);
  45. typedef HLINE FAR * LPHLINE;
  46. DECLARE_OPAQUE32(HPHONE);
  47. typedef HPHONE FAR * LPHPHONE;
  48. DECLARE_OPAQUE32(HLINEAPP);
  49. typedef HLINEAPP FAR * LPHLINEAPP;
  50. DECLARE_OPAQUE32(HPHONEAPP);
  51. typedef HPHONEAPP FAR * LPHPHONEAPP;
  52. typedef HICON FAR * LPHICON;
  53. typedef void (CALLBACK * LINECALLBACK)(
  54. DWORD hDevice,
  55. DWORD dwMessage,
  56. DWORD dwInstance,
  57. DWORD dwParam1,
  58. DWORD dwParam2,
  59. DWORD dwParam3
  60. );
  61. typedef void (CALLBACK * PHONECALLBACK)(
  62. DWORD hDevice,
  63. DWORD dwMessage,
  64. DWORD dwInstance,
  65. DWORD dwParam1,
  66. DWORD dwParam2,
  67. DWORD dwParam3
  68. );
  69. // Messages for Phones and Lines
  70. #define LINE_ADDRESSSTATE 0L
  71. #define LINE_CALLINFO 1L
  72. #define LINE_CALLSTATE 2L
  73. #define LINE_CLOSE 3L
  74. #define LINE_DEVSPECIFIC 4L
  75. #define LINE_DEVSPECIFICFEATURE 5L
  76. #define LINE_GATHERDIGITS 6L
  77. #define LINE_GENERATE 7L
  78. #define LINE_LINEDEVSTATE 8L
  79. #define LINE_MONITORDIGITS 9L
  80. #define LINE_MONITORMEDIA 10L
  81. #define LINE_MONITORTONE 11L
  82. #define LINE_REPLY 12L
  83. #define LINE_REQUEST 13L
  84. #define PHONE_BUTTON 14L
  85. #define PHONE_CLOSE 15L
  86. #define PHONE_DEVSPECIFIC 16L
  87. #define PHONE_REPLY 17L
  88. #define PHONE_STATE 18L
  89. #define LINE_CREATE 19L // TAPI v1.4
  90. #define PHONE_CREATE 20L // TAPI v1.4
  91. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  92. #define LINE_AGENTSPECIFIC 21L // TAPI v2.0
  93. #define LINE_AGENTSTATUS 22L // TAPI v2.0
  94. #define LINE_APPNEWCALL 23L // TAPI v2.0
  95. #define LINE_PROXYREQUEST 24L // TAPI v2.0
  96. #define LINE_REMOVE 25L // TAPI v2.0
  97. #define PHONE_REMOVE 26L // TAPI v2.0
  98. #endif
  99. #define INITIALIZE_NEGOTIATION 0xFFFFFFFFL
  100. #define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
  101. #define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
  102. #define LINEADDRCAPFLAGS_SECURE 0x00000004
  103. #define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
  104. #define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
  105. #define LINEADDRCAPFLAGS_DIALED 0x00000020
  106. #define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
  107. #define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
  108. #define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
  109. #define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
  110. #define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
  111. #define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
  112. #define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
  113. #define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
  114. #define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
  115. #define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
  116. #define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
  117. #define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
  118. #define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
  119. #define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
  120. #define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
  121. #define LINEADDRCAPFLAGS_CONFDROP 0x00200000
  122. #define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
  123. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  124. #define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000 // TAPI v2.0
  125. #define LINEADDRCAPFLAGS_QUEUE 0x01000000 // TAPI v2.0
  126. #define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000 // TAPI v2.0
  127. #define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000 // TAPI v2.0
  128. #define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000 // TAPI v2.0
  129. #define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000 // TAPI v2.0
  130. #define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000 // TAPI v2.0
  131. #endif
  132. #define LINEADDRESSMODE_ADDRESSID 0x00000001
  133. #define LINEADDRESSMODE_DIALABLEADDR 0x00000002
  134. #define LINEADDRESSSHARING_PRIVATE 0x00000001
  135. #define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
  136. #define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
  137. #define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
  138. #define LINEADDRESSSHARING_MONITORED 0x00000010
  139. #define LINEADDRESSSTATE_OTHER 0x00000001
  140. #define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
  141. #define LINEADDRESSSTATE_INUSEZERO 0x00000004
  142. #define LINEADDRESSSTATE_INUSEONE 0x00000008
  143. #define LINEADDRESSSTATE_INUSEMANY 0x00000010
  144. #define LINEADDRESSSTATE_NUMCALLS 0x00000020
  145. #define LINEADDRESSSTATE_FORWARD 0x00000040
  146. #define LINEADDRESSSTATE_TERMINALS 0x00000080
  147. #define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 // TAPI v1.4
  148. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  149. #define LINEADDRESSSTATE_AGENT 0x00000200 // TAPI v2.0
  150. #define LINEADDRESSSTATE_AGENTSTATE 0x00000400 // TAPI v2.0
  151. #define LINEADDRESSSTATE_AGENTACTIVITY 0x00000800 // TAPI v2.0
  152. #endif
  153. #define LINEADDRFEATURE_FORWARD 0x00000001
  154. #define LINEADDRFEATURE_MAKECALL 0x00000002
  155. #define LINEADDRFEATURE_PICKUP 0x00000004
  156. #define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
  157. #define LINEADDRFEATURE_SETTERMINAL 0x00000010
  158. #define LINEADDRFEATURE_SETUPCONF 0x00000020
  159. #define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
  160. #define LINEADDRFEATURE_UNPARK 0x00000080
  161. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  162. #define LINEADDRFEATURE_PICKUPHELD 0x00000100 // TAPI v2.0
  163. #define LINEADDRFEATURE_PICKUPGROUP 0x00000200 // TAPI v2.0
  164. #define LINEADDRFEATURE_PICKUPDIRECT 0x00000400 // TAPI v2.0
  165. #define LINEADDRFEATURE_PICKUPWAITING 0x00000800 // TAPI v2.0
  166. #define LINEADDRFEATURE_FORWARDFWD 0x00001000 // TAPI v2.0
  167. #define LINEADDRFEATURE_FORWARDDND 0x00002000 // TAPI v2.0
  168. #endif
  169. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  170. #define LINEAGENTFEATURE_SETAGENTGROUP 0x00000001 // TAPI v2.0
  171. #define LINEAGENTFEATURE_SETAGENTSTATE 0x00000002 // TAPI v2.0
  172. #define LINEAGENTFEATURE_SETAGENTACTIVITY 0x00000004 // TAPI v2.0
  173. #define LINEAGENTFEATURE_AGENTSPECIFIC 0x00000008 // TAPI v2.0
  174. #define LINEAGENTFEATURE_GETAGENTACTIVITYLIST 0x00000010 // TAPI v2.0
  175. #define LINEAGENTFEATURE_GETAGENTGROUP 0x00000020 // TAPI v2.0
  176. #define LINEAGENTSTATE_LOGGEDOFF 0x00000001 // TAPI v2.0
  177. #define LINEAGENTSTATE_NOTREADY 0x00000002 // TAPI v2.0
  178. #define LINEAGENTSTATE_READY 0x00000004 // TAPI v2.0
  179. #define LINEAGENTSTATE_BUSYACD 0x00000008 // TAPI v2.0
  180. #define LINEAGENTSTATE_BUSYINCOMING 0x00000010 // TAPI v2.0
  181. #define LINEAGENTSTATE_BUSYOUTBOUND 0x00000020 // TAPI v2.0
  182. #define LINEAGENTSTATE_BUSYOTHER 0x00000040 // TAPI v2.0
  183. #define LINEAGENTSTATE_WORKINGAFTERCALL 0x00000080 // TAPI v2.0
  184. #define LINEAGENTSTATE_UNKNOWN 0x00000100 // TAPI v2.0
  185. #define LINEAGENTSTATE_UNAVAIL 0x00000200 // TAPI v2.0
  186. #define LINEAGENTSTATUS_GROUP 0x00000001 // TAPI v2.0
  187. #define LINEAGENTSTATUS_STATE 0x00000002 // TAPI v2.0
  188. #define LINEAGENTSTATUS_NEXTSTATE 0x00000004 // TAPI v2.0
  189. #define LINEAGENTSTATUS_ACTIVITY 0x00000008 // TAPI v2.0
  190. #define LINEAGENTSTATUS_ACTIVITYLIST 0x00000010 // TAPI v2.0
  191. #define LINEAGENTSTATUS_GROUPLIST 0x00000020 // TAPI v2.0
  192. #define LINEAGENTSTATUS_CAPSCHANGE 0x00000040 // TAPI v2.0
  193. #define LINEAGENTSTATUS_VALIDSTATES 0x00000080 // TAPI v2.0
  194. #define LINEAGENTSTATUS_VALIDNEXTSTATES 0x00000100 // TAPI v2.0
  195. #endif
  196. #define LINEANSWERMODE_NONE 0x00000001
  197. #define LINEANSWERMODE_DROP 0x00000002
  198. #define LINEANSWERMODE_HOLD 0x00000004
  199. #define LINEBEARERMODE_VOICE 0x00000001
  200. #define LINEBEARERMODE_SPEECH 0x00000002
  201. #define LINEBEARERMODE_MULTIUSE 0x00000004
  202. #define LINEBEARERMODE_DATA 0x00000008
  203. #define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
  204. #define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
  205. #define LINEBEARERMODE_PASSTHROUGH 0x00000040 // TAPI v1.4
  206. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  207. #define LINEBEARERMODE_RESTRICTEDDATA 0x00000080 // TAPI v2.0
  208. #endif
  209. #define LINEBUSYMODE_STATION 0x00000001
  210. #define LINEBUSYMODE_TRUNK 0x00000002
  211. #define LINEBUSYMODE_UNKNOWN 0x00000004
  212. #define LINEBUSYMODE_UNAVAIL 0x00000008
  213. #define LINECALLCOMPLCOND_BUSY 0x00000001
  214. #define LINECALLCOMPLCOND_NOANSWER 0x00000002
  215. #define LINECALLCOMPLMODE_CAMPON 0x00000001
  216. #define LINECALLCOMPLMODE_CALLBACK 0x00000002
  217. #define LINECALLCOMPLMODE_INTRUDE 0x00000004
  218. #define LINECALLCOMPLMODE_MESSAGE 0x00000008
  219. #define LINECALLFEATURE_ACCEPT 0x00000001
  220. #define LINECALLFEATURE_ADDTOCONF 0x00000002
  221. #define LINECALLFEATURE_ANSWER 0x00000004
  222. #define LINECALLFEATURE_BLINDTRANSFER 0x00000008
  223. #define LINECALLFEATURE_COMPLETECALL 0x00000010
  224. #define LINECALLFEATURE_COMPLETETRANSF 0x00000020
  225. #define LINECALLFEATURE_DIAL 0x00000040
  226. #define LINECALLFEATURE_DROP 0x00000080
  227. #define LINECALLFEATURE_GATHERDIGITS 0x00000100
  228. #define LINECALLFEATURE_GENERATEDIGITS 0x00000200
  229. #define LINECALLFEATURE_GENERATETONE 0x00000400
  230. #define LINECALLFEATURE_HOLD 0x00000800
  231. #define LINECALLFEATURE_MONITORDIGITS 0x00001000
  232. #define LINECALLFEATURE_MONITORMEDIA 0x00002000
  233. #define LINECALLFEATURE_MONITORTONES 0x00004000
  234. #define LINECALLFEATURE_PARK 0x00008000
  235. #define LINECALLFEATURE_PREPAREADDCONF 0x00010000
  236. #define LINECALLFEATURE_REDIRECT 0x00020000
  237. #define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
  238. #define LINECALLFEATURE_SECURECALL 0x00080000
  239. #define LINECALLFEATURE_SENDUSERUSER 0x00100000
  240. #define LINECALLFEATURE_SETCALLPARAMS 0x00200000
  241. #define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
  242. #define LINECALLFEATURE_SETTERMINAL 0x00800000
  243. #define LINECALLFEATURE_SETUPCONF 0x01000000
  244. #define LINECALLFEATURE_SETUPTRANSFER 0x02000000
  245. #define LINECALLFEATURE_SWAPHOLD 0x04000000
  246. #define LINECALLFEATURE_UNHOLD 0x08000000
  247. #define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 // TAPI v1.4
  248. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  249. #define LINECALLFEATURE_SETTREATMENT 0x20000000 // TAPI v2.0
  250. #define LINECALLFEATURE_SETQOS 0x40000000 // TAPI v2.0
  251. #define LINECALLFEATURE_SETCALLDATA 0x80000000 // TAPI v2.0
  252. #endif
  253. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  254. #define LINECALLFEATURE2_NOHOLDCONFERENCE 0x00000001 // TAPI v2.0
  255. #define LINECALLFEATURE2_ONESTEPTRANSFER 0x00000002 // TAPI v2.0
  256. #define LINECALLFEATURE2_COMPLCAMPON 0x00000004 // TAPI v2.0
  257. #define LINECALLFEATURE2_COMPLCALLBACK 0x00000008 // TAPI v2.0
  258. #define LINECALLFEATURE2_COMPLINTRUDE 0x00000010 // TAPI v2.0
  259. #define LINECALLFEATURE2_COMPLMESSAGE 0x00000020 // TAPI v2.0
  260. #define LINECALLFEATURE2_TRANSFERNORM 0x00000040 // TAPI v2.0
  261. #define LINECALLFEATURE2_TRANSFERCONF 0x00000080 // TAPI v2.0
  262. #define LINECALLFEATURE2_PARKDIRECT 0x00000100 // TAPI v2.0
  263. #define LINECALLFEATURE2_PARKNONDIRECT 0x00000200 // TAPI v2.0
  264. #endif
  265. #define LINECALLINFOSTATE_OTHER 0x00000001
  266. #define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002
  267. #define LINECALLINFOSTATE_BEARERMODE 0x00000004
  268. #define LINECALLINFOSTATE_RATE 0x00000008
  269. #define LINECALLINFOSTATE_MEDIAMODE 0x00000010
  270. #define LINECALLINFOSTATE_APPSPECIFIC 0x00000020
  271. #define LINECALLINFOSTATE_CALLID 0x00000040
  272. #define LINECALLINFOSTATE_RELATEDCALLID 0x00000080
  273. #define LINECALLINFOSTATE_ORIGIN 0x00000100
  274. #define LINECALLINFOSTATE_REASON 0x00000200
  275. #define LINECALLINFOSTATE_COMPLETIONID 0x00000400
  276. #define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800
  277. #define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000
  278. #define LINECALLINFOSTATE_NUMMONITORS 0x00002000
  279. #define LINECALLINFOSTATE_TRUNK 0x00004000
  280. #define LINECALLINFOSTATE_CALLERID 0x00008000
  281. #define LINECALLINFOSTATE_CALLEDID 0x00010000
  282. #define LINECALLINFOSTATE_CONNECTEDID 0x00020000
  283. #define LINECALLINFOSTATE_REDIRECTIONID 0x00040000
  284. #define LINECALLINFOSTATE_REDIRECTINGID 0x00080000
  285. #define LINECALLINFOSTATE_DISPLAY 0x00100000
  286. #define LINECALLINFOSTATE_USERUSERINFO 0x00200000
  287. #define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000
  288. #define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000
  289. #define LINECALLINFOSTATE_CHARGINGINFO 0x01000000
  290. #define LINECALLINFOSTATE_TERMINAL 0x02000000
  291. #define LINECALLINFOSTATE_DIALPARAMS 0x04000000
  292. #define LINECALLINFOSTATE_MONITORMODES 0x08000000
  293. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  294. #define LINECALLINFOSTATE_TREATMENT 0x10000000 // TAPI v2.0
  295. #define LINECALLINFOSTATE_QOS 0x20000000 // TAPI v2.0
  296. #define LINECALLINFOSTATE_CALLDATA 0x40000000 // TAPI v2.0
  297. #endif
  298. #define LINECALLORIGIN_OUTBOUND 0x00000001
  299. #define LINECALLORIGIN_INTERNAL 0x00000002
  300. #define LINECALLORIGIN_EXTERNAL 0x00000004
  301. #define LINECALLORIGIN_UNKNOWN 0x00000010
  302. #define LINECALLORIGIN_UNAVAIL 0x00000020
  303. #define LINECALLORIGIN_CONFERENCE 0x00000040
  304. #define LINECALLORIGIN_INBOUND 0x00000080 // TAPI v1.4
  305. #define LINECALLPARAMFLAGS_SECURE 0x00000001
  306. #define LINECALLPARAMFLAGS_IDLE 0x00000002
  307. #define LINECALLPARAMFLAGS_BLOCKID 0x00000004
  308. #define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008
  309. #define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010
  310. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  311. #define LINECALLPARAMFLAGS_NOHOLDCONFERENCE 0x00000020 // TAPI v2.0
  312. #define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040 // TAPI v2.0
  313. #define LINECALLPARAMFLAGS_ONESTEPTRANSFER 0x00000080 // TAPI v2.0
  314. #endif
  315. #define LINECALLPARTYID_BLOCKED 0x00000001
  316. #define LINECALLPARTYID_OUTOFAREA 0x00000002
  317. #define LINECALLPARTYID_NAME 0x00000004
  318. #define LINECALLPARTYID_ADDRESS 0x00000008
  319. #define LINECALLPARTYID_PARTIAL 0x00000010
  320. #define LINECALLPARTYID_UNKNOWN 0x00000020
  321. #define LINECALLPARTYID_UNAVAIL 0x00000040
  322. #define LINECALLPRIVILEGE_NONE 0x00000001
  323. #define LINECALLPRIVILEGE_MONITOR 0x00000002
  324. #define LINECALLPRIVILEGE_OWNER 0x00000004
  325. #define LINECALLREASON_DIRECT 0x00000001
  326. #define LINECALLREASON_FWDBUSY 0x00000002
  327. #define LINECALLREASON_FWDNOANSWER 0x00000004
  328. #define LINECALLREASON_FWDUNCOND 0x00000008
  329. #define LINECALLREASON_PICKUP 0x00000010
  330. #define LINECALLREASON_UNPARK 0x00000020
  331. #define LINECALLREASON_REDIRECT 0x00000040
  332. #define LINECALLREASON_CALLCOMPLETION 0x00000080
  333. #define LINECALLREASON_TRANSFER 0x00000100
  334. #define LINECALLREASON_REMINDER 0x00000200
  335. #define LINECALLREASON_UNKNOWN 0x00000400
  336. #define LINECALLREASON_UNAVAIL 0x00000800
  337. #define LINECALLREASON_INTRUDE 0x00001000 // TAPI v1.4
  338. #define LINECALLREASON_PARKED 0x00002000 // TAPI v1.4
  339. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  340. #define LINECALLREASON_CAMPEDON 0x00004000 // TAPI v2.0
  341. #define LINECALLREASON_ROUTEREQUEST 0x00008000 // TAPI v2.0
  342. #endif
  343. #define LINECALLSELECT_LINE 0x00000001
  344. #define LINECALLSELECT_ADDRESS 0x00000002
  345. #define LINECALLSELECT_CALL 0x00000004
  346. #define LINECALLSTATE_IDLE 0x00000001
  347. #define LINECALLSTATE_OFFERING 0x00000002
  348. #define LINECALLSTATE_ACCEPTED 0x00000004
  349. #define LINECALLSTATE_DIALTONE 0x00000008
  350. #define LINECALLSTATE_DIALING 0x00000010
  351. #define LINECALLSTATE_RINGBACK 0x00000020
  352. #define LINECALLSTATE_BUSY 0x00000040
  353. #define LINECALLSTATE_SPECIALINFO 0x00000080
  354. #define LINECALLSTATE_CONNECTED 0x00000100
  355. #define LINECALLSTATE_PROCEEDING 0x00000200
  356. #define LINECALLSTATE_ONHOLD 0x00000400
  357. #define LINECALLSTATE_CONFERENCED 0x00000800
  358. #define LINECALLSTATE_ONHOLDPENDCONF 0x00001000
  359. #define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
  360. #define LINECALLSTATE_DISCONNECTED 0x00004000
  361. #define LINECALLSTATE_UNKNOWN 0x00008000
  362. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  363. #define LINECALLTREATMENT_SILENCE 0x00000001 // TAPI v2.0
  364. #define LINECALLTREATMENT_RINGBACK 0x00000002 // TAPI v2.0
  365. #define LINECALLTREATMENT_BUSY 0x00000003 // TAPI v2.0
  366. #define LINECALLTREATMENT_MUSIC 0x00000004 // TAPI v2.0
  367. #endif
  368. #define LINECARDOPTION_PREDEFINED 0x00000001 // TAPI v1.4
  369. #define LINECARDOPTION_HIDDEN 0x00000002 // TAPI v1.4
  370. #define LINECONNECTEDMODE_ACTIVE 0x00000001 // TAPI v1.4
  371. #define LINECONNECTEDMODE_INACTIVE 0x00000002 // TAPI v1.4
  372. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  373. #define LINECONNECTEDMODE_ACTIVEHELD 0x00000004 // TAPI v2.0
  374. #define LINECONNECTEDMODE_INACTIVEHELD 0x00000008 // TAPI v2.0
  375. #define LINECONNECTEDMODE_CONFIRMED 0x00000010 // TAPI v2.0
  376. #endif
  377. #define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001
  378. #define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002
  379. #define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004
  380. #define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008
  381. #define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010
  382. #define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020
  383. #define LINEDEVCAPFLAGS_DIALBILLING 0x00000040
  384. #define LINEDEVCAPFLAGS_DIALQUIET 0x00000080
  385. #define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100
  386. #define LINEDEVSTATE_OTHER 0x00000001
  387. #define LINEDEVSTATE_RINGING 0x00000002
  388. #define LINEDEVSTATE_CONNECTED 0x00000004
  389. #define LINEDEVSTATE_DISCONNECTED 0x00000008
  390. #define LINEDEVSTATE_MSGWAITON 0x00000010
  391. #define LINEDEVSTATE_MSGWAITOFF 0x00000020
  392. #define LINEDEVSTATE_INSERVICE 0x00000040
  393. #define LINEDEVSTATE_OUTOFSERVICE 0x00000080
  394. #define LINEDEVSTATE_MAINTENANCE 0x00000100
  395. #define LINEDEVSTATE_OPEN 0x00000200
  396. #define LINEDEVSTATE_CLOSE 0x00000400
  397. #define LINEDEVSTATE_NUMCALLS 0x00000800
  398. #define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000
  399. #define LINEDEVSTATE_TERMINALS 0x00002000
  400. #define LINEDEVSTATE_ROAMMODE 0x00004000
  401. #define LINEDEVSTATE_BATTERY 0x00008000
  402. #define LINEDEVSTATE_SIGNAL 0x00010000
  403. #define LINEDEVSTATE_DEVSPECIFIC 0x00020000
  404. #define LINEDEVSTATE_REINIT 0x00040000
  405. #define LINEDEVSTATE_LOCK 0x00080000
  406. #define LINEDEVSTATE_CAPSCHANGE 0x00100000 // TAPI v1.4
  407. #define LINEDEVSTATE_CONFIGCHANGE 0x00200000 // TAPI v1.4
  408. #define LINEDEVSTATE_TRANSLATECHANGE 0x00400000 // TAPI v1.4
  409. #define LINEDEVSTATE_COMPLCANCEL 0x00800000 // TAPI v1.4
  410. #define LINEDEVSTATE_REMOVED 0x01000000 // TAPI v1.4
  411. #define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001
  412. #define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002
  413. #define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004
  414. #define LINEDEVSTATUSFLAGS_LOCKED 0x00000008
  415. #define LINEDIALTONEMODE_NORMAL 0x00000001
  416. #define LINEDIALTONEMODE_SPECIAL 0x00000002
  417. #define LINEDIALTONEMODE_INTERNAL 0x00000004
  418. #define LINEDIALTONEMODE_EXTERNAL 0x00000008
  419. #define LINEDIALTONEMODE_UNKNOWN 0x00000010
  420. #define LINEDIALTONEMODE_UNAVAIL 0x00000020
  421. #define LINEDIGITMODE_PULSE 0x00000001
  422. #define LINEDIGITMODE_DTMF 0x00000002
  423. #define LINEDIGITMODE_DTMFEND 0x00000004
  424. #define LINEDISCONNECTMODE_NORMAL 0x00000001
  425. #define LINEDISCONNECTMODE_UNKNOWN 0x00000002
  426. #define LINEDISCONNECTMODE_REJECT 0x00000004
  427. #define LINEDISCONNECTMODE_PICKUP 0x00000008
  428. #define LINEDISCONNECTMODE_FORWARDED 0x00000010
  429. #define LINEDISCONNECTMODE_BUSY 0x00000020
  430. #define LINEDISCONNECTMODE_NOANSWER 0x00000040
  431. #define LINEDISCONNECTMODE_BADADDRESS 0x00000080
  432. #define LINEDISCONNECTMODE_UNREACHABLE 0x00000100
  433. #define LINEDISCONNECTMODE_CONGESTION 0x00000200
  434. #define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
  435. #define LINEDISCONNECTMODE_UNAVAIL 0x00000800
  436. #define LINEDISCONNECTMODE_NODIALTONE 0x00001000 // TAPI v1.4
  437. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  438. #define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000 // TAPI v2.0
  439. #define LINEDISCONNECTMODE_OUTOFORDER 0x00004000 // TAPI v2.0
  440. #define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000 // TAPI v2.0
  441. #define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000 // TAPI v2.0
  442. #define LINEDISCONNECTMODE_BLOCKED 0x00020000 // TAPI v2.0
  443. #define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000 // TAPI v2.0
  444. #endif
  445. #define LINEERR_ALLOCATED 0x80000001
  446. #define LINEERR_BADDEVICEID 0x80000002
  447. #define LINEERR_BEARERMODEUNAVAIL 0x80000003
  448. #define LINEERR_CALLUNAVAIL 0x80000005
  449. #define LINEERR_COMPLETIONOVERRUN 0x80000006
  450. #define LINEERR_CONFERENCEFULL 0x80000007
  451. #define LINEERR_DIALBILLING 0x80000008
  452. #define LINEERR_DIALDIALTONE 0x80000009
  453. #define LINEERR_DIALPROMPT 0x8000000A
  454. #define LINEERR_DIALQUIET 0x8000000B
  455. #define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
  456. #define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D
  457. #define LINEERR_INIFILECORRUPT 0x8000000E
  458. #define LINEERR_INUSE 0x8000000F
  459. #define LINEERR_INVALADDRESS 0x80000010
  460. #define LINEERR_INVALADDRESSID 0x80000011
  461. #define LINEERR_INVALADDRESSMODE 0x80000012
  462. #define LINEERR_INVALADDRESSSTATE 0x80000013
  463. #define LINEERR_INVALAPPHANDLE 0x80000014
  464. #define LINEERR_INVALAPPNAME 0x80000015
  465. #define LINEERR_INVALBEARERMODE 0x80000016
  466. #define LINEERR_INVALCALLCOMPLMODE 0x80000017
  467. #define LINEERR_INVALCALLHANDLE 0x80000018
  468. #define LINEERR_INVALCALLPARAMS 0x80000019
  469. #define LINEERR_INVALCALLPRIVILEGE 0x8000001A
  470. #define LINEERR_INVALCALLSELECT 0x8000001B
  471. #define LINEERR_INVALCALLSTATE 0x8000001C
  472. #define LINEERR_INVALCALLSTATELIST 0x8000001D
  473. #define LINEERR_INVALCARD 0x8000001E
  474. #define LINEERR_INVALCOMPLETIONID 0x8000001F
  475. #define LINEERR_INVALCONFCALLHANDLE 0x80000020
  476. #define LINEERR_INVALCONSULTCALLHANDLE 0x80000021
  477. #define LINEERR_INVALCOUNTRYCODE 0x80000022
  478. #define LINEERR_INVALDEVICECLASS 0x80000023
  479. #define LINEERR_INVALDEVICEHANDLE 0x80000024
  480. #define LINEERR_INVALDIALPARAMS 0x80000025
  481. #define LINEERR_INVALDIGITLIST 0x80000026
  482. #define LINEERR_INVALDIGITMODE 0x80000027
  483. #define LINEERR_INVALDIGITS 0x80000028
  484. #define LINEERR_INVALEXTVERSION 0x80000029
  485. #define LINEERR_INVALGROUPID 0x8000002A
  486. #define LINEERR_INVALLINEHANDLE 0x8000002B
  487. #define LINEERR_INVALLINESTATE 0x8000002C
  488. #define LINEERR_INVALLOCATION 0x8000002D
  489. #define LINEERR_INVALMEDIALIST 0x8000002E
  490. #define LINEERR_INVALMEDIAMODE 0x8000002F
  491. #define LINEERR_INVALMESSAGEID 0x80000030
  492. #define LINEERR_INVALPARAM 0x80000032
  493. #define LINEERR_INVALPARKID 0x80000033
  494. #define LINEERR_INVALPARKMODE 0x80000034
  495. #define LINEERR_INVALPOINTER 0x80000035
  496. #define LINEERR_INVALPRIVSELECT 0x80000036
  497. #define LINEERR_INVALRATE 0x80000037
  498. #define LINEERR_INVALREQUESTMODE 0x80000038
  499. #define LINEERR_INVALTERMINALID 0x80000039
  500. #define LINEERR_INVALTERMINALMODE 0x8000003A
  501. #define LINEERR_INVALTIMEOUT 0x8000003B
  502. #define LINEERR_INVALTONE 0x8000003C
  503. #define LINEERR_INVALTONELIST 0x8000003D
  504. #define LINEERR_INVALTONEMODE 0x8000003E
  505. #define LINEERR_INVALTRANSFERMODE 0x8000003F
  506. #define LINEERR_LINEMAPPERFAILED 0x80000040
  507. #define LINEERR_NOCONFERENCE 0x80000041
  508. #define LINEERR_NODEVICE 0x80000042
  509. #define LINEERR_NODRIVER 0x80000043
  510. #define LINEERR_NOMEM 0x80000044
  511. #define LINEERR_NOREQUEST 0x80000045
  512. #define LINEERR_NOTOWNER 0x80000046
  513. #define LINEERR_NOTREGISTERED 0x80000047
  514. #define LINEERR_OPERATIONFAILED 0x80000048
  515. #define LINEERR_OPERATIONUNAVAIL 0x80000049
  516. #define LINEERR_RATEUNAVAIL 0x8000004A
  517. #define LINEERR_RESOURCEUNAVAIL 0x8000004B
  518. #define LINEERR_REQUESTOVERRUN 0x8000004C
  519. #define LINEERR_STRUCTURETOOSMALL 0x8000004D
  520. #define LINEERR_TARGETNOTFOUND 0x8000004E
  521. #define LINEERR_TARGETSELF 0x8000004F
  522. #define LINEERR_UNINITIALIZED 0x80000050
  523. #define LINEERR_USERUSERINFOTOOBIG 0x80000051
  524. #define LINEERR_REINIT 0x80000052
  525. #define LINEERR_ADDRESSBLOCKED 0x80000053
  526. #define LINEERR_BILLINGREJECTED 0x80000054
  527. #define LINEERR_INVALFEATURE 0x80000055
  528. #define LINEERR_NOMULTIPLEINSTANCE 0x80000056
  529. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  530. #define LINEERR_INVALAGENTID 0x80000057 // TAPI v2.0
  531. #define LINEERR_INVALAGENTGROUP 0x80000058 // TAPI v2.0
  532. #define LINEERR_INVALPASSWORD 0x80000059 // TAPI v2.0
  533. #define LINEERR_INVALAGENTSTATE 0x8000005A // TAPI v2.0
  534. #define LINEERR_INVALAGENTACTIVITY 0x8000005B // TAPI v2.0
  535. #define LINEERR_DIALVOICEDETECT 0x8000005C // TAPI v2.0
  536. #endif
  537. #define LINEFEATURE_DEVSPECIFIC 0x00000001
  538. #define LINEFEATURE_DEVSPECIFICFEAT 0x00000002
  539. #define LINEFEATURE_FORWARD 0x00000004
  540. #define LINEFEATURE_MAKECALL 0x00000008
  541. #define LINEFEATURE_SETMEDIACONTROL 0x00000010
  542. #define LINEFEATURE_SETTERMINAL 0x00000020
  543. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  544. #define LINEFEATURE_SETDEVSTATUS 0x00000040 // TAPI v2.0
  545. #define LINEFEATURE_FORWARDFWD 0x00000080 // TAPI v2.0
  546. #define LINEFEATURE_FORWARDDND 0x00000100 // TAPI v2.0
  547. #endif
  548. #define LINEFORWARDMODE_UNCOND 0x00000001
  549. #define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002
  550. #define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004
  551. #define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008
  552. #define LINEFORWARDMODE_BUSY 0x00000010
  553. #define LINEFORWARDMODE_BUSYINTERNAL 0x00000020
  554. #define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040
  555. #define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080
  556. #define LINEFORWARDMODE_NOANSW 0x00000100
  557. #define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200
  558. #define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400
  559. #define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800
  560. #define LINEFORWARDMODE_BUSYNA 0x00001000
  561. #define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000
  562. #define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000
  563. #define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000
  564. #define LINEFORWARDMODE_UNKNOWN 0x00010000 // TAPI v1.4
  565. #define LINEFORWARDMODE_UNAVAIL 0x00020000 // TAPI v1.4
  566. #define LINEGATHERTERM_BUFFERFULL 0x00000001
  567. #define LINEGATHERTERM_TERMDIGIT 0x00000002
  568. #define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004
  569. #define LINEGATHERTERM_INTERTIMEOUT 0x00000008
  570. #define LINEGATHERTERM_CANCEL 0x00000010
  571. #define LINEGENERATETERM_DONE 0x00000001
  572. #define LINEGENERATETERM_CANCEL 0x00000002
  573. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  574. #define LINEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 // TAPI v2.0
  575. #define LINEINITIALIZEEXOPTION_USEEVENT 0x00000002 // TAPI v2.0
  576. #define LINEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000004 // TAPI v2.0
  577. #endif
  578. #define LINELOCATIONOPTION_PULSEDIAL 0x00000001 // TAPI v1.4
  579. #define LINEMAPPER 0xFFFFFFFF
  580. #define LINEMEDIACONTROL_NONE 0x00000001
  581. #define LINEMEDIACONTROL_START 0x00000002
  582. #define LINEMEDIACONTROL_RESET 0x00000004
  583. #define LINEMEDIACONTROL_PAUSE 0x00000008
  584. #define LINEMEDIACONTROL_RESUME 0x00000010
  585. #define LINEMEDIACONTROL_RATEUP 0x00000020
  586. #define LINEMEDIACONTROL_RATEDOWN 0x00000040
  587. #define LINEMEDIACONTROL_RATENORMAL 0x00000080
  588. #define LINEMEDIACONTROL_VOLUMEUP 0x00000100
  589. #define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200
  590. #define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400
  591. #define LINEMEDIAMODE_UNKNOWN 0x00000002
  592. #define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
  593. #define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
  594. #define LINEMEDIAMODE_DATAMODEM 0x00000010
  595. #define LINEMEDIAMODE_G3FAX 0x00000020
  596. #define LINEMEDIAMODE_TDD 0x00000040
  597. #define LINEMEDIAMODE_G4FAX 0x00000080
  598. #define LINEMEDIAMODE_DIGITALDATA 0x00000100
  599. #define LINEMEDIAMODE_TELETEX 0x00000200
  600. #define LINEMEDIAMODE_VIDEOTEX 0x00000400
  601. #define LINEMEDIAMODE_TELEX 0x00000800
  602. #define LINEMEDIAMODE_MIXED 0x00001000
  603. #define LINEMEDIAMODE_ADSI 0x00002000
  604. #define LINEMEDIAMODE_VOICEVIEW 0x00004000 // TAPI v1.4
  605. #define LAST_LINEMEDIAMODE 0x00004000
  606. #define LINEOFFERINGMODE_ACTIVE 0x00000001 // TAPI v1.4
  607. #define LINEOFFERINGMODE_INACTIVE 0x00000002 // TAPI v1.4
  608. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  609. #define LINEOPENOPTION_SINGLEADDRESS 0x80000000 // TAPI v2.0
  610. #define LINEOPENOPTION_PROXY 0x40000000 // TAPI v2.0
  611. #endif
  612. #define LINEPARKMODE_DIRECTED 0x00000001
  613. #define LINEPARKMODE_NONDIRECTED 0x00000002
  614. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  615. #define LINEPROXYREQUEST_SETAGENTGROUP 0x00000001 // TAPI v2.0
  616. #define LINEPROXYREQUEST_SETAGENTSTATE 0x00000002 // TAPI v2.0
  617. #define LINEPROXYREQUEST_SETAGENTACTIVITY 0x00000003 // TAPI v2.0
  618. #define LINEPROXYREQUEST_GETAGENTCAPS 0x00000004 // TAPI v2.0
  619. #define LINEPROXYREQUEST_GETAGENTSTATUS 0x00000005 // TAPI v2.0
  620. #define LINEPROXYREQUEST_AGENTSPECIFIC 0x00000006 // TAPI v2.0
  621. #define LINEPROXYREQUEST_GETAGENTACTIVITYLIST 0x00000007 // TAPI v2.0
  622. #define LINEPROXYREQUEST_GETAGENTGROUPLIST 0x00000008 // TAPI v2.0
  623. #endif
  624. #define LINEREMOVEFROMCONF_NONE 0x00000001
  625. #define LINEREMOVEFROMCONF_LAST 0x00000002
  626. #define LINEREMOVEFROMCONF_ANY 0x00000003
  627. #define LINEREQUESTMODE_MAKECALL 0x00000001
  628. #define LINEREQUESTMODE_MEDIACALL 0x00000002
  629. #define LINEREQUESTMODE_DROP 0x00000004
  630. #define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
  631. #define LINEROAMMODE_UNKNOWN 0x00000001
  632. #define LINEROAMMODE_UNAVAIL 0x00000002
  633. #define LINEROAMMODE_HOME 0x00000004
  634. #define LINEROAMMODE_ROAMA 0x00000008
  635. #define LINEROAMMODE_ROAMB 0x00000010
  636. #define LINESPECIALINFO_NOCIRCUIT 0x00000001
  637. #define LINESPECIALINFO_CUSTIRREG 0x00000002
  638. #define LINESPECIALINFO_REORDER 0x00000004
  639. #define LINESPECIALINFO_UNKNOWN 0x00000008
  640. #define LINESPECIALINFO_UNAVAIL 0x00000010
  641. #define LINETERMDEV_PHONE 0x00000001
  642. #define LINETERMDEV_HEADSET 0x00000002
  643. #define LINETERMDEV_SPEAKER 0x00000004
  644. #define LINETERMMODE_BUTTONS 0x00000001
  645. #define LINETERMMODE_LAMPS 0x00000002
  646. #define LINETERMMODE_DISPLAY 0x00000004
  647. #define LINETERMMODE_RINGER 0x00000008
  648. #define LINETERMMODE_HOOKSWITCH 0x00000010
  649. #define LINETERMMODE_MEDIATOLINE 0x00000020
  650. #define LINETERMMODE_MEDIAFROMLINE 0x00000040
  651. #define LINETERMMODE_MEDIABIDIRECT 0x00000080
  652. #define LINETERMSHARING_PRIVATE 0x00000001
  653. #define LINETERMSHARING_SHAREDEXCL 0x00000002
  654. #define LINETERMSHARING_SHAREDCONF 0x00000004
  655. #define LINETOLLLISTOPTION_ADD 0x00000001
  656. #define LINETOLLLISTOPTION_REMOVE 0x00000002
  657. #define LINETONEMODE_CUSTOM 0x00000001
  658. #define LINETONEMODE_RINGBACK 0x00000002
  659. #define LINETONEMODE_BUSY 0x00000004
  660. #define LINETONEMODE_BEEP 0x00000008
  661. #define LINETONEMODE_BILLING 0x00000010
  662. #define LINETRANSFERMODE_TRANSFER 0x00000001
  663. #define LINETRANSFERMODE_CONFERENCE 0x00000002
  664. #define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
  665. #define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002 // TAPI v1.4
  666. #define LINETRANSLATEOPTION_FORCELOCAL 0x00000004 // TAPI v1.4
  667. #define LINETRANSLATEOPTION_FORCELD 0x00000008 // TAPI v1.4
  668. #define LINETRANSLATERESULT_CANONICAL 0x00000001
  669. #define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
  670. #define LINETRANSLATERESULT_LONGDISTANCE 0x00000004
  671. #define LINETRANSLATERESULT_LOCAL 0x00000008
  672. #define LINETRANSLATERESULT_INTOLLLIST 0x00000010
  673. #define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
  674. #define LINETRANSLATERESULT_DIALBILLING 0x00000040
  675. #define LINETRANSLATERESULT_DIALQUIET 0x00000080
  676. #define LINETRANSLATERESULT_DIALDIALTONE 0x00000100
  677. #define LINETRANSLATERESULT_DIALPROMPT 0x00000200
  678. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  679. #define LINETRANSLATERESULT_VOICEDETECT 0x00000400 // TAPI v2.0
  680. #endif
  681. #define PHONEBUTTONFUNCTION_UNKNOWN 0x00000000
  682. #define PHONEBUTTONFUNCTION_CONFERENCE 0x00000001
  683. #define PHONEBUTTONFUNCTION_TRANSFER 0x00000002
  684. #define PHONEBUTTONFUNCTION_DROP 0x00000003
  685. #define PHONEBUTTONFUNCTION_HOLD 0x00000004
  686. #define PHONEBUTTONFUNCTION_RECALL 0x00000005
  687. #define PHONEBUTTONFUNCTION_DISCONNECT 0x00000006
  688. #define PHONEBUTTONFUNCTION_CONNECT 0x00000007
  689. #define PHONEBUTTONFUNCTION_MSGWAITON 0x00000008
  690. #define PHONEBUTTONFUNCTION_MSGWAITOFF 0x00000009
  691. #define PHONEBUTTONFUNCTION_SELECTRING 0x0000000A
  692. #define PHONEBUTTONFUNCTION_ABBREVDIAL 0x0000000B
  693. #define PHONEBUTTONFUNCTION_FORWARD 0x0000000C
  694. #define PHONEBUTTONFUNCTION_PICKUP 0x0000000D
  695. #define PHONEBUTTONFUNCTION_RINGAGAIN 0x0000000E
  696. #define PHONEBUTTONFUNCTION_PARK 0x0000000F
  697. #define PHONEBUTTONFUNCTION_REJECT 0x00000010
  698. #define PHONEBUTTONFUNCTION_REDIRECT 0x00000011
  699. #define PHONEBUTTONFUNCTION_MUTE 0x00000012
  700. #define PHONEBUTTONFUNCTION_VOLUMEUP 0x00000013
  701. #define PHONEBUTTONFUNCTION_VOLUMEDOWN 0x00000014
  702. #define PHONEBUTTONFUNCTION_SPEAKERON 0x00000015
  703. #define PHONEBUTTONFUNCTION_SPEAKEROFF 0x00000016
  704. #define PHONEBUTTONFUNCTION_FLASH 0x00000017
  705. #define PHONEBUTTONFUNCTION_DATAON 0x00000018
  706. #define PHONEBUTTONFUNCTION_DATAOFF 0x00000019
  707. #define PHONEBUTTONFUNCTION_DONOTDISTURB 0x0000001A
  708. #define PHONEBUTTONFUNCTION_INTERCOM 0x0000001B
  709. #define PHONEBUTTONFUNCTION_BRIDGEDAPP 0x0000001C
  710. #define PHONEBUTTONFUNCTION_BUSY 0x0000001D
  711. #define PHONEBUTTONFUNCTION_CALLAPP 0x0000001E
  712. #define PHONEBUTTONFUNCTION_DATETIME 0x0000001F
  713. #define PHONEBUTTONFUNCTION_DIRECTORY 0x00000020
  714. #define PHONEBUTTONFUNCTION_COVER 0x00000021
  715. #define PHONEBUTTONFUNCTION_CALLID 0x00000022
  716. #define PHONEBUTTONFUNCTION_LASTNUM 0x00000023
  717. #define PHONEBUTTONFUNCTION_NIGHTSRV 0x00000024
  718. #define PHONEBUTTONFUNCTION_SENDCALLS 0x00000025
  719. #define PHONEBUTTONFUNCTION_MSGINDICATOR 0x00000026
  720. #define PHONEBUTTONFUNCTION_REPDIAL 0x00000027
  721. #define PHONEBUTTONFUNCTION_SETREPDIAL 0x00000028
  722. #define PHONEBUTTONFUNCTION_SYSTEMSPEED 0x00000029
  723. #define PHONEBUTTONFUNCTION_STATIONSPEED 0x0000002A
  724. #define PHONEBUTTONFUNCTION_CAMPON 0x0000002B
  725. #define PHONEBUTTONFUNCTION_SAVEREPEAT 0x0000002C
  726. #define PHONEBUTTONFUNCTION_QUEUECALL 0x0000002D
  727. #define PHONEBUTTONFUNCTION_NONE 0x0000002E
  728. #define PHONEBUTTONMODE_DUMMY 0x00000001
  729. #define PHONEBUTTONMODE_CALL 0x00000002
  730. #define PHONEBUTTONMODE_FEATURE 0x00000004
  731. #define PHONEBUTTONMODE_KEYPAD 0x00000008
  732. #define PHONEBUTTONMODE_LOCAL 0x00000010
  733. #define PHONEBUTTONMODE_DISPLAY 0x00000020
  734. #define PHONEBUTTONSTATE_UP 0x00000001
  735. #define PHONEBUTTONSTATE_DOWN 0x00000002
  736. #define PHONEBUTTONSTATE_UNKNOWN 0x00000004 // TAPI v1.4
  737. #define PHONEBUTTONSTATE_UNAVAIL 0x00000008 // TAPI v1.4
  738. #define PHONEERR_ALLOCATED 0x90000001
  739. #define PHONEERR_BADDEVICEID 0x90000002
  740. #define PHONEERR_INCOMPATIBLEAPIVERSION 0x90000003
  741. #define PHONEERR_INCOMPATIBLEEXTVERSION 0x90000004
  742. #define PHONEERR_INIFILECORRUPT 0x90000005
  743. #define PHONEERR_INUSE 0x90000006
  744. #define PHONEERR_INVALAPPHANDLE 0x90000007
  745. #define PHONEERR_INVALAPPNAME 0x90000008
  746. #define PHONEERR_INVALBUTTONLAMPID 0x90000009
  747. #define PHONEERR_INVALBUTTONMODE 0x9000000A
  748. #define PHONEERR_INVALBUTTONSTATE 0x9000000B
  749. #define PHONEERR_INVALDATAID 0x9000000C
  750. #define PHONEERR_INVALDEVICECLASS 0x9000000D
  751. #define PHONEERR_INVALEXTVERSION 0x9000000E
  752. #define PHONEERR_INVALHOOKSWITCHDEV 0x9000000F
  753. #define PHONEERR_INVALHOOKSWITCHMODE 0x90000010
  754. #define PHONEERR_INVALLAMPMODE 0x90000011
  755. #define PHONEERR_INVALPARAM 0x90000012
  756. #define PHONEERR_INVALPHONEHANDLE 0x90000013
  757. #define PHONEERR_INVALPHONESTATE 0x90000014
  758. #define PHONEERR_INVALPOINTER 0x90000015
  759. #define PHONEERR_INVALPRIVILEGE 0x90000016
  760. #define PHONEERR_INVALRINGMODE 0x90000017
  761. #define PHONEERR_NODEVICE 0x90000018
  762. #define PHONEERR_NODRIVER 0x90000019
  763. #define PHONEERR_NOMEM 0x9000001A
  764. #define PHONEERR_NOTOWNER 0x9000001B
  765. #define PHONEERR_OPERATIONFAILED 0x9000001C
  766. #define PHONEERR_OPERATIONUNAVAIL 0x9000001D
  767. #define PHONEERR_RESOURCEUNAVAIL 0x9000001F
  768. #define PHONEERR_REQUESTOVERRUN 0x90000020
  769. #define PHONEERR_STRUCTURETOOSMALL 0x90000021
  770. #define PHONEERR_UNINITIALIZED 0x90000022
  771. #define PHONEERR_REINIT 0x90000023
  772. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  773. #define PHONEFEATURE_GETBUTTONINFO 0x00000001 // TAPI v2.0
  774. #define PHONEFEATURE_GETDATA 0x00000002 // TAPI v2.0
  775. #define PHONEFEATURE_GETDISPLAY 0x00000004 // TAPI v2.0
  776. #define PHONEFEATURE_GETGAINHANDSET 0x00000008 // TAPI v2.0
  777. #define PHONEFEATURE_GETGAINSPEAKER 0x00000010 // TAPI v2.0
  778. #define PHONEFEATURE_GETGAINHEADSET 0x00000020 // TAPI v2.0
  779. #define PHONEFEATURE_GETHOOKSWITCHHANDSET 0x00000040 // TAPI v2.0
  780. #define PHONEFEATURE_GETHOOKSWITCHSPEAKER 0x00000080 // TAPI v2.0
  781. #define PHONEFEATURE_GETHOOKSWITCHHEADSET 0x00000100 // TAPI v2.0
  782. #define PHONEFEATURE_GETLAMP 0x00000200 // TAPI v2.0
  783. #define PHONEFEATURE_GETRING 0x00000400 // TAPI v2.0
  784. #define PHONEFEATURE_GETVOLUMEHANDSET 0x00000800 // TAPI v2.0
  785. #define PHONEFEATURE_GETVOLUMESPEAKER 0x00001000 // TAPI v2.0
  786. #define PHONEFEATURE_GETVOLUMEHEADSET 0x00002000 // TAPI v2.0
  787. #define PHONEFEATURE_SETBUTTONINFO 0x00004000 // TAPI v2.0
  788. #define PHONEFEATURE_SETDATA 0x00008000 // TAPI v2.0
  789. #define PHONEFEATURE_SETDISPLAY 0x00010000 // TAPI v2.0
  790. #define PHONEFEATURE_SETGAINHANDSET 0x00020000 // TAPI v2.0
  791. #define PHONEFEATURE_SETGAINSPEAKER 0x00040000 // TAPI v2.0
  792. #define PHONEFEATURE_SETGAINHEADSET 0x00080000 // TAPI v2.0
  793. #define PHONEFEATURE_SETHOOKSWITCHHANDSET 0x00100000 // TAPI v2.0
  794. #define PHONEFEATURE_SETHOOKSWITCHSPEAKER 0x00200000 // TAPI v2.0
  795. #define PHONEFEATURE_SETHOOKSWITCHHEADSET 0x00400000 // TAPI v2.0
  796. #define PHONEFEATURE_SETLAMP 0x00800000 // TAPI v2.0
  797. #define PHONEFEATURE_SETRING 0x01000000 // TAPI v2.0
  798. #define PHONEFEATURE_SETVOLUMEHANDSET 0x02000000 // TAPI v2.0
  799. #define PHONEFEATURE_SETVOLUMESPEAKER 0x04000000 // TAPI v2.0
  800. #define PHONEFEATURE_SETVOLUMEHEADSET 0x08000000 // TAPI v2.0
  801. #endif
  802. #define PHONEHOOKSWITCHDEV_HANDSET 0x00000001
  803. #define PHONEHOOKSWITCHDEV_SPEAKER 0x00000002
  804. #define PHONEHOOKSWITCHDEV_HEADSET 0x00000004
  805. #define PHONEHOOKSWITCHMODE_ONHOOK 0x00000001
  806. #define PHONEHOOKSWITCHMODE_MIC 0x00000002
  807. #define PHONEHOOKSWITCHMODE_SPEAKER 0x00000004
  808. #define PHONEHOOKSWITCHMODE_MICSPEAKER 0x00000008
  809. #define PHONEHOOKSWITCHMODE_UNKNOWN 0x00000010
  810. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  811. #define PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 // TAPI v2.0
  812. #define PHONEINITIALIZEEXOPTION_USEEVENT 0x00000002 // TAPI v2.0
  813. #define PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000004 // TAPI v2.0
  814. #endif
  815. #define PHONELAMPMODE_DUMMY 0x00000001
  816. #define PHONELAMPMODE_OFF 0x00000002
  817. #define PHONELAMPMODE_STEADY 0x00000004
  818. #define PHONELAMPMODE_WINK 0x00000008
  819. #define PHONELAMPMODE_FLASH 0x00000010
  820. #define PHONELAMPMODE_FLUTTER 0x00000020
  821. #define PHONELAMPMODE_BROKENFLUTTER 0x00000040
  822. #define PHONELAMPMODE_UNKNOWN 0x00000080
  823. #define PHONEPRIVILEGE_MONITOR 0x00000001
  824. #define PHONEPRIVILEGE_OWNER 0x00000002
  825. #define PHONESTATE_OTHER 0x00000001
  826. #define PHONESTATE_CONNECTED 0x00000002
  827. #define PHONESTATE_DISCONNECTED 0x00000004
  828. #define PHONESTATE_OWNER 0x00000008
  829. #define PHONESTATE_MONITORS 0x00000010
  830. #define PHONESTATE_DISPLAY 0x00000020
  831. #define PHONESTATE_LAMP 0x00000040
  832. #define PHONESTATE_RINGMODE 0x00000080
  833. #define PHONESTATE_RINGVOLUME 0x00000100
  834. #define PHONESTATE_HANDSETHOOKSWITCH 0x00000200
  835. #define PHONESTATE_HANDSETVOLUME 0x00000400
  836. #define PHONESTATE_HANDSETGAIN 0x00000800
  837. #define PHONESTATE_SPEAKERHOOKSWITCH 0x00001000
  838. #define PHONESTATE_SPEAKERVOLUME 0x00002000
  839. #define PHONESTATE_SPEAKERGAIN 0x00004000
  840. #define PHONESTATE_HEADSETHOOKSWITCH 0x00008000
  841. #define PHONESTATE_HEADSETVOLUME 0x00010000
  842. #define PHONESTATE_HEADSETGAIN 0x00020000
  843. #define PHONESTATE_SUSPEND 0x00040000
  844. #define PHONESTATE_RESUME 0x00080000
  845. #define PHONESTATE_DEVSPECIFIC 0x00100000
  846. #define PHONESTATE_REINIT 0x00200000
  847. #define PHONESTATE_CAPSCHANGE 0x00400000 // TAPI v1.4
  848. #define PHONESTATE_REMOVED 0x00800000 // TAPI v1.4
  849. #define PHONESTATUSFLAGS_CONNECTED 0x00000001
  850. #define PHONESTATUSFLAGS_SUSPENDED 0x00000002
  851. #define STRINGFORMAT_ASCII 0x00000001
  852. #define STRINGFORMAT_DBCS 0x00000002
  853. #define STRINGFORMAT_UNICODE 0x00000003
  854. #define STRINGFORMAT_BINARY 0x00000004
  855. #define TAPI_REPLY WM_USER + 99
  856. #define TAPIERR_CONNECTED 0L
  857. #define TAPIERR_DROPPED -1L
  858. #define TAPIERR_NOREQUESTRECIPIENT -2L
  859. #define TAPIERR_REQUESTQUEUEFULL -3L
  860. #define TAPIERR_INVALDESTADDRESS -4L
  861. #define TAPIERR_INVALWINDOWHANDLE -5L
  862. #define TAPIERR_INVALDEVICECLASS -6L
  863. #define TAPIERR_INVALDEVICEID -7L
  864. #define TAPIERR_DEVICECLASSUNAVAIL -8L
  865. #define TAPIERR_DEVICEIDUNAVAIL -9L
  866. #define TAPIERR_DEVICEINUSE -10L
  867. #define TAPIERR_DESTBUSY -11L
  868. #define TAPIERR_DESTNOANSWER -12L
  869. #define TAPIERR_DESTUNAVAIL -13L
  870. #define TAPIERR_UNKNOWNWINHANDLE -14L
  871. #define TAPIERR_UNKNOWNREQUESTID -15L
  872. #define TAPIERR_REQUESTFAILED -16L
  873. #define TAPIERR_REQUESTCANCELLED -17L
  874. #define TAPIERR_INVALPOINTER -18L
  875. #define TAPIMAXDESTADDRESSSIZE 80L
  876. #define TAPIMAXAPPNAMESIZE 40L
  877. #define TAPIMAXCALLEDPARTYSIZE 40L
  878. #define TAPIMAXCOMMENTSIZE 80L
  879. #define TAPIMAXDEVICECLASSSIZE 40L
  880. #define TAPIMAXDEVICEIDSIZE 40L
  881. typedef struct lineaddresscaps_tag
  882. {
  883. DWORD dwTotalSize;
  884. DWORD dwNeededSize;
  885. DWORD dwUsedSize;
  886. DWORD dwLineDeviceID;
  887. DWORD dwAddressSize;
  888. DWORD dwAddressOffset;
  889. DWORD dwDevSpecificSize;
  890. DWORD dwDevSpecificOffset;
  891. DWORD dwAddressSharing;
  892. DWORD dwAddressStates;
  893. DWORD dwCallInfoStates;
  894. DWORD dwCallerIDFlags;
  895. DWORD dwCalledIDFlags;
  896. DWORD dwConnectedIDFlags;
  897. DWORD dwRedirectionIDFlags;
  898. DWORD dwRedirectingIDFlags;
  899. DWORD dwCallStates;
  900. DWORD dwDialToneModes;
  901. DWORD dwBusyModes;
  902. DWORD dwSpecialInfo;
  903. DWORD dwDisconnectModes;
  904. DWORD dwMaxNumActiveCalls;
  905. DWORD dwMaxNumOnHoldCalls;
  906. DWORD dwMaxNumOnHoldPendingCalls;
  907. DWORD dwMaxNumConference;
  908. DWORD dwMaxNumTransConf;
  909. DWORD dwAddrCapFlags;
  910. DWORD dwCallFeatures;
  911. DWORD dwRemoveFromConfCaps;
  912. DWORD dwRemoveFromConfState;
  913. DWORD dwTransferModes;
  914. DWORD dwParkModes;
  915. DWORD dwForwardModes;
  916. DWORD dwMaxForwardEntries;
  917. DWORD dwMaxSpecificEntries;
  918. DWORD dwMinFwdNumRings;
  919. DWORD dwMaxFwdNumRings;
  920. DWORD dwMaxCallCompletions;
  921. DWORD dwCallCompletionConds;
  922. DWORD dwCallCompletionModes;
  923. DWORD dwNumCompletionMessages;
  924. DWORD dwCompletionMsgTextEntrySize;
  925. DWORD dwCompletionMsgTextSize;
  926. DWORD dwCompletionMsgTextOffset;
  927. DWORD dwAddressFeatures; // TAPI v1.4
  928. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  929. DWORD dwPredictiveAutoTransferStates; // TAPI v2.0
  930. DWORD dwNumCallTreatments; // TAPI v2.0
  931. DWORD dwCallTreatmentListSize; // TAPI v2.0
  932. DWORD dwCallTreatmentListOffset; // TAPI v2.0
  933. DWORD dwDeviceClassesSize; // TAPI v2.0
  934. DWORD dwDeviceClassesOffset; // TAPI v2.0
  935. DWORD dwMaxCallDataSize; // TAPI v2.0
  936. DWORD dwCallFeatures2; // TAPI v2.0
  937. DWORD dwMaxNoAnswerTimeout; // TAPI v2.0
  938. DWORD dwConnectedModes; // TAPI v2.0
  939. DWORD dwOfferingModes; // TAPI v2.0
  940. DWORD dwAvailableMediaModes; // TAPI v2.0
  941. #endif
  942. } LINEADDRESSCAPS, FAR *LPLINEADDRESSCAPS;
  943. typedef struct lineaddressstatus_tag
  944. {
  945. DWORD dwTotalSize;
  946. DWORD dwNeededSize;
  947. DWORD dwUsedSize;
  948. DWORD dwNumInUse;
  949. DWORD dwNumActiveCalls;
  950. DWORD dwNumOnHoldCalls;
  951. DWORD dwNumOnHoldPendCalls;
  952. DWORD dwAddressFeatures;
  953. DWORD dwNumRingsNoAnswer;
  954. DWORD dwForwardNumEntries;
  955. DWORD dwForwardSize;
  956. DWORD dwForwardOffset;
  957. DWORD dwTerminalModesSize;
  958. DWORD dwTerminalModesOffset;
  959. DWORD dwDevSpecificSize;
  960. DWORD dwDevSpecificOffset;
  961. } LINEADDRESSSTATUS, FAR *LPLINEADDRESSSTATUS;
  962. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  963. typedef struct lineagentactivityentry_tag
  964. {
  965. DWORD dwID; // TAPI v2.0
  966. DWORD dwNameSize; // TAPI v2.0
  967. DWORD dwNameOffset; // TAPI v2.0
  968. } LINEAGENTACTIVITYENTRY, *LPLINEAGENTACTIVITYENTRY;
  969. typedef struct lineagentactivitylist_tag
  970. {
  971. DWORD dwTotalSize; // TAPI v2.0
  972. DWORD dwNeededSize; // TAPI v2.0
  973. DWORD dwUsedSize; // TAPI v2.0
  974. DWORD dwNumEntries; // TAPI v2.0
  975. DWORD dwListSize; // TAPI v2.0
  976. DWORD dwListOffset; // TAPI v2.0
  977. } LINEAGENTACTIVITYLIST, *LPLINEAGENTACTIVITYLIST;
  978. typedef struct lineagentcaps_tag
  979. {
  980. DWORD dwTotalSize; // TAPI v2.0
  981. DWORD dwNeededSize; // TAPI v2.0
  982. DWORD dwUsedSize; // TAPI v2.0
  983. DWORD dwAgentHandlerInfoSize; // TAPI v2.0
  984. DWORD dwAgentHandlerInfoOffset; // TAPI v2.0
  985. DWORD dwCapsVersion; // TAPI v2.0
  986. DWORD dwFeatures; // TAPI v2.0
  987. DWORD dwStates; // TAPI v2.0
  988. DWORD dwNextStates; // TAPI v2.0
  989. DWORD dwMaxNumGroupEntries; // TAPI v2.0
  990. DWORD dwAgentStatusMessages; // TAPI v2.0
  991. DWORD dwNumAgentExtensionIDs; // TAPI v2.0
  992. DWORD dwAgentExtensionIDListSize; // TAPI v2.0
  993. DWORD dwAgentExtensionIDListOffset; // TAPI v2.0
  994. } LINEAGENTCAPS, *LPLINEAGENTCAPS;
  995. typedef struct lineagentgroupentry_tag
  996. {
  997. struct
  998. {
  999. DWORD dwGroupID1; // TAPI v2.0
  1000. DWORD dwGroupID2; // TAPI v2.0
  1001. DWORD dwGroupID3; // TAPI v2.0
  1002. DWORD dwGroupID4; // TAPI v2.0
  1003. } GroupID;
  1004. DWORD dwNameSize; // TAPI v2.0
  1005. DWORD dwNameOffset; // TAPI v2.0
  1006. } LINEAGENTGROUPENTRY, *LPLINEAGENTGROUPENTRY;
  1007. typedef struct lineagentgrouplist_tag
  1008. {
  1009. DWORD dwTotalSize; // TAPI v2.0
  1010. DWORD dwNeededSize; // TAPI v2.0
  1011. DWORD dwUsedSize; // TAPI v2.0
  1012. DWORD dwNumEntries; // TAPI v2.0
  1013. DWORD dwListSize; // TAPI v2.0
  1014. DWORD dwListOffset; // TAPI v2.0
  1015. } LINEAGENTGROUPLIST, *LPLINEAGENTGROUPLIST;
  1016. typedef struct lineagentstatus_tag
  1017. {
  1018. DWORD dwTotalSize; // TAPI v2.0
  1019. DWORD dwNeededSize; // TAPI v2.0
  1020. DWORD dwUsedSize; // TAPI v2.0
  1021. DWORD dwNumEntries; // TAPI v2.0
  1022. DWORD dwGroupListSize; // TAPI v2.0
  1023. DWORD dwGroupListOffset; // TAPI v2.0
  1024. DWORD dwState; // TAPI v2.0
  1025. DWORD dwNextState; // TAPI v2.0
  1026. DWORD dwActivityID; // TAPI v2.0
  1027. DWORD dwActivitySize; // TAPI v2.0
  1028. DWORD dwActivityOffset; // TAPI v2.0
  1029. DWORD dwAgentFeatures; // TAPI v2.0
  1030. DWORD dwValidStates; // TAPI v2.0
  1031. DWORD dwValidNextStates; // TAPI v2.0
  1032. } LINEAGENTSTATUS, *LPLINEAGENTSTATUS;
  1033. typedef struct lineappinfo_tag
  1034. {
  1035. DWORD dwMachineNameSize; // TAPI v2.0
  1036. DWORD dwMachineNameOffset; // TAPI v2.0
  1037. DWORD dwUserNameSize; // TAPI v2.0
  1038. DWORD dwUserNameOffset; // TAPI v2.0
  1039. DWORD dwModuleFilenameSize; // TAPI v2.0
  1040. DWORD dwModuleFilenameOffset; // TAPI v2.0
  1041. DWORD dwFriendlyNameSize; // TAPI v2.0
  1042. DWORD dwFriendlyNameOffset; // TAPI v2.0
  1043. DWORD dwMediaModes; // TAPI v2.0
  1044. DWORD dwAddressID; // TAPI v2.0
  1045. } LINEAPPINFO, *LPLINEAPPINFO;
  1046. #endif
  1047. typedef struct linedialparams_tag
  1048. {
  1049. DWORD dwDialPause;
  1050. DWORD dwDialSpeed;
  1051. DWORD dwDigitDuration;
  1052. DWORD dwWaitForDialtone;
  1053. } LINEDIALPARAMS, FAR *LPLINEDIALPARAMS;
  1054. typedef struct linecallinfo_tag
  1055. {
  1056. DWORD dwTotalSize;
  1057. DWORD dwNeededSize;
  1058. DWORD dwUsedSize;
  1059. HLINE hLine;
  1060. DWORD dwLineDeviceID;
  1061. DWORD dwAddressID;
  1062. DWORD dwBearerMode;
  1063. DWORD dwRate;
  1064. DWORD dwMediaMode;
  1065. DWORD dwAppSpecific;
  1066. DWORD dwCallID;
  1067. DWORD dwRelatedCallID;
  1068. DWORD dwCallParamFlags;
  1069. DWORD dwCallStates;
  1070. DWORD dwMonitorDigitModes;
  1071. DWORD dwMonitorMediaModes;
  1072. LINEDIALPARAMS DialParams;
  1073. DWORD dwOrigin;
  1074. DWORD dwReason;
  1075. DWORD dwCompletionID;
  1076. DWORD dwNumOwners;
  1077. DWORD dwNumMonitors;
  1078. DWORD dwCountryCode;
  1079. DWORD dwTrunk;
  1080. DWORD dwCallerIDFlags;
  1081. DWORD dwCallerIDSize;
  1082. DWORD dwCallerIDOffset;
  1083. DWORD dwCallerIDNameSize;
  1084. DWORD dwCallerIDNameOffset;
  1085. DWORD dwCalledIDFlags;
  1086. DWORD dwCalledIDSize;
  1087. DWORD dwCalledIDOffset;
  1088. DWORD dwCalledIDNameSize;
  1089. DWORD dwCalledIDNameOffset;
  1090. DWORD dwConnectedIDFlags;
  1091. DWORD dwConnectedIDSize;
  1092. DWORD dwConnectedIDOffset;
  1093. DWORD dwConnectedIDNameSize;
  1094. DWORD dwConnectedIDNameOffset;
  1095. DWORD dwRedirectionIDFlags;
  1096. DWORD dwRedirectionIDSize;
  1097. DWORD dwRedirectionIDOffset;
  1098. DWORD dwRedirectionIDNameSize;
  1099. DWORD dwRedirectionIDNameOffset;
  1100. DWORD dwRedirectingIDFlags;
  1101. DWORD dwRedirectingIDSize;
  1102. DWORD dwRedirectingIDOffset;
  1103. DWORD dwRedirectingIDNameSize;
  1104. DWORD dwRedirectingIDNameOffset;
  1105. DWORD dwAppNameSize;
  1106. DWORD dwAppNameOffset;
  1107. DWORD dwDisplayableAddressSize;
  1108. DWORD dwDisplayableAddressOffset;
  1109. DWORD dwCalledPartySize;
  1110. DWORD dwCalledPartyOffset;
  1111. DWORD dwCommentSize;
  1112. DWORD dwCommentOffset;
  1113. DWORD dwDisplaySize;
  1114. DWORD dwDisplayOffset;
  1115. DWORD dwUserUserInfoSize;
  1116. DWORD dwUserUserInfoOffset;
  1117. DWORD dwHighLevelCompSize;
  1118. DWORD dwHighLevelCompOffset;
  1119. DWORD dwLowLevelCompSize;
  1120. DWORD dwLowLevelCompOffset;
  1121. DWORD dwChargingInfoSize;
  1122. DWORD dwChargingInfoOffset;
  1123. DWORD dwTerminalModesSize;
  1124. DWORD dwTerminalModesOffset;
  1125. DWORD dwDevSpecificSize;
  1126. DWORD dwDevSpecificOffset;
  1127. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1128. DWORD dwCallTreatment; // TAPI v2.0
  1129. DWORD dwCallDataSize; // TAPI v2.0
  1130. DWORD dwCallDataOffset; // TAPI v2.0
  1131. DWORD dwSendingFlowspecSize; // TAPI v2.0
  1132. DWORD dwSendingFlowspecOffset; // TAPI v2.0
  1133. DWORD dwReceivingFlowspecSize; // TAPI v2.0
  1134. DWORD dwReceivingFlowspecOffset; // TAPI v2.0
  1135. #endif
  1136. } LINECALLINFO, FAR *LPLINECALLINFO;
  1137. typedef struct linecalllist_tag
  1138. {
  1139. DWORD dwTotalSize;
  1140. DWORD dwNeededSize;
  1141. DWORD dwUsedSize;
  1142. DWORD dwCallsNumEntries;
  1143. DWORD dwCallsSize;
  1144. DWORD dwCallsOffset;
  1145. } LINECALLLIST, FAR *LPLINECALLLIST;
  1146. typedef struct linecallparams_tag // Defaults:
  1147. {
  1148. DWORD dwTotalSize; // ---------
  1149. DWORD dwBearerMode; // voice
  1150. DWORD dwMinRate; // (3.1kHz)
  1151. DWORD dwMaxRate; // (3.1kHz)
  1152. DWORD dwMediaMode; // interactiveVoice
  1153. DWORD dwCallParamFlags; // 0
  1154. DWORD dwAddressMode; // addressID
  1155. DWORD dwAddressID; // (any available)
  1156. LINEDIALPARAMS DialParams; // (0, 0, 0, 0)
  1157. DWORD dwOrigAddressSize; // 0
  1158. DWORD dwOrigAddressOffset;
  1159. DWORD dwDisplayableAddressSize;
  1160. DWORD dwDisplayableAddressOffset;
  1161. DWORD dwCalledPartySize; // 0
  1162. DWORD dwCalledPartyOffset;
  1163. DWORD dwCommentSize; // 0
  1164. DWORD dwCommentOffset;
  1165. DWORD dwUserUserInfoSize; // 0
  1166. DWORD dwUserUserInfoOffset;
  1167. DWORD dwHighLevelCompSize; // 0
  1168. DWORD dwHighLevelCompOffset;
  1169. DWORD dwLowLevelCompSize; // 0
  1170. DWORD dwLowLevelCompOffset;
  1171. DWORD dwDevSpecificSize; // 0
  1172. DWORD dwDevSpecificOffset;
  1173. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1174. DWORD dwPredictiveAutoTransferStates; // TAPI v2.0
  1175. DWORD dwTargetAddressSize; // TAPI v2.0
  1176. DWORD dwTargetAddressOffset; // TAPI v2.0
  1177. DWORD dwSendingFlowspecSize; // TAPI v2.0
  1178. DWORD dwSendingFlowspecOffset; // TAPI v2.0
  1179. DWORD dwReceivingFlowspecSize; // TAPI v2.0
  1180. DWORD dwReceivingFlowspecOffset; // TAPI v2.0
  1181. DWORD dwDeviceClassSize; // TAPI v2.0
  1182. DWORD dwDeviceClassOffset; // TAPI v2.0
  1183. DWORD dwDeviceConfigSize; // TAPI v2.0
  1184. DWORD dwDeviceConfigOffset; // TAPI v2.0
  1185. DWORD dwCallDataSize; // TAPI v2.0
  1186. DWORD dwCallDataOffset; // TAPI v2.0
  1187. DWORD dwNoAnswerTimeout; // TAPI v2.0
  1188. DWORD dwCallingPartyIDSize; // TAPI v2.0
  1189. DWORD dwCallingPartyIDOffset; // TAPI v2.0
  1190. #endif
  1191. } LINECALLPARAMS, FAR *LPLINECALLPARAMS;
  1192. typedef struct linecallstatus_tag
  1193. {
  1194. DWORD dwTotalSize;
  1195. DWORD dwNeededSize;
  1196. DWORD dwUsedSize;
  1197. DWORD dwCallState;
  1198. DWORD dwCallStateMode;
  1199. DWORD dwCallPrivilege;
  1200. DWORD dwCallFeatures;
  1201. DWORD dwDevSpecificSize;
  1202. DWORD dwDevSpecificOffset;
  1203. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1204. DWORD dwCallFeatures2; // TAPI v2.0
  1205. #if WIN32
  1206. SYSTEMTIME tStateEntryTime; // TAPI v2.0
  1207. #else
  1208. WORD tStateEntryTime[8]; // TAPI v2.0
  1209. #endif
  1210. #endif
  1211. } LINECALLSTATUS, FAR *LPLINECALLSTATUS;
  1212. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1213. typedef struct linecalltreatmententry_tag
  1214. {
  1215. DWORD dwCallTreatmentID; // TAPI v2.0
  1216. DWORD dwCallTreatmentNameSize; // TAPI v2.0
  1217. DWORD dwCallTreatmentNameOffset; // TAPI v2.0
  1218. } LINECALLTREATMENTENTRY, FAR *LPLINECALLTREATMENTENTRY;
  1219. #endif
  1220. typedef struct linecardentry_tag
  1221. {
  1222. DWORD dwPermanentCardID;
  1223. DWORD dwCardNameSize;
  1224. DWORD dwCardNameOffset;
  1225. DWORD dwCardNumberDigits; // TAPI v1.4
  1226. DWORD dwSameAreaRuleSize; // TAPI v1.4
  1227. DWORD dwSameAreaRuleOffset; // TAPI v1.4
  1228. DWORD dwLongDistanceRuleSize; // TAPI v1.4
  1229. DWORD dwLongDistanceRuleOffset; // TAPI v1.4
  1230. DWORD dwInternationalRuleSize; // TAPI v1.4
  1231. DWORD dwInternationalRuleOffset; // TAPI v1.4
  1232. DWORD dwOptions; // TAPI v1.4
  1233. } LINECARDENTRY, FAR *LPLINECARDENTRY;
  1234. typedef struct linecountryentry_tag
  1235. {
  1236. DWORD dwCountryID; // TAPI v1.4
  1237. DWORD dwCountryCode; // TAPI v1.4
  1238. DWORD dwNextCountryID; // TAPI v1.4
  1239. DWORD dwCountryNameSize; // TAPI v1.4
  1240. DWORD dwCountryNameOffset; // TAPI v1.4
  1241. DWORD dwSameAreaRuleSize; // TAPI v1.4
  1242. DWORD dwSameAreaRuleOffset; // TAPI v1.4
  1243. DWORD dwLongDistanceRuleSize; // TAPI v1.4
  1244. DWORD dwLongDistanceRuleOffset; // TAPI v1.4
  1245. DWORD dwInternationalRuleSize; // TAPI v1.4
  1246. DWORD dwInternationalRuleOffset; // TAPI v1.4
  1247. } LINECOUNTRYENTRY, FAR *LPLINECOUNTRYENTRY;
  1248. typedef struct linecountrylist_tag
  1249. {
  1250. DWORD dwTotalSize; // TAPI v1.4
  1251. DWORD dwNeededSize; // TAPI v1.4
  1252. DWORD dwUsedSize; // TAPI v1.4
  1253. DWORD dwNumCountries; // TAPI v1.4
  1254. DWORD dwCountryListSize; // TAPI v1.4
  1255. DWORD dwCountryListOffset; // TAPI v1.4
  1256. } LINECOUNTRYLIST, FAR *LPLINECOUNTRYLIST;
  1257. typedef struct linedevcaps_tag
  1258. {
  1259. DWORD dwTotalSize;
  1260. DWORD dwNeededSize;
  1261. DWORD dwUsedSize;
  1262. DWORD dwProviderInfoSize;
  1263. DWORD dwProviderInfoOffset;
  1264. DWORD dwSwitchInfoSize;
  1265. DWORD dwSwitchInfoOffset;
  1266. DWORD dwPermanentLineID;
  1267. DWORD dwLineNameSize;
  1268. DWORD dwLineNameOffset;
  1269. DWORD dwStringFormat;
  1270. DWORD dwAddressModes;
  1271. DWORD dwNumAddresses;
  1272. DWORD dwBearerModes;
  1273. DWORD dwMaxRate;
  1274. DWORD dwMediaModes;
  1275. DWORD dwGenerateToneModes;
  1276. DWORD dwGenerateToneMaxNumFreq;
  1277. DWORD dwGenerateDigitModes;
  1278. DWORD dwMonitorToneMaxNumFreq;
  1279. DWORD dwMonitorToneMaxNumEntries;
  1280. DWORD dwMonitorDigitModes;
  1281. DWORD dwGatherDigitsMinTimeout;
  1282. DWORD dwGatherDigitsMaxTimeout;
  1283. DWORD dwMedCtlDigitMaxListSize;
  1284. DWORD dwMedCtlMediaMaxListSize;
  1285. DWORD dwMedCtlToneMaxListSize;
  1286. DWORD dwMedCtlCallStateMaxListSize;
  1287. DWORD dwDevCapFlags;
  1288. DWORD dwMaxNumActiveCalls;
  1289. DWORD dwAnswerMode;
  1290. DWORD dwRingModes;
  1291. DWORD dwLineStates;
  1292. DWORD dwUUIAcceptSize;
  1293. DWORD dwUUIAnswerSize;
  1294. DWORD dwUUIMakeCallSize;
  1295. DWORD dwUUIDropSize;
  1296. DWORD dwUUISendUserUserInfoSize;
  1297. DWORD dwUUICallInfoSize;
  1298. LINEDIALPARAMS MinDialParams;
  1299. LINEDIALPARAMS MaxDialParams;
  1300. LINEDIALPARAMS DefaultDialParams;
  1301. DWORD dwNumTerminals;
  1302. DWORD dwTerminalCapsSize;
  1303. DWORD dwTerminalCapsOffset;
  1304. DWORD dwTerminalTextEntrySize;
  1305. DWORD dwTerminalTextSize;
  1306. DWORD dwTerminalTextOffset;
  1307. DWORD dwDevSpecificSize;
  1308. DWORD dwDevSpecificOffset;
  1309. DWORD dwLineFeatures; // TAPI v1.4
  1310. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1311. DWORD dwSettableDevStatus; // TAPI v2.0
  1312. DWORD dwDeviceClassesSize; // TAPI v2.0
  1313. DWORD dwDeviceClassesOffset; // TAPI v2.0
  1314. #endif
  1315. } LINEDEVCAPS, FAR *LPLINEDEVCAPS;
  1316. typedef struct linedevstatus_tag
  1317. {
  1318. DWORD dwTotalSize;
  1319. DWORD dwNeededSize;
  1320. DWORD dwUsedSize;
  1321. DWORD dwNumOpens;
  1322. DWORD dwOpenMediaModes;
  1323. DWORD dwNumActiveCalls;
  1324. DWORD dwNumOnHoldCalls;
  1325. DWORD dwNumOnHoldPendCalls;
  1326. DWORD dwLineFeatures;
  1327. DWORD dwNumCallCompletions;
  1328. DWORD dwRingMode;
  1329. DWORD dwSignalLevel;
  1330. DWORD dwBatteryLevel;
  1331. DWORD dwRoamMode;
  1332. DWORD dwDevStatusFlags;
  1333. DWORD dwTerminalModesSize;
  1334. DWORD dwTerminalModesOffset;
  1335. DWORD dwDevSpecificSize;
  1336. DWORD dwDevSpecificOffset;
  1337. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1338. DWORD dwAvailableMediaModes; // TAPI v2.0
  1339. DWORD dwAppInfoSize; // TAPI v2.0
  1340. DWORD dwAppInfoOffset; // TAPI v2.0
  1341. #endif
  1342. } LINEDEVSTATUS, FAR *LPLINEDEVSTATUS;
  1343. typedef struct lineextensionid_tag
  1344. {
  1345. DWORD dwExtensionID0;
  1346. DWORD dwExtensionID1;
  1347. DWORD dwExtensionID2;
  1348. DWORD dwExtensionID3;
  1349. } LINEEXTENSIONID, FAR *LPLINEEXTENSIONID;
  1350. typedef struct lineforward_tag
  1351. {
  1352. DWORD dwForwardMode;
  1353. DWORD dwCallerAddressSize;
  1354. DWORD dwCallerAddressOffset;
  1355. DWORD dwDestCountryCode;
  1356. DWORD dwDestAddressSize;
  1357. DWORD dwDestAddressOffset;
  1358. } LINEFORWARD, FAR *LPLINEFORWARD;
  1359. typedef struct lineforwardlist_tag
  1360. {
  1361. DWORD dwTotalSize;
  1362. DWORD dwNumEntries;
  1363. LINEFORWARD ForwardList[1];
  1364. } LINEFORWARDLIST, FAR *LPLINEFORWARDLIST;
  1365. typedef struct linegeneratetone_tag
  1366. {
  1367. DWORD dwFrequency;
  1368. DWORD dwCadenceOn;
  1369. DWORD dwCadenceOff;
  1370. DWORD dwVolume;
  1371. } LINEGENERATETONE, FAR *LPLINEGENERATETONE;
  1372. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1373. typedef struct lineinitializeexparams_tag
  1374. {
  1375. DWORD dwTotalSize; // TAPI v2.0
  1376. DWORD dwNeededSize; // TAPI v2.0
  1377. DWORD dwUsedSize; // TAPI v2.0
  1378. DWORD dwOptions; // TAPI v2.0
  1379. union
  1380. {
  1381. HANDLE hEvent; // TAPI v2.0
  1382. HANDLE hCompletionPort; // TAPI v2.0
  1383. } Handles;
  1384. DWORD dwCompletionKey; // TAPI v2.0
  1385. } LINEINITIALIZEEXPARAMS, FAR *LPLINEINITIALIZEEXPARAMS;
  1386. #endif
  1387. typedef struct linelocationentry_tag
  1388. {
  1389. DWORD dwPermanentLocationID;
  1390. DWORD dwLocationNameSize;
  1391. DWORD dwLocationNameOffset;
  1392. DWORD dwCountryCode;
  1393. DWORD dwCityCodeSize;
  1394. DWORD dwCityCodeOffset;
  1395. DWORD dwPreferredCardID;
  1396. DWORD dwLocalAccessCodeSize; // TAPI v1.4
  1397. DWORD dwLocalAccessCodeOffset; // TAPI v1.4
  1398. DWORD dwLongDistanceAccessCodeSize; // TAPI v1.4
  1399. DWORD dwLongDistanceAccessCodeOffset; // TAPI v1.4
  1400. DWORD dwTollPrefixListSize; // TAPI v1.4
  1401. DWORD dwTollPrefixListOffset; // TAPI v1.4
  1402. DWORD dwCountryID; // TAPI v1.4
  1403. DWORD dwOptions; // TAPI v1.4
  1404. DWORD dwCancelCallWaitingSize; // TAPI v1.4
  1405. DWORD dwCancelCallWaitingOffset; // TAPI v1.4
  1406. } LINELOCATIONENTRY, FAR *LPLINELOCATIONENTRY;
  1407. typedef struct linemediacontrolcallstate_tag
  1408. {
  1409. DWORD dwCallStates;
  1410. DWORD dwMediaControl;
  1411. } LINEMEDIACONTROLCALLSTATE, FAR *LPLINEMEDIACONTROLCALLSTATE;
  1412. typedef struct linemediacontroldigit_tag
  1413. {
  1414. DWORD dwDigit;
  1415. DWORD dwDigitModes;
  1416. DWORD dwMediaControl;
  1417. } LINEMEDIACONTROLDIGIT, FAR *LPLINEMEDIACONTROLDIGIT;
  1418. typedef struct linemediacontrolmedia_tag
  1419. {
  1420. DWORD dwMediaModes;
  1421. DWORD dwDuration;
  1422. DWORD dwMediaControl;
  1423. } LINEMEDIACONTROLMEDIA, FAR *LPLINEMEDIACONTROLMEDIA;
  1424. typedef struct linemediacontroltone_tag
  1425. {
  1426. DWORD dwAppSpecific;
  1427. DWORD dwDuration;
  1428. DWORD dwFrequency1;
  1429. DWORD dwFrequency2;
  1430. DWORD dwFrequency3;
  1431. DWORD dwMediaControl;
  1432. } LINEMEDIACONTROLTONE, FAR *LPLINEMEDIACONTROLTONE;
  1433. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1434. typedef struct linemessage_tag
  1435. {
  1436. DWORD hDevice; // TAPI v2.0
  1437. DWORD dwMessageID; // TAPI v2.0
  1438. DWORD dwCallbackInstance; // TAPI v2.0
  1439. DWORD dwParam1; // TAPI v2.0
  1440. DWORD dwParam2; // TAPI v2.0
  1441. DWORD dwParam3; // TAPI v2.0
  1442. } LINEMESSAGE, FAR *LPLINEMESSAGE;
  1443. #endif
  1444. typedef struct linemonitortone_tag
  1445. {
  1446. DWORD dwAppSpecific;
  1447. DWORD dwDuration;
  1448. DWORD dwFrequency1;
  1449. DWORD dwFrequency2;
  1450. DWORD dwFrequency3;
  1451. } LINEMONITORTONE, FAR *LPLINEMONITORTONE;
  1452. typedef struct lineproviderentry_tag
  1453. {
  1454. DWORD dwPermanentProviderID; // TAPI v1.4
  1455. DWORD dwProviderFilenameSize; // TAPI v1.4
  1456. DWORD dwProviderFilenameOffset; // TAPI v1.4
  1457. } LINEPROVIDERENTRY, FAR *LPLINEPROVIDERENTRY;
  1458. typedef struct lineproviderlist_tag
  1459. {
  1460. DWORD dwTotalSize; // TAPI v1.4
  1461. DWORD dwNeededSize; // TAPI v1.4
  1462. DWORD dwUsedSize; // TAPI v1.4
  1463. DWORD dwNumProviders; // TAPI v1.4
  1464. DWORD dwProviderListSize; // TAPI v1.4
  1465. DWORD dwProviderListOffset; // TAPI v1.4
  1466. } LINEPROVIDERLIST, FAR *LPLINEPROVIDERLIST;
  1467. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1468. typedef struct lineproxyrequest_tag
  1469. {
  1470. DWORD dwSize; // TAPI v2.0
  1471. DWORD dwClientMachineNameSize; // TAPI v2.0
  1472. DWORD dwClientMachineNameOffset; // TAPI v2.0
  1473. DWORD dwClientUserNameSize; // TAPI v2.0
  1474. DWORD dwClientUserNameOffset; // TAPI v2.0
  1475. DWORD dwClientAppAPIVersion; // TAPI v2.0
  1476. DWORD dwRequestType; // TAPI v2.0
  1477. union
  1478. {
  1479. struct
  1480. {
  1481. DWORD dwAddressID; // TAPI v2.0
  1482. LINEAGENTGROUPLIST GroupList; // TAPI v2.0
  1483. } SetAgentGroup;
  1484. struct
  1485. {
  1486. DWORD dwAddressID; // TAPI v2.0
  1487. DWORD dwAgentState; // TAPI v2.0
  1488. DWORD dwNextAgentState; // TAPI v2.0
  1489. } SetAgentState;
  1490. struct
  1491. {
  1492. DWORD dwAddressID; // TAPI v2.0
  1493. DWORD dwActivityID; // TAPI v2.0
  1494. } SetAgentActivity;
  1495. struct
  1496. {
  1497. DWORD dwAddressID; // TAPI v2.0
  1498. LINEAGENTCAPS AgentCaps; // TAPI v2.0
  1499. } GetAgentCaps;
  1500. struct
  1501. {
  1502. DWORD dwAddressID; // TAPI v2.0
  1503. LINEAGENTSTATUS AgentStatus; // TAPI v2.0
  1504. } GetAgentStatus;
  1505. struct
  1506. {
  1507. DWORD dwAddressID; // TAPI v2.0
  1508. DWORD dwAgentExtensionIDIndex; // TAPI v2.0
  1509. DWORD dwSize; // TAPI v2.0
  1510. BYTE Params[1]; // TAPI v2.0
  1511. } AgentSpecific;
  1512. struct
  1513. {
  1514. DWORD dwAddressID; // TAPI v2.0
  1515. LINEAGENTACTIVITYLIST ActivityList; // TAPI v2.0
  1516. } GetAgentActivityList;
  1517. struct
  1518. {
  1519. DWORD dwAddressID; // TAPI v2.0
  1520. LINEAGENTGROUPLIST GroupList; // TAPI v2.0
  1521. } GetAgentGroupList;
  1522. }; //ProxyRequestType;
  1523. } LINEPROXYREQUEST, *LPLINEPROXYREQUEST;
  1524. #endif
  1525. typedef struct linereqmakecall_tag
  1526. {
  1527. char szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1528. char szAppName[TAPIMAXAPPNAMESIZE];
  1529. char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1530. char szComment[TAPIMAXCOMMENTSIZE];
  1531. } LINEREQMAKECALL, FAR *LPLINEREQMAKECALL;
  1532. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1533. typedef struct linereqmakecallW_tag
  1534. {
  1535. WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1536. WCHAR szAppName[TAPIMAXAPPNAMESIZE];
  1537. WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1538. WCHAR szComment[TAPIMAXCOMMENTSIZE];
  1539. } LINEREQMAKECALLW, FAR *LPLINEREQMAKECALLW;
  1540. #endif
  1541. #ifdef UNICODE
  1542. #define LINEREQMAKECALL LINEREQMAKECALLW
  1543. #endif
  1544. typedef struct linereqmediacall_tag
  1545. {
  1546. HWND hWnd;
  1547. WPARAM wRequestID;
  1548. char szDeviceClass[TAPIMAXDEVICECLASSSIZE];
  1549. unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
  1550. DWORD dwSize;
  1551. DWORD dwSecure;
  1552. char szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1553. char szAppName[TAPIMAXAPPNAMESIZE];
  1554. char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1555. char szComment[TAPIMAXCOMMENTSIZE];
  1556. } LINEREQMEDIACALL, FAR *LPLINEREQMEDIACALL;
  1557. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1558. typedef struct linereqmediacallW_tag
  1559. {
  1560. HWND hWnd;
  1561. WPARAM wRequestID;
  1562. WCHAR szDeviceClass[TAPIMAXDEVICECLASSSIZE];
  1563. unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
  1564. DWORD dwSize;
  1565. DWORD dwSecure;
  1566. WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1567. WCHAR szAppName[TAPIMAXAPPNAMESIZE];
  1568. WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1569. WCHAR szComment[TAPIMAXCOMMENTSIZE];
  1570. } LINEREQMEDIACALLW, FAR *LPLINEREQMEDIACALLW;
  1571. #endif
  1572. #ifdef UNICODE
  1573. #define LINEREQMEDIACALL LINEREQMEDIACALLW
  1574. #endif
  1575. typedef struct linetermcaps_tag
  1576. {
  1577. DWORD dwTermDev;
  1578. DWORD dwTermModes;
  1579. DWORD dwTermSharing;
  1580. } LINETERMCAPS, FAR *LPLINETERMCAPS;
  1581. typedef struct linetranslatecaps_tag
  1582. {
  1583. DWORD dwTotalSize;
  1584. DWORD dwNeededSize;
  1585. DWORD dwUsedSize;
  1586. DWORD dwNumLocations;
  1587. DWORD dwLocationListSize;
  1588. DWORD dwLocationListOffset;
  1589. DWORD dwCurrentLocationID;
  1590. DWORD dwNumCards;
  1591. DWORD dwCardListSize;
  1592. DWORD dwCardListOffset;
  1593. DWORD dwCurrentPreferredCardID;
  1594. } LINETRANSLATECAPS, FAR *LPLINETRANSLATECAPS;
  1595. typedef struct linetranslateoutput_tag
  1596. {
  1597. DWORD dwTotalSize;
  1598. DWORD dwNeededSize;
  1599. DWORD dwUsedSize;
  1600. DWORD dwDialableStringSize;
  1601. DWORD dwDialableStringOffset;
  1602. DWORD dwDisplayableStringSize;
  1603. DWORD dwDisplayableStringOffset;
  1604. DWORD dwCurrentCountry;
  1605. DWORD dwDestCountry;
  1606. DWORD dwTranslateResults;
  1607. } LINETRANSLATEOUTPUT, FAR *LPLINETRANSLATEOUTPUT;
  1608. typedef struct phonebuttoninfo_tag
  1609. {
  1610. DWORD dwTotalSize;
  1611. DWORD dwNeededSize;
  1612. DWORD dwUsedSize;
  1613. DWORD dwButtonMode;
  1614. DWORD dwButtonFunction;
  1615. DWORD dwButtonTextSize;
  1616. DWORD dwButtonTextOffset;
  1617. DWORD dwDevSpecificSize;
  1618. DWORD dwDevSpecificOffset;
  1619. DWORD dwButtonState; // TAPI v1.4
  1620. } PHONEBUTTONINFO, FAR *LPPHONEBUTTONINFO;
  1621. typedef struct phonecaps_tag
  1622. {
  1623. DWORD dwTotalSize;
  1624. DWORD dwNeededSize;
  1625. DWORD dwUsedSize;
  1626. DWORD dwProviderInfoSize;
  1627. DWORD dwProviderInfoOffset;
  1628. DWORD dwPhoneInfoSize;
  1629. DWORD dwPhoneInfoOffset;
  1630. DWORD dwPermanentPhoneID;
  1631. DWORD dwPhoneNameSize;
  1632. DWORD dwPhoneNameOffset;
  1633. DWORD dwStringFormat;
  1634. DWORD dwPhoneStates;
  1635. DWORD dwHookSwitchDevs;
  1636. DWORD dwHandsetHookSwitchModes;
  1637. DWORD dwSpeakerHookSwitchModes;
  1638. DWORD dwHeadsetHookSwitchModes;
  1639. DWORD dwVolumeFlags;
  1640. DWORD dwGainFlags;
  1641. DWORD dwDisplayNumRows;
  1642. DWORD dwDisplayNumColumns;
  1643. DWORD dwNumRingModes;
  1644. DWORD dwNumButtonLamps;
  1645. DWORD dwButtonModesSize;
  1646. DWORD dwButtonModesOffset;
  1647. DWORD dwButtonFunctionsSize;
  1648. DWORD dwButtonFunctionsOffset;
  1649. DWORD dwLampModesSize;
  1650. DWORD dwLampModesOffset;
  1651. DWORD dwNumSetData;
  1652. DWORD dwSetDataSize;
  1653. DWORD dwSetDataOffset;
  1654. DWORD dwNumGetData;
  1655. DWORD dwGetDataSize;
  1656. DWORD dwGetDataOffset;
  1657. DWORD dwDevSpecificSize;
  1658. DWORD dwDevSpecificOffset;
  1659. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1660. DWORD dwDeviceClassesSize; // TAPI v2.0
  1661. DWORD dwDeviceClassesOffset; // TAPI v2.0
  1662. DWORD dwPhoneFeatures; // TAPI v2.0
  1663. DWORD dwSettableHandsetHookSwitchModes; // TAPI v2.0
  1664. DWORD dwSettableSpeakerHookSwitchModes; // TAPI v2.0
  1665. DWORD dwSettableHeadsetHookSwitchModes; // TAPI v2.0
  1666. DWORD dwMonitoredHandsetHookSwitchModes; // TAPI v2.0
  1667. DWORD dwMonitoredSpeakerHookSwitchModes; // TAPI v2.0
  1668. DWORD dwMonitoredHeadsetHookSwitchModes; // TAPI v2.0
  1669. #endif
  1670. } PHONECAPS, FAR *LPPHONECAPS;
  1671. typedef struct phoneextensionid_tag
  1672. {
  1673. DWORD dwExtensionID0;
  1674. DWORD dwExtensionID1;
  1675. DWORD dwExtensionID2;
  1676. DWORD dwExtensionID3;
  1677. } PHONEEXTENSIONID, FAR *LPPHONEEXTENSIONID;
  1678. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1679. typedef struct phoneinitializeexparams_tag
  1680. {
  1681. DWORD dwTotalSize; // TAPI v2.0
  1682. DWORD dwNeededSize; // TAPI v2.0
  1683. DWORD dwUsedSize; // TAPI v2.0
  1684. DWORD dwOptions; // TAPI v2.0
  1685. union
  1686. {
  1687. HANDLE hEvent; // TAPI v2.0
  1688. HANDLE hCompletionPort; // TAPI v2.0
  1689. } Handles;
  1690. DWORD dwCompletionKey; // TAPI v2.0
  1691. } PHONEINITIALIZEEXPARAMS, FAR *LPPHONEINITIALIZEEXPARAMS;
  1692. typedef struct phonemessage_tag
  1693. {
  1694. DWORD hDevice; // TAPI v2.0
  1695. DWORD dwMessageID; // TAPI v2.0
  1696. DWORD dwCallbackInstance; // TAPI v2.0
  1697. DWORD dwParam1; // TAPI v2.0
  1698. DWORD dwParam2; // TAPI v2.0
  1699. DWORD dwParam3; // TAPI v2.0
  1700. } PHONEMESSAGE, FAR *LPPHONEMESSAGE;
  1701. #endif
  1702. typedef struct phonestatus_tag
  1703. {
  1704. DWORD dwTotalSize;
  1705. DWORD dwNeededSize;
  1706. DWORD dwUsedSize;
  1707. DWORD dwStatusFlags;
  1708. DWORD dwNumOwners;
  1709. DWORD dwNumMonitors;
  1710. DWORD dwRingMode;
  1711. DWORD dwRingVolume;
  1712. DWORD dwHandsetHookSwitchMode;
  1713. DWORD dwHandsetVolume;
  1714. DWORD dwHandsetGain;
  1715. DWORD dwSpeakerHookSwitchMode;
  1716. DWORD dwSpeakerVolume;
  1717. DWORD dwSpeakerGain;
  1718. DWORD dwHeadsetHookSwitchMode;
  1719. DWORD dwHeadsetVolume;
  1720. DWORD dwHeadsetGain;
  1721. DWORD dwDisplaySize;
  1722. DWORD dwDisplayOffset;
  1723. DWORD dwLampModesSize;
  1724. DWORD dwLampModesOffset;
  1725. DWORD dwOwnerNameSize;
  1726. DWORD dwOwnerNameOffset;
  1727. DWORD dwDevSpecificSize;
  1728. DWORD dwDevSpecificOffset;
  1729. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1730. DWORD dwPhoneFeatures; // TAPI v2.0
  1731. #endif
  1732. } PHONESTATUS, FAR *LPPHONESTATUS;
  1733. typedef struct varstring_tag
  1734. {
  1735. DWORD dwTotalSize;
  1736. DWORD dwNeededSize;
  1737. DWORD dwUsedSize;
  1738. DWORD dwStringFormat;
  1739. DWORD dwStringSize;
  1740. DWORD dwStringOffset;
  1741. } VARSTRING, FAR *LPVARSTRING;
  1742. LONG
  1743. WINAPI
  1744. lineAccept(
  1745. HCALL hCall,
  1746. LPCSTR lpsUserUserInfo,
  1747. DWORD dwSize
  1748. );
  1749. LONG
  1750. WINAPI
  1751. lineAddProvider( // TAPI v1.4
  1752. LPCSTR lpszProviderFilename,
  1753. HWND hwndOwner,
  1754. LPDWORD lpdwPermanentProviderID
  1755. );
  1756. #ifdef WIN32
  1757. LONG
  1758. WINAPI
  1759. lineAddProviderW(
  1760. LPCTSTR lpszProviderFilename,
  1761. HWND hwndOwner,
  1762. LPDWORD lpdwPermanentProviderID
  1763. );
  1764. #ifdef UNICODE
  1765. #define lineAddProvider lineAddProviderW
  1766. #endif
  1767. #define lineAddProviderA lineAddProvider
  1768. #endif
  1769. LONG
  1770. WINAPI
  1771. lineAddToConference(
  1772. HCALL hConfCall,
  1773. HCALL hConsultCall
  1774. );
  1775. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1776. LONG
  1777. WINAPI
  1778. lineAgentSpecific( // TAPI v2.0
  1779. HLINE hLine,
  1780. DWORD dwAddressID,
  1781. DWORD dwAgentExtensionIDIndex,
  1782. LPVOID lpParams,
  1783. DWORD dwSize
  1784. );
  1785. #endif
  1786. LONG
  1787. WINAPI
  1788. lineAnswer(
  1789. HCALL hCall,
  1790. LPCSTR lpsUserUserInfo,
  1791. DWORD dwSize
  1792. );
  1793. LONG
  1794. WINAPI
  1795. lineBlindTransfer(
  1796. HCALL hCall,
  1797. LPCSTR lpszDestAddress,
  1798. DWORD dwCountryCode
  1799. );
  1800. #if WIN32
  1801. LONG
  1802. WINAPI
  1803. lineBlindTransferW(
  1804. HCALL hCall,
  1805. LPCTSTR lpszDestAddressW,
  1806. DWORD dwCountryCode
  1807. );
  1808. #ifdef UNICODE
  1809. #define lineBlindTransfer lineBlineTransferW
  1810. #endif
  1811. #define lineBlindTransferA lineBlineTransfer
  1812. #endif
  1813. LONG
  1814. WINAPI
  1815. lineClose(
  1816. HLINE hLine
  1817. );
  1818. LONG
  1819. WINAPI
  1820. lineCompleteCall(
  1821. HCALL hCall,
  1822. LPDWORD lpdwCompletionID,
  1823. DWORD dwCompletionMode,
  1824. DWORD dwMessageID
  1825. );
  1826. LONG
  1827. WINAPI
  1828. lineCompleteTransfer(
  1829. HCALL hCall,
  1830. HCALL hConsultCall,
  1831. LPHCALL lphConfCall,
  1832. DWORD dwTransferMode
  1833. );
  1834. LONG
  1835. WINAPI
  1836. lineConfigDialog(
  1837. DWORD dwDeviceID,
  1838. HWND hwndOwner,
  1839. LPCSTR lpszDeviceClass
  1840. );
  1841. #if WIN32
  1842. LONG
  1843. WINAPI
  1844. lineConfigDialogW(
  1845. DWORD dwDeviceID,
  1846. HWND hwndOwner,
  1847. LPCTSTR lpszDeviceClass
  1848. );
  1849. #ifdef UNICODE
  1850. #define lineConfigDialog lineConfigDialogW
  1851. #endif
  1852. #define lineConfigDialogA lineConfigDialog
  1853. #endif
  1854. LONG
  1855. WINAPI
  1856. lineConfigDialogEdit( // TAPI v1.4
  1857. DWORD dwDeviceID,
  1858. HWND hwndOwner,
  1859. LPCSTR lpszDeviceClass,
  1860. LPVOID const lpDeviceConfigIn,
  1861. DWORD dwSize,
  1862. LPVARSTRING lpDeviceConfigOut
  1863. );
  1864. #if WIN32
  1865. LONG
  1866. WINAPI
  1867. lineConfigDialogEditW(
  1868. DWORD dwDeviceID,
  1869. HWND hwndOwner,
  1870. LPCTSTR lpszDeviceClass,
  1871. LPVOID const lpDeviceConfigIn,
  1872. DWORD dwSize,
  1873. LPVARSTRING lpDeviceConfigOut
  1874. );
  1875. #ifdef UNICODE
  1876. #define lineConfigDialogEdit lineConfigDialogEditW
  1877. #endif
  1878. #define lineConfigDialogEditA lineConfigDialogEdit
  1879. #endif
  1880. LONG
  1881. WINAPI
  1882. lineConfigProvider( // TAPI v1.4
  1883. HWND hwndOwner,
  1884. DWORD dwPermanentProviderID
  1885. );
  1886. LONG
  1887. WINAPI
  1888. lineDeallocateCall(
  1889. HCALL hCall
  1890. );
  1891. LONG
  1892. WINAPI
  1893. lineDevSpecific(
  1894. HLINE hLine,
  1895. DWORD dwAddressID,
  1896. HCALL hCall,
  1897. LPVOID lpParams,
  1898. DWORD dwSize
  1899. );
  1900. LONG
  1901. WINAPI
  1902. lineDevSpecificFeature(
  1903. HLINE hLine,
  1904. DWORD dwFeature,
  1905. LPVOID lpParams,
  1906. DWORD dwSize
  1907. );
  1908. LONG
  1909. WINAPI
  1910. lineDial(
  1911. HCALL hCall,
  1912. LPCSTR lpszDestAddress,
  1913. DWORD dwCountryCode
  1914. );
  1915. #if WIN32
  1916. LONG
  1917. WINAPI
  1918. lineDialW(
  1919. HCALL hCall,
  1920. LPCTSTR lpszDestAddress,
  1921. DWORD dwCountryCode
  1922. );
  1923. #ifdef UNICODE
  1924. #define lineDial lineDialW
  1925. #endif
  1926. #define lineDialA lineDial
  1927. #endif
  1928. LONG
  1929. WINAPI
  1930. lineDrop(
  1931. HCALL hCall,
  1932. LPCSTR lpsUserUserInfo,
  1933. DWORD dwSize
  1934. );
  1935. LONG
  1936. WINAPI
  1937. lineForward(
  1938. HLINE hLine,
  1939. DWORD bAllAddresses,
  1940. DWORD dwAddressID,
  1941. LPLINEFORWARDLIST const lpForwardList,
  1942. DWORD dwNumRingsNoAnswer,
  1943. LPHCALL lphConsultCall,
  1944. LPLINECALLPARAMS const lpCallParams
  1945. );
  1946. #if WIN32
  1947. LONG
  1948. WINAPI
  1949. lineForwardW(
  1950. HLINE hLine,
  1951. DWORD bAllAddresses,
  1952. DWORD dwAddressID,
  1953. LPLINEFORWARDLIST const lpForwardList,
  1954. DWORD dwNumRingsNoAnswer,
  1955. LPHCALL lphConsultCall,
  1956. LPLINECALLPARAMS const lpCallParams
  1957. );
  1958. #ifdef UNICODE
  1959. #define lineForward lineForwardW
  1960. #endif
  1961. #define lineForwardA lineForward
  1962. #endif
  1963. LONG
  1964. WINAPI
  1965. lineGatherDigits(
  1966. HCALL hCall,
  1967. DWORD dwDigitModes,
  1968. LPSTR lpsDigits,
  1969. DWORD dwNumDigits,
  1970. LPCSTR lpszTerminationDigits,
  1971. DWORD dwFirstDigitTimeout,
  1972. DWORD dwInterDigitTimeout
  1973. );
  1974. #if WIN32
  1975. LONG
  1976. WINAPI
  1977. lineGatherDigitsW(
  1978. HCALL hCall,
  1979. DWORD dwDigitModes,
  1980. LPWSTR lpsDigits,
  1981. DWORD dwNumDigits,
  1982. LPCTSTR lpszTerminationDigits,
  1983. DWORD dwFirstDigitTimeout,
  1984. DWORD dwInterDigitTimeout
  1985. );
  1986. #ifdef UNICODE
  1987. #define lineGatherDigits lineGatherDigitsW
  1988. #endif
  1989. #define lineGatherDigitsA lineGatherDigits
  1990. #endif
  1991. LONG
  1992. WINAPI
  1993. lineGenerateDigits(
  1994. HCALL hCall,
  1995. DWORD dwDigitMode,
  1996. LPCSTR lpszDigits,
  1997. DWORD dwDuration
  1998. );
  1999. #if WIN32
  2000. LONG
  2001. WINAPI
  2002. lineGenerateDigitsW(
  2003. HCALL hCall,
  2004. DWORD dwDigitMode,
  2005. LPCTSTR lpszDigits,
  2006. DWORD dwDuration
  2007. );
  2008. #ifdef UNICODE
  2009. #define lineGenerateDigits lineGenerateDigitsW
  2010. #endif
  2011. #define lineGenerateDigitsA lineGenerateDigits
  2012. #endif
  2013. LONG
  2014. WINAPI
  2015. lineGenerateTone(
  2016. HCALL hCall,
  2017. DWORD dwToneMode,
  2018. DWORD dwDuration,
  2019. DWORD dwNumTones,
  2020. LPLINEGENERATETONE const lpTones
  2021. );
  2022. LONG
  2023. WINAPI
  2024. lineGetAddressCaps(
  2025. HLINEAPP hLineApp,
  2026. DWORD dwDeviceID,
  2027. DWORD dwAddressID,
  2028. DWORD dwAPIVersion,
  2029. DWORD dwExtVersion,
  2030. LPLINEADDRESSCAPS lpAddressCaps
  2031. );
  2032. #if WIN32
  2033. LONG
  2034. WINAPI
  2035. lineGetAddressCapsW(
  2036. HLINEAPP hLineApp,
  2037. DWORD dwDeviceID,
  2038. DWORD dwAddressID,
  2039. DWORD dwAPIVersion,
  2040. DWORD dwExtVersion,
  2041. LPLINEADDRESSCAPS lpAddressCaps
  2042. );
  2043. #ifdef UNICODE
  2044. #define lineGetAddressCaps lineGetAddressCapsW
  2045. #endif
  2046. #define lineGetAddressCapsA lineGetAddressCaps
  2047. #endif
  2048. LONG
  2049. WINAPI
  2050. lineGetAddressID(
  2051. HLINE hLine,
  2052. LPDWORD lpdwAddressID,
  2053. DWORD dwAddressMode,
  2054. LPCSTR lpsAddress,
  2055. DWORD dwSize
  2056. );
  2057. #if WIN32
  2058. LONG
  2059. WINAPI
  2060. lineGetAddressIDW(
  2061. HLINE hLine,
  2062. LPDWORD lpdwAddressID,
  2063. DWORD dwAddressMode,
  2064. LPCTSTR lpsAddress,
  2065. DWORD dwSize
  2066. );
  2067. #ifdef UNICODE
  2068. #define lineGetAddressID lineGetAddressIDW
  2069. #endif
  2070. #define lineGetAddressIDA lineGetAddressID
  2071. #endif
  2072. LONG
  2073. WINAPI
  2074. lineGetAddressStatus(
  2075. HLINE hLine,
  2076. DWORD dwAddressID,
  2077. LPLINEADDRESSSTATUS lpAddressStatus
  2078. );
  2079. #if WIN32
  2080. LONG
  2081. WINAPI
  2082. lineGetAddressStatusW(
  2083. HLINE hLine,
  2084. DWORD dwAddressID,
  2085. LPLINEADDRESSSTATUS lpAddressStatus
  2086. );
  2087. #ifdef UNICODE
  2088. #define lineGetAddressStatus lineGetAddressStatusW
  2089. #endif
  2090. #define lineGetAddressStatusA lineGetAddressStatus
  2091. #endif
  2092. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2093. LONG
  2094. WINAPI
  2095. lineGetAgentActivityList( // TAPI v2.0
  2096. HLINE hLine,
  2097. DWORD dwAddressID,
  2098. LPLINEAGENTACTIVITYLIST lpAgentActivityList
  2099. );
  2100. LONG
  2101. WINAPI
  2102. lineGetAgentActivityListW( // TAPI v2.0
  2103. HLINE hLine,
  2104. DWORD dwAddressID,
  2105. LPLINEAGENTACTIVITYLIST lpAgentActivityList
  2106. );
  2107. #ifdef UNICODE
  2108. #define lineGetAgentActivityList lineGetAgentActivityListW
  2109. #endif
  2110. #define lineGetAgentActivityListA lineGetAgentActivityList
  2111. #endif
  2112. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2113. LONG
  2114. WINAPI
  2115. lineGetAgentCaps( // TAPI v2.0
  2116. HLINEAPP hLineApp,
  2117. DWORD dwDeviceID,
  2118. DWORD dwAddressID,
  2119. DWORD dwAppAPIVersion,
  2120. LPLINEAGENTCAPS lpAgentCaps
  2121. );
  2122. LONG
  2123. WINAPI
  2124. lineGetAgentGroupList( // TAPI v2.0
  2125. HLINE hLine,
  2126. DWORD dwAddressID,
  2127. LPLINEAGENTGROUPLIST lpAgentGroupList
  2128. );
  2129. LONG
  2130. WINAPI
  2131. lineGetAgentStatus( // TAPI v2.0
  2132. HLINE hLine,
  2133. DWORD dwAddressID,
  2134. LPLINEAGENTSTATUS lpAgentStatus
  2135. );
  2136. #endif
  2137. LONG
  2138. WINAPI
  2139. lineGetAppPriority( // TAPI v1.4
  2140. LPCSTR lpszAppFilename,
  2141. DWORD dwMediaMode,
  2142. LPLINEEXTENSIONID lpExtensionID,
  2143. DWORD dwRequestMode,
  2144. LPVARSTRING lpExtensionName,
  2145. LPDWORD lpdwPriority
  2146. );
  2147. #if WIN32
  2148. LONG
  2149. WINAPI
  2150. lineGetAppPriorityW( // TAPI v1.4
  2151. LPCTSTR lpszAppFilename,
  2152. DWORD dwMediaMode,
  2153. LPLINEEXTENSIONID lpExtensionID,
  2154. DWORD dwRequestMode,
  2155. LPVARSTRING lpExtensionName,
  2156. LPDWORD lpdwPriority
  2157. );
  2158. #ifdef UNICODE
  2159. #define lineGetAppPriority lineGetAppPriorityW
  2160. #endif
  2161. #define lineGetAppPriorityA lineGetAppPriority
  2162. #endif
  2163. LONG
  2164. WINAPI
  2165. lineGetCallInfo(
  2166. HCALL hCall,
  2167. LPLINECALLINFO lpCallInfo
  2168. );
  2169. #if WIN32
  2170. LONG
  2171. WINAPI
  2172. lineGetCallInfoW(
  2173. HCALL hCall,
  2174. LPLINECALLINFO lpCallInfo
  2175. );
  2176. #ifdef UNICODE
  2177. #define lineGetCallInfo lineGetCallInfoW
  2178. #endif
  2179. #define lineGetCallInfoA lineGetCallInfo
  2180. #endif
  2181. LONG
  2182. WINAPI
  2183. lineGetCallStatus(
  2184. HCALL hCall,
  2185. LPLINECALLSTATUS lpCallStatus
  2186. );
  2187. LONG
  2188. WINAPI
  2189. lineGetConfRelatedCalls(
  2190. HCALL hCall,
  2191. LPLINECALLLIST lpCallList
  2192. );
  2193. LONG
  2194. WINAPI
  2195. lineGetCountry( // TAPI v1.4
  2196. DWORD dwCountryID,
  2197. DWORD dwAPIVersion,
  2198. LPLINECOUNTRYLIST lpLineCountryList
  2199. );
  2200. #if WIN32
  2201. LONG
  2202. WINAPI
  2203. lineGetCountryW( // TAPI v1.4
  2204. DWORD dwCountryID,
  2205. DWORD dwAPIVersion,
  2206. LPLINECOUNTRYLIST lpLineCountryList
  2207. );
  2208. #ifdef UNICODE
  2209. #define lineGetCountry lineGetCountryW
  2210. #endif
  2211. #define lineGetCountryA lineGetCountry
  2212. #endif
  2213. LONG
  2214. WINAPI
  2215. lineGetDevCaps(
  2216. HLINEAPP hLineApp,
  2217. DWORD dwDeviceID,
  2218. DWORD dwAPIVersion,
  2219. DWORD dwExtVersion,
  2220. LPLINEDEVCAPS lpLineDevCaps
  2221. );
  2222. #if WIN32
  2223. LONG
  2224. WINAPI
  2225. lineGetDevCapsW(
  2226. HLINEAPP hLineApp,
  2227. DWORD dwDeviceID,
  2228. DWORD dwAPIVersion,
  2229. DWORD dwExtVersion,
  2230. LPLINEDEVCAPS lpLineDevCaps
  2231. );
  2232. #ifdef UNICODE
  2233. #define lineGetDevCaps lineGetDevCapsW
  2234. #endif
  2235. #define lineGetDevCapsA lineGetDevCaps
  2236. #endif
  2237. LONG
  2238. WINAPI
  2239. lineGetDevConfig(
  2240. DWORD dwDeviceID,
  2241. LPVARSTRING lpDeviceConfig,
  2242. LPCSTR lpszDeviceClass
  2243. );
  2244. #if WIN32
  2245. LONG
  2246. WINAPI
  2247. lineGetDevConfigW(
  2248. DWORD dwDeviceID,
  2249. LPVARSTRING lpDeviceConfig,
  2250. LPCTSTR lpszDeviceClass
  2251. );
  2252. #ifdef UNICODE
  2253. #define lineGetDevConfig lineGetDevConfigW
  2254. #endif
  2255. #define lineGetDevConfigA lineGetDevConfig
  2256. #endif
  2257. LONG
  2258. WINAPI
  2259. lineGetNewCalls(
  2260. HLINE hLine,
  2261. DWORD dwAddressID,
  2262. DWORD dwSelect,
  2263. LPLINECALLLIST lpCallList
  2264. );
  2265. LONG
  2266. WINAPI
  2267. lineGetIcon(
  2268. DWORD dwDeviceID,
  2269. LPCSTR lpszDeviceClass,
  2270. LPHICON lphIcon
  2271. );
  2272. #if WIN32
  2273. LONG
  2274. WINAPI
  2275. lineGetIconW(
  2276. DWORD dwDeviceID,
  2277. LPCTSTR lpszDeviceClass,
  2278. LPHICON lphIcon
  2279. );
  2280. #ifdef UNICODE
  2281. #define lineGetIcon lineGetIconW
  2282. #endif
  2283. #define lineGetIconA lineGetIcon
  2284. #endif
  2285. LONG
  2286. WINAPI
  2287. lineGetID(
  2288. HLINE hLine,
  2289. DWORD dwAddressID,
  2290. HCALL hCall,
  2291. DWORD dwSelect,
  2292. LPVARSTRING lpDeviceID,
  2293. LPCSTR lpszDeviceClass
  2294. );
  2295. #if WIN32
  2296. LONG
  2297. WINAPI
  2298. lineGetIDW(
  2299. HLINE hLine,
  2300. DWORD dwAddressID,
  2301. HCALL hCall,
  2302. DWORD dwSelect,
  2303. LPVARSTRING lpDeviceID,
  2304. LPCTSTR lpszDeviceClass
  2305. );
  2306. #ifdef UNICODE
  2307. #define lineGetID lineGetIDW
  2308. #endif
  2309. #define lineGetIDA lineGetID
  2310. #endif
  2311. LONG
  2312. WINAPI
  2313. lineGetLineDevStatus(
  2314. HLINE hLine,
  2315. LPLINEDEVSTATUS lpLineDevStatus
  2316. );
  2317. #if WIN32
  2318. LONG
  2319. WINAPI
  2320. lineGetLineDevStatusW(
  2321. HLINE hLine,
  2322. LPLINEDEVSTATUS lpLineDevStatus
  2323. );
  2324. #ifdef UNICODE
  2325. #define lineGetDevStatus lineGetDevStatusW
  2326. #endif
  2327. #define lineGetDevStatusA lineGetDevStatus
  2328. #endif
  2329. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2330. LONG
  2331. WINAPI
  2332. lineGetMessage( // TAPI v2.0
  2333. HLINEAPP hLineApp,
  2334. LPLINEMESSAGE lpMessage,
  2335. DWORD dwTimeout
  2336. );
  2337. #endif
  2338. LONG
  2339. WINAPI
  2340. lineGetNumRings(
  2341. HLINE hLine,
  2342. DWORD dwAddressID,
  2343. LPDWORD lpdwNumRings
  2344. );
  2345. LONG
  2346. WINAPI
  2347. lineGetProviderList( // TAPI v1.4
  2348. DWORD dwAPIVersion,
  2349. LPLINEPROVIDERLIST lpProviderList
  2350. );
  2351. #if WIN32
  2352. LONG
  2353. WINAPI
  2354. lineGetProviderListW(
  2355. DWORD dwAPIVersion,
  2356. LPLINEPROVIDERLIST lpProviderList
  2357. );
  2358. #ifdef UNICODE
  2359. #define lineGetProviderList lineGetProviderListW
  2360. #endif
  2361. #define lineGetProviderListA lineGetProviderList
  2362. #endif
  2363. LONG
  2364. WINAPI
  2365. lineGetRequest(
  2366. HLINEAPP hLineApp,
  2367. DWORD dwRequestMode,
  2368. LPVOID lpRequestBuffer
  2369. );
  2370. #if WIN32
  2371. LONG
  2372. WINAPI
  2373. lineGetRequestW(
  2374. HLINEAPP hLineApp,
  2375. DWORD dwRequestMode,
  2376. LPVOID lpRequestBuffer
  2377. );
  2378. #ifdef UNICODE
  2379. #define lineGetRequest lineGetRequestW
  2380. #endif
  2381. #define lineGetRequestA lineGetRequest
  2382. #endif
  2383. LONG
  2384. WINAPI
  2385. lineGetStatusMessages(
  2386. HLINE hLine,
  2387. LPDWORD lpdwLineStates,
  2388. LPDWORD lpdwAddressStates
  2389. );
  2390. LONG
  2391. WINAPI
  2392. lineGetTranslateCaps(
  2393. HLINEAPP hLineApp,
  2394. DWORD dwAPIVersion,
  2395. LPLINETRANSLATECAPS lpTranslateCaps
  2396. );
  2397. #if WIN32
  2398. LONG
  2399. WINAPI
  2400. lineGetTranslateCapsW(
  2401. HLINEAPP hLineApp,
  2402. DWORD dwAPIVersion,
  2403. LPLINETRANSLATECAPS lpTranslateCaps
  2404. );
  2405. #ifdef UNICODE
  2406. #define lineGetTranslateCaps lineGetTranslateCapsW
  2407. #endif
  2408. #define lineGetTranslateCapsA lineGetTranslateCaps
  2409. #endif
  2410. LONG
  2411. WINAPI
  2412. lineHandoff(
  2413. HCALL hCall,
  2414. LPCSTR lpszFileName,
  2415. DWORD dwMediaMode
  2416. );
  2417. #if WIN32
  2418. LONG
  2419. WINAPI
  2420. lineHandoffW(
  2421. HCALL hCall,
  2422. LPCTSTR lpszFileName,
  2423. DWORD dwMediaMode
  2424. );
  2425. #ifdef UNICODE
  2426. #define lineHandoff lineHandoffW
  2427. #endif
  2428. #define lineHandoffA lineHandoff
  2429. #endif
  2430. LONG
  2431. WINAPI
  2432. lineHold(
  2433. HCALL hCall
  2434. );
  2435. LONG
  2436. WINAPI
  2437. lineInitialize(
  2438. LPHLINEAPP lphLineApp,
  2439. HINSTANCE hInstance,
  2440. LINECALLBACK lpfnCallback,
  2441. LPCSTR lpszAppName,
  2442. LPDWORD lpdwNumDevs
  2443. );
  2444. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2445. LONG
  2446. WINAPI
  2447. lineInitializeEx( // TAPI v2.0
  2448. LPHLINEAPP lphLineApp,
  2449. HINSTANCE hInstance,
  2450. LINECALLBACK lpfnCallback,
  2451. LPCSTR lpszFriendlyAppName,
  2452. LPDWORD lpdwNumDevs,
  2453. LPDWORD lpdwAPIVersion,
  2454. LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
  2455. );
  2456. LONG
  2457. WINAPI
  2458. lineInitializeExW( // TAPI v2.0
  2459. LPHLINEAPP lphLineApp,
  2460. HINSTANCE hInstance,
  2461. LINECALLBACK lpfnCallback,
  2462. LPCTSTR lpszFriendlyAppName,
  2463. LPDWORD lpdwNumDevs,
  2464. LPDWORD lpdwAPIVersion,
  2465. LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
  2466. );
  2467. #ifdef UNICODE
  2468. #define lineInitializeEx lineInitializeExW
  2469. #endif
  2470. #define lineInitializeExA lineInitializeEx
  2471. #endif
  2472. LONG
  2473. WINAPI
  2474. lineMakeCall(
  2475. HLINE hLine,
  2476. LPHCALL lphCall,
  2477. LPCSTR lpszDestAddress,
  2478. DWORD dwCountryCode,
  2479. LPLINECALLPARAMS const lpCallParams
  2480. );
  2481. #if WIN32
  2482. LONG
  2483. WINAPI
  2484. lineMakeCallW(
  2485. HLINE hLine,
  2486. LPHCALL lphCall,
  2487. LPCTSTR lpszDestAddress,
  2488. DWORD dwCountryCode,
  2489. LPLINECALLPARAMS const lpCallParams
  2490. );
  2491. #ifdef UNICODE
  2492. #define lineMakeCall lineMakeCallW
  2493. #endif
  2494. #define lineMakeCallA lineMakeCall
  2495. #endif
  2496. LONG
  2497. WINAPI
  2498. lineMonitorDigits(
  2499. HCALL hCall,
  2500. DWORD dwDigitModes
  2501. );
  2502. LONG
  2503. WINAPI
  2504. lineMonitorMedia(
  2505. HCALL hCall,
  2506. DWORD dwMediaModes
  2507. );
  2508. LONG
  2509. WINAPI
  2510. lineMonitorTones(
  2511. HCALL hCall,
  2512. LPLINEMONITORTONE const lpToneList,
  2513. DWORD dwNumEntries
  2514. );
  2515. LONG
  2516. WINAPI
  2517. lineNegotiateAPIVersion(
  2518. HLINEAPP hLineApp,
  2519. DWORD dwDeviceID,
  2520. DWORD dwAPILowVersion,
  2521. DWORD dwAPIHighVersion,
  2522. LPDWORD lpdwAPIVersion,
  2523. LPLINEEXTENSIONID lpExtensionID
  2524. );
  2525. LONG
  2526. WINAPI
  2527. lineNegotiateExtVersion(
  2528. HLINEAPP hLineApp,
  2529. DWORD dwDeviceID,
  2530. DWORD dwAPIVersion,
  2531. DWORD dwExtLowVersion,
  2532. DWORD dwExtHighVersion,
  2533. LPDWORD lpdwExtVersion
  2534. );
  2535. LONG
  2536. WINAPI
  2537. lineOpen(
  2538. HLINEAPP hLineApp,
  2539. DWORD dwDeviceID,
  2540. LPHLINE lphLine,
  2541. DWORD dwAPIVersion,
  2542. DWORD dwExtVersion,
  2543. DWORD dwCallbackInstance,
  2544. DWORD dwPrivileges,
  2545. DWORD dwMediaModes,
  2546. LPLINECALLPARAMS const lpCallParams
  2547. );
  2548. #if WIN32
  2549. LONG
  2550. WINAPI
  2551. lineOpenW(
  2552. HLINEAPP hLineApp,
  2553. DWORD dwDeviceID,
  2554. LPHLINE lphLine,
  2555. DWORD dwAPIVersion,
  2556. DWORD dwExtVersion,
  2557. DWORD dwCallbackInstance,
  2558. DWORD dwPrivileges,
  2559. DWORD dwMediaModes,
  2560. LPLINECALLPARAMS const lpCallParams
  2561. );
  2562. #ifdef UNICODE
  2563. #define lineOpen lineOpenW
  2564. #endif
  2565. #define lineOpenA lineOpen
  2566. #endif
  2567. LONG
  2568. WINAPI
  2569. linePark(
  2570. HCALL hCall,
  2571. DWORD dwParkMode,
  2572. LPCSTR lpszDirAddress,
  2573. LPVARSTRING lpNonDirAddress
  2574. );
  2575. #if WIN32
  2576. LONG
  2577. WINAPI
  2578. lineParkW(
  2579. HCALL hCall,
  2580. DWORD dwParkMode,
  2581. LPCTSTR lpszDirAddress,
  2582. LPVARSTRING lpNonDirAddress
  2583. );
  2584. #ifdef UNICODE
  2585. #define linePark lineParkW
  2586. #endif
  2587. #define lineParkA linePark
  2588. #endif
  2589. LONG
  2590. WINAPI
  2591. linePickup(
  2592. HLINE hLine,
  2593. DWORD dwAddressID,
  2594. LPHCALL lphCall,
  2595. LPCSTR lpszDestAddress,
  2596. LPCSTR lpszGroupID
  2597. );
  2598. #if WIN32
  2599. LONG
  2600. WINAPI
  2601. linePickupW(
  2602. HLINE hLine,
  2603. DWORD dwAddressID,
  2604. LPHCALL lphCall,
  2605. LPCTSTR lpszDestAddress,
  2606. LPCTSTR lpszGroupID
  2607. );
  2608. #ifdef UNICODE
  2609. #define linePickup linePickupW
  2610. #endif
  2611. #define linePickupA linePickup
  2612. #endif
  2613. LONG
  2614. WINAPI
  2615. linePrepareAddToConference(
  2616. HCALL hConfCall,
  2617. LPHCALL lphConsultCall,
  2618. LPLINECALLPARAMS const lpCallParams
  2619. );
  2620. #if WIN32
  2621. LONG
  2622. WINAPI
  2623. linePrepareAddToConferenceW(
  2624. HCALL hConfCall,
  2625. LPHCALL lphConsultCall,
  2626. LPLINECALLPARAMS const lpCallParams
  2627. );
  2628. #ifdef UNICODE
  2629. #define linePrepareAddToConference linePrepareAddToConferenceW
  2630. #endif
  2631. #define linePrepareAddToConferenceA linePrepareAddToConference
  2632. #endif
  2633. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2634. LONG
  2635. WINAPI
  2636. lineProxyMessage( // TAPI v2.0
  2637. HLINE hLine,
  2638. HCALL hCall,
  2639. DWORD dwMsg,
  2640. DWORD dwParam1,
  2641. DWORD dwParam2,
  2642. DWORD dwParam3
  2643. );
  2644. LONG
  2645. WINAPI
  2646. lineProxyResponse( // TAPI v2.0
  2647. HLINE hLine,
  2648. LPLINEPROXYREQUEST lpProxyRequest,
  2649. DWORD dwResult
  2650. );
  2651. #endif
  2652. LONG
  2653. WINAPI
  2654. lineRedirect(
  2655. HCALL hCall,
  2656. LPCSTR lpszDestAddress,
  2657. DWORD dwCountryCode
  2658. );
  2659. #if WIN32
  2660. LONG
  2661. WINAPI
  2662. lineRedirectW(
  2663. HCALL hCall,
  2664. LPCTSTR lpszDestAddress,
  2665. DWORD dwCountryCode
  2666. );
  2667. #ifdef UNICODE
  2668. #define lineRedirect lineRedirectW
  2669. #endif
  2670. #define lineRedirectA lineRedirect
  2671. #endif
  2672. LONG
  2673. WINAPI
  2674. lineRegisterRequestRecipient(
  2675. HLINEAPP hLineApp,
  2676. DWORD dwRegistrationInstance,
  2677. DWORD dwRequestMode,
  2678. DWORD bEnable
  2679. );
  2680. LONG
  2681. WINAPI
  2682. lineReleaseUserUserInfo( // TAPI v1.4
  2683. HCALL hCall
  2684. );
  2685. LONG
  2686. WINAPI
  2687. lineRemoveFromConference(
  2688. HCALL hCall
  2689. );
  2690. LONG
  2691. WINAPI
  2692. lineRemoveProvider( // TAPI v1.4
  2693. DWORD dwPermanentProviderID,
  2694. HWND hwndOwner
  2695. );
  2696. LONG
  2697. WINAPI
  2698. lineSecureCall(
  2699. HCALL hCall
  2700. );
  2701. LONG
  2702. WINAPI
  2703. lineSendUserUserInfo(
  2704. HCALL hCall,
  2705. LPCSTR lpsUserUserInfo,
  2706. DWORD dwSize
  2707. );
  2708. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2709. LONG
  2710. WINAPI
  2711. lineSetAgentActivity( // TAPI v2.0
  2712. HLINE hLine,
  2713. DWORD dwAddressID,
  2714. DWORD dwActivityID
  2715. );
  2716. LONG
  2717. WINAPI
  2718. lineSetAgentGroup( // TAPI v2.0
  2719. HLINE hLine,
  2720. DWORD dwAddressID,
  2721. LPLINEAGENTGROUPLIST lpAgentGroupList
  2722. );
  2723. LONG
  2724. WINAPI
  2725. lineSetAgentState( // TAPI v2.0
  2726. HLINE hLine,
  2727. DWORD dwAddressID,
  2728. DWORD dwAgentState,
  2729. DWORD dwNextAgentState
  2730. );
  2731. #endif
  2732. LONG
  2733. WINAPI
  2734. lineSetAppPriority( // TAPI v1.4
  2735. LPCSTR lpszAppFilename,
  2736. DWORD dwMediaMode,
  2737. LPLINEEXTENSIONID lpExtensionID,
  2738. DWORD dwRequestMode,
  2739. LPCSTR lpszExtensionName,
  2740. DWORD dwPriority
  2741. );
  2742. #if WIN32
  2743. LONG
  2744. WINAPI
  2745. lineSetAppPriorityW( // TAPI v1.4
  2746. LPCTSTR lpszAppFilename,
  2747. DWORD dwMediaMode,
  2748. LPLINEEXTENSIONID lpExtensionID,
  2749. DWORD dwRequestMode,
  2750. LPCTSTR lpszExtensionName,
  2751. DWORD dwPriority
  2752. );
  2753. #ifdef UNICODE
  2754. #define lineSetAppPriority lineSetAppPriorityW
  2755. #endif
  2756. #define lineSetAppPriorityA lineSetAppPriority
  2757. #endif
  2758. LONG
  2759. WINAPI
  2760. lineSetAppSpecific(
  2761. HCALL hCall,
  2762. DWORD dwAppSpecific
  2763. );
  2764. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2765. LONG
  2766. WINAPI
  2767. lineSetCallData( // TAPI v2.0
  2768. HCALL hCall,
  2769. LPVOID lpCallData,
  2770. DWORD dwSize
  2771. );
  2772. #endif
  2773. LONG
  2774. WINAPI
  2775. lineSetCallParams(
  2776. HCALL hCall,
  2777. DWORD dwBearerMode,
  2778. DWORD dwMinRate,
  2779. DWORD dwMaxRate,
  2780. LPLINEDIALPARAMS const lpDialParams
  2781. );
  2782. LONG
  2783. WINAPI
  2784. lineSetCallPrivilege(
  2785. HCALL hCall,
  2786. DWORD dwCallPrivilege
  2787. );
  2788. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2789. LONG
  2790. WINAPI
  2791. lineSetCallQualityOfService( // TAPI v2.0
  2792. HCALL hCall,
  2793. LPVOID lpSendingFlowspec,
  2794. DWORD dwSendingFlowspecSize,
  2795. LPVOID lpReceivingFlowspec,
  2796. DWORD dwReceivingFlowspecSize
  2797. );
  2798. LONG
  2799. WINAPI
  2800. lineSetCallTreatment( // TAPI v2.0
  2801. HCALL hCall,
  2802. DWORD dwTreatment
  2803. );
  2804. #endif
  2805. LONG
  2806. WINAPI
  2807. lineSetCurrentLocation(
  2808. HLINEAPP hLineApp,
  2809. DWORD dwLocation
  2810. );
  2811. LONG
  2812. WINAPI
  2813. lineSetDevConfig(
  2814. DWORD dwDeviceID,
  2815. LPVOID const lpDeviceConfig,
  2816. DWORD dwSize,
  2817. LPCSTR lpszDeviceClass
  2818. );
  2819. #if WIN32
  2820. LONG
  2821. WINAPI
  2822. lineSetDevConfigW(
  2823. DWORD dwDeviceID,
  2824. LPVOID const lpDeviceConfig,
  2825. DWORD dwSize,
  2826. LPCTSTR lpszDeviceClass
  2827. );
  2828. #ifdef UNICODE
  2829. #define lineSetDevConfig lineSetDevConfigW
  2830. #endif
  2831. #define lineSetDevConfigA lineSetDevConfig
  2832. #endif
  2833. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2834. LONG
  2835. WINAPI
  2836. lineSetLineDevStatus( // TAPI v2.0
  2837. HLINE hLine,
  2838. DWORD dwStatusToChange,
  2839. DWORD fStatus
  2840. );
  2841. #endif
  2842. LONG
  2843. WINAPI
  2844. lineSetMediaControl(
  2845. HLINE hLine,
  2846. DWORD dwAddressID,
  2847. HCALL hCall,
  2848. DWORD dwSelect,
  2849. LPLINEMEDIACONTROLDIGIT const lpDigitList,
  2850. DWORD dwDigitNumEntries,
  2851. LPLINEMEDIACONTROLMEDIA const lpMediaList,
  2852. DWORD dwMediaNumEntries,
  2853. LPLINEMEDIACONTROLTONE const lpToneList,
  2854. DWORD dwToneNumEntries,
  2855. LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
  2856. DWORD dwCallStateNumEntries
  2857. );
  2858. LONG
  2859. WINAPI
  2860. lineSetMediaMode(
  2861. HCALL hCall,
  2862. DWORD dwMediaModes
  2863. );
  2864. LONG
  2865. WINAPI
  2866. lineSetNumRings(
  2867. HLINE hLine,
  2868. DWORD dwAddressID,
  2869. DWORD dwNumRings
  2870. );
  2871. LONG
  2872. WINAPI
  2873. lineSetStatusMessages(
  2874. HLINE hLine,
  2875. DWORD dwLineStates,
  2876. DWORD dwAddressStates
  2877. );
  2878. LONG
  2879. WINAPI
  2880. lineSetTerminal(
  2881. HLINE hLine,
  2882. DWORD dwAddressID,
  2883. HCALL hCall,
  2884. DWORD dwSelect,
  2885. DWORD dwTerminalModes,
  2886. DWORD dwTerminalID,
  2887. DWORD bEnable
  2888. );
  2889. LONG
  2890. WINAPI
  2891. lineSetTollList(
  2892. HLINEAPP hLineApp,
  2893. DWORD dwDeviceID,
  2894. LPCSTR lpszAddressIn,
  2895. DWORD dwTollListOption
  2896. );
  2897. #if WIN32
  2898. LONG
  2899. WINAPI
  2900. lineSetTollListW(
  2901. HLINEAPP hLineApp,
  2902. DWORD dwDeviceID,
  2903. LPCTSTR lpszAddressInW,
  2904. DWORD dwTollListOption
  2905. );
  2906. #ifdef UNICODE
  2907. #define lineSetTollList lineSetTollListW
  2908. #endif
  2909. #define lineSetTollListA lineSetTollList
  2910. #endif
  2911. LONG
  2912. WINAPI
  2913. lineSetupConference(
  2914. HCALL hCall,
  2915. HLINE hLine,
  2916. LPHCALL lphConfCall,
  2917. LPHCALL lphConsultCall,
  2918. DWORD dwNumParties,
  2919. LPLINECALLPARAMS const lpCallParams
  2920. );
  2921. #if WIN32
  2922. LONG
  2923. WINAPI
  2924. lineSetupConferenceW(
  2925. HCALL hCall,
  2926. HLINE hLine,
  2927. LPHCALL lphConfCall,
  2928. LPHCALL lphConsultCall,
  2929. DWORD dwNumParties,
  2930. LPLINECALLPARAMS const lpCallParams
  2931. );
  2932. #ifdef UNICODE
  2933. #define lineSetupConference lineSetupConferenceW
  2934. #endif
  2935. #define lineSetupConferenceA lineSetupConference
  2936. #endif
  2937. LONG
  2938. WINAPI
  2939. lineSetupTransfer(
  2940. HCALL hCall,
  2941. LPHCALL lphConsultCall,
  2942. LPLINECALLPARAMS const lpCallParams
  2943. );
  2944. #if WIN32
  2945. LONG
  2946. WINAPI
  2947. lineSetupTransferW(
  2948. HCALL hCall,
  2949. LPHCALL lphConsultCall,
  2950. LPLINECALLPARAMS const lpCallParams
  2951. );
  2952. #ifdef UNICODE
  2953. #define lineSetupTransfer lineSetupTransferW
  2954. #endif
  2955. #define lineSetupTransferA lineSetupTransfer
  2956. #endif
  2957. LONG
  2958. WINAPI
  2959. lineShutdown(
  2960. HLINEAPP hLineApp
  2961. );
  2962. LONG
  2963. WINAPI
  2964. lineSwapHold(
  2965. HCALL hActiveCall,
  2966. HCALL hHeldCall
  2967. );
  2968. LONG
  2969. WINAPI
  2970. lineTranslateAddress(
  2971. HLINEAPP hLineApp,
  2972. DWORD dwDeviceID,
  2973. DWORD dwAPIVersion,
  2974. LPCSTR lpszAddressIn,
  2975. DWORD dwCard,
  2976. DWORD dwTranslateOptions,
  2977. LPLINETRANSLATEOUTPUT lpTranslateOutput
  2978. );
  2979. #if WIN32
  2980. LONG
  2981. WINAPI
  2982. lineTranslateAddressW(
  2983. HLINEAPP hLineApp,
  2984. DWORD dwDeviceID,
  2985. DWORD dwAPIVersion,
  2986. LPCTSTR lpszAddressIn,
  2987. DWORD dwCard,
  2988. DWORD dwTranslateOptions,
  2989. LPLINETRANSLATEOUTPUT lpTranslateOutput
  2990. );
  2991. #ifdef UNICODE
  2992. #define lineTranslateAddress lineTranslateAddressW
  2993. #endif
  2994. #define lineTranslateAddressA lineTranslateAddress
  2995. #endif
  2996. LONG
  2997. WINAPI
  2998. lineTranslateDialog( // TAPI v1.4
  2999. HLINEAPP hLineApp,
  3000. DWORD dwDeviceID,
  3001. DWORD dwAPIVersion,
  3002. HWND hwndOwner,
  3003. LPCSTR lpszAddressIn
  3004. );
  3005. #if WIN32
  3006. LONG
  3007. WINAPI
  3008. lineTranslateDialogW( // TAPI v2.0
  3009. HLINEAPP hLineApp,
  3010. DWORD dwDeviceID,
  3011. DWORD dwAPIVersion,
  3012. HWND hwndOwner,
  3013. LPCTSTR lpszAddressIn
  3014. );
  3015. #ifdef UNICODE
  3016. #define lineTranslateDialog lineTranslateDialogW
  3017. #endif
  3018. #define lineTranslateDialogA lineTranslateDialog
  3019. #endif
  3020. LONG
  3021. WINAPI
  3022. lineUncompleteCall(
  3023. HLINE hLine,
  3024. DWORD dwCompletionID
  3025. );
  3026. LONG
  3027. WINAPI
  3028. lineUnhold(
  3029. HCALL hCall
  3030. );
  3031. LONG
  3032. WINAPI
  3033. lineUnpark(
  3034. HLINE hLine,
  3035. DWORD dwAddressID,
  3036. LPHCALL lphCall,
  3037. LPCSTR lpszDestAddress
  3038. );
  3039. #if WIN32
  3040. LONG
  3041. WINAPI
  3042. lineUnparkW(
  3043. HLINE hLine,
  3044. DWORD dwAddressID,
  3045. LPHCALL lphCall,
  3046. LPCTSTR lpszDestAddress
  3047. );
  3048. #ifdef UNICODE
  3049. #define lineUnpark lineUnparkW
  3050. #endif
  3051. #define lineUnparkA lineUnpark
  3052. #endif
  3053. LONG
  3054. WINAPI
  3055. phoneClose(
  3056. HPHONE hPhone
  3057. );
  3058. LONG
  3059. WINAPI
  3060. phoneConfigDialog(
  3061. DWORD dwDeviceID,
  3062. HWND hwndOwner,
  3063. LPCSTR lpszDeviceClass
  3064. );
  3065. #if WIN32
  3066. LONG
  3067. WINAPI
  3068. phoneConfigDialogW(
  3069. DWORD dwDeviceID,
  3070. HWND hwndOwner,
  3071. LPCTSTR lpszDeviceClass
  3072. );
  3073. #ifdef UNICODE
  3074. #define phoneConfigDialog phoneConfigDialogW
  3075. #endif
  3076. #define phoneConfigDialogA phoneConfigDialog
  3077. #endif
  3078. LONG
  3079. WINAPI
  3080. phoneDevSpecific(
  3081. HPHONE hPhone,
  3082. LPVOID lpParams,
  3083. DWORD dwSize
  3084. );
  3085. LONG
  3086. WINAPI
  3087. phoneGetButtonInfo(
  3088. HPHONE hPhone,
  3089. DWORD dwButtonLampID,
  3090. LPPHONEBUTTONINFO lpButtonInfo
  3091. );
  3092. #if WIN32
  3093. LONG
  3094. WINAPI
  3095. phoneGetButtonInfoW(
  3096. HPHONE hPhone,
  3097. DWORD dwButtonLampID,
  3098. LPPHONEBUTTONINFO lpButtonInfo
  3099. );
  3100. #ifdef UNICODE
  3101. #define phoneGetButtonInfo phoneGetButtonInfoW
  3102. #endif
  3103. #define phoneGetButtonInfoA phoneGetButtonInfo
  3104. #endif
  3105. LONG
  3106. WINAPI
  3107. phoneGetData(
  3108. HPHONE hPhone,
  3109. DWORD dwDataID,
  3110. LPVOID lpData,
  3111. DWORD dwSize
  3112. );
  3113. LONG
  3114. WINAPI
  3115. phoneGetDevCaps(
  3116. HPHONEAPP hPhoneApp,
  3117. DWORD dwDeviceID,
  3118. DWORD dwAPIVersion,
  3119. DWORD dwExtVersion,
  3120. LPPHONECAPS lpPhoneCaps
  3121. );
  3122. #if WIN32
  3123. LONG
  3124. WINAPI
  3125. phoneGetDevCapsW(
  3126. HPHONEAPP hPhoneApp,
  3127. DWORD dwDeviceID,
  3128. DWORD dwAPIVersion,
  3129. DWORD dwExtVersion,
  3130. LPPHONECAPS lpPhoneCaps
  3131. );
  3132. #ifdef UNICODE
  3133. #define phoneGetDevCaps phoneGetDevCapsW
  3134. #endif
  3135. #define phoneGetDevCapsA phoneGetDevCaps
  3136. #endif
  3137. LONG
  3138. WINAPI
  3139. phoneGetDisplay(
  3140. HPHONE hPhone,
  3141. LPVARSTRING lpDisplay
  3142. );
  3143. LONG
  3144. WINAPI
  3145. phoneGetGain(
  3146. HPHONE hPhone,
  3147. DWORD dwHookSwitchDev,
  3148. LPDWORD lpdwGain
  3149. );
  3150. LONG
  3151. WINAPI
  3152. phoneGetHookSwitch(
  3153. HPHONE hPhone,
  3154. LPDWORD lpdwHookSwitchDevs
  3155. );
  3156. LONG
  3157. WINAPI
  3158. phoneGetIcon(
  3159. DWORD dwDeviceID,
  3160. LPCSTR lpszDeviceClass,
  3161. LPHICON lphIcon
  3162. );
  3163. #if WIN32
  3164. LONG
  3165. WINAPI
  3166. phoneGetIconW(
  3167. DWORD dwDeviceID,
  3168. LPCTSTR lpszDeviceClass,
  3169. LPHICON lphIcon
  3170. );
  3171. #ifdef UNICODE
  3172. #define phoneGetIcon phoneGetIconW
  3173. #endif
  3174. #define phoneGetIconA phoneGetIcon
  3175. #endif
  3176. LONG
  3177. WINAPI
  3178. phoneGetID(
  3179. HPHONE hPhone,
  3180. LPVARSTRING lpDeviceID,
  3181. LPCSTR lpszDeviceClass
  3182. );
  3183. #if WIN32
  3184. LONG
  3185. WINAPI
  3186. phoneGetIDW(
  3187. HPHONE hPhone,
  3188. LPVARSTRING lpDeviceID,
  3189. LPCTSTR lpszDeviceClass
  3190. );
  3191. #ifdef UNICODE
  3192. #define phoneGetID phoneGetIDW
  3193. #endif
  3194. #define phoneGetIDA phoneGetID
  3195. #endif
  3196. LONG
  3197. WINAPI
  3198. phoneGetLamp(
  3199. HPHONE hPhone,
  3200. DWORD dwButtonLampID,
  3201. LPDWORD lpdwLampMode
  3202. );
  3203. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3204. LONG
  3205. WINAPI
  3206. phoneGetMessage( // TAPI v2.0
  3207. HPHONEAPP hPhoneApp,
  3208. LPPHONEMESSAGE lpMessage,
  3209. DWORD dwTimeout
  3210. );
  3211. #endif
  3212. LONG
  3213. WINAPI
  3214. phoneGetRing(
  3215. HPHONE hPhone,
  3216. LPDWORD lpdwRingMode,
  3217. LPDWORD lpdwVolume
  3218. );
  3219. LONG
  3220. WINAPI
  3221. phoneGetStatus(
  3222. HPHONE hPhone,
  3223. LPPHONESTATUS lpPhoneStatus
  3224. );
  3225. #if WIN32
  3226. LONG
  3227. WINAPI
  3228. phoneGetStatusW(
  3229. HPHONE hPhone,
  3230. LPPHONESTATUS lpPhoneStatus
  3231. );
  3232. #ifdef UNICODE
  3233. #define phoneGetStatus phoneGetStatusW
  3234. #endif
  3235. #define phoneGetStatusA phoneGetStatus
  3236. #endif
  3237. LONG
  3238. WINAPI
  3239. phoneGetStatusMessages(
  3240. HPHONE hPhone,
  3241. LPDWORD lpdwPhoneStates,
  3242. LPDWORD lpdwButtonModes,
  3243. LPDWORD lpdwButtonStates
  3244. );
  3245. LONG
  3246. WINAPI
  3247. phoneGetVolume(
  3248. HPHONE hPhone,
  3249. DWORD dwHookSwitchDev,
  3250. LPDWORD lpdwVolume
  3251. );
  3252. LONG
  3253. WINAPI
  3254. phoneInitialize(
  3255. LPHPHONEAPP lphPhoneApp,
  3256. HINSTANCE hInstance,
  3257. PHONECALLBACK lpfnCallback,
  3258. LPCSTR lpszAppName,
  3259. LPDWORD lpdwNumDevs
  3260. );
  3261. #if WIN32
  3262. LONG
  3263. WINAPI
  3264. phoneInitializeW(
  3265. LPHPHONEAPP lphPhoneApp,
  3266. HINSTANCE hInstance,
  3267. PHONECALLBACK lpfnCallback,
  3268. LPCTSTR lpszAppNameW,
  3269. LPDWORD lpdwNumDevs
  3270. );
  3271. #ifdef UNICODE
  3272. #define phoneInitialize phoneInitializeW
  3273. #endif
  3274. #define phoneInitializeA phoneInitialize
  3275. #endif
  3276. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3277. LONG
  3278. WINAPI
  3279. phoneInitializeEx( // TAPI v2.0
  3280. LPHPHONEAPP lphPhoneApp,
  3281. HINSTANCE hInstance,
  3282. PHONECALLBACK lpfnCallback,
  3283. LPCSTR lpszFriendlyAppName,
  3284. LPDWORD lpdwNumDevs,
  3285. LPDWORD lpdwAPIVersion,
  3286. LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams
  3287. );
  3288. LONG
  3289. WINAPI
  3290. phoneInitializeExW( // TAPI v2.0
  3291. LPHPHONEAPP lphPhoneApp,
  3292. HINSTANCE hInstance,
  3293. PHONECALLBACK lpfnCallback,
  3294. LPCTSTR lpszFriendlyAppName,
  3295. LPDWORD lpdwNumDevs,
  3296. LPDWORD lpdwAPIVersion,
  3297. LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams
  3298. );
  3299. #ifdef UNICODE
  3300. #define phoneInitializeEx phoneInitializeExW
  3301. #endif
  3302. #define phoneInitializeExA phoneInitializeEx
  3303. #endif
  3304. LONG
  3305. WINAPI
  3306. phoneNegotiateAPIVersion(
  3307. HPHONEAPP hPhoneApp,
  3308. DWORD dwDeviceID,
  3309. DWORD dwAPILowVersion,
  3310. DWORD dwAPIHighVersion,
  3311. LPDWORD lpdwAPIVersion,
  3312. LPPHONEEXTENSIONID lpExtensionID
  3313. );
  3314. LONG
  3315. WINAPI
  3316. phoneNegotiateExtVersion(
  3317. HPHONEAPP hPhoneApp,
  3318. DWORD dwDeviceID,
  3319. DWORD dwAPIVersion,
  3320. DWORD dwExtLowVersion,
  3321. DWORD dwExtHighVersion,
  3322. LPDWORD lpdwExtVersion
  3323. );
  3324. LONG
  3325. WINAPI
  3326. phoneOpen(
  3327. HPHONEAPP hPhoneApp,
  3328. DWORD dwDeviceID,
  3329. LPHPHONE lphPhone,
  3330. DWORD dwAPIVersion,
  3331. DWORD dwExtVersion,
  3332. DWORD dwCallbackInstance,
  3333. DWORD dwPrivilege
  3334. );
  3335. LONG
  3336. WINAPI
  3337. phoneSetButtonInfo(
  3338. HPHONE hPhone,
  3339. DWORD dwButtonLampID,
  3340. LPPHONEBUTTONINFO const lpButtonInfo
  3341. );
  3342. #if WIN32
  3343. LONG
  3344. WINAPI
  3345. phoneSetButtonInfoW(
  3346. HPHONE hPhone,
  3347. DWORD dwButtonLampID,
  3348. LPPHONEBUTTONINFO const lpButtonInfo
  3349. );
  3350. #ifdef UNICODE
  3351. #define phoneSetButtonInfo phoneSetButtonInfoW
  3352. #endif
  3353. #define phoneSetButtonInfoA phoneSetButtonInfo
  3354. #endif
  3355. LONG
  3356. WINAPI
  3357. phoneSetData(
  3358. HPHONE hPhone,
  3359. DWORD dwDataID,
  3360. LPVOID const lpData,
  3361. DWORD dwSize
  3362. );
  3363. LONG
  3364. WINAPI
  3365. phoneSetDisplay(
  3366. HPHONE hPhone,
  3367. DWORD dwRow,
  3368. DWORD dwColumn,
  3369. LPCSTR lpsDisplay,
  3370. DWORD dwSize
  3371. );
  3372. LONG
  3373. WINAPI
  3374. phoneSetGain(
  3375. HPHONE hPhone,
  3376. DWORD dwHookSwitchDev,
  3377. DWORD dwGain
  3378. );
  3379. LONG
  3380. WINAPI
  3381. phoneSetHookSwitch(
  3382. HPHONE hPhone,
  3383. DWORD dwHookSwitchDevs,
  3384. DWORD dwHookSwitchMode
  3385. );
  3386. LONG
  3387. WINAPI
  3388. phoneSetLamp(
  3389. HPHONE hPhone,
  3390. DWORD dwButtonLampID,
  3391. DWORD dwLampMode
  3392. );
  3393. LONG
  3394. WINAPI
  3395. phoneSetRing(
  3396. HPHONE hPhone,
  3397. DWORD dwRingMode,
  3398. DWORD dwVolume
  3399. );
  3400. LONG
  3401. WINAPI
  3402. phoneSetStatusMessages(
  3403. HPHONE hPhone,
  3404. DWORD dwPhoneStates,
  3405. DWORD dwButtonModes,
  3406. DWORD dwButtonStates
  3407. );
  3408. LONG
  3409. WINAPI
  3410. phoneSetVolume(
  3411. HPHONE hPhone,
  3412. DWORD dwHookSwitchDev,
  3413. DWORD dwVolume
  3414. );
  3415. LONG
  3416. WINAPI
  3417. phoneShutdown(
  3418. HPHONEAPP hPhoneApp
  3419. );
  3420. LONG
  3421. WINAPI
  3422. tapiGetLocationInfo(
  3423. LPSTR lpszCountryCode,
  3424. LPSTR lpszCityCode
  3425. );
  3426. #if WIN32
  3427. LONG
  3428. WINAPI
  3429. tapiGetLocationInfoW(
  3430. LPTSTR lpszCountryCodeW,
  3431. LPTSTR lpszCityCodeW
  3432. );
  3433. #ifdef UNICODE
  3434. #define tapiGetLocationInfo tapiGetLocationInfoW
  3435. #else
  3436. #define tapiGetLocationInfoA tapiGetLocationInfo
  3437. #endif
  3438. #endif
  3439. LONG
  3440. WINAPI
  3441. tapiRequestDrop(
  3442. HWND hwnd,
  3443. WPARAM wRequestID
  3444. );
  3445. LONG
  3446. WINAPI
  3447. tapiRequestMakeCall(
  3448. LPCSTR lpszDestAddress,
  3449. LPCSTR lpszAppName,
  3450. LPCSTR lpszCalledParty,
  3451. LPCSTR lpszComment
  3452. );
  3453. #if WIN32
  3454. LONG
  3455. WINAPI
  3456. tapiRequestMakeCallW(
  3457. LPCTSTR lpszDestAddress,
  3458. LPCTSTR lpszAppName,
  3459. LPCTSTR lpszCalledParty,
  3460. LPCTSTR lpszComment
  3461. );
  3462. #ifdef UNICODE
  3463. #define tapiRequestMakeCall tapiRequestMakeCallW
  3464. #endif
  3465. #define tapiRequestMakeCallA tapiRequestMakeCall
  3466. #endif
  3467. LONG
  3468. WINAPI
  3469. tapiRequestMediaCall(
  3470. HWND hwnd,
  3471. WPARAM wRequestID,
  3472. LPCSTR lpszDeviceClass,
  3473. LPCSTR lpDeviceID,
  3474. DWORD dwSize,
  3475. DWORD dwSecure,
  3476. LPCSTR lpszDestAddress,
  3477. LPCSTR lpszAppName,
  3478. LPCSTR lpszCalledParty,
  3479. LPCSTR lpszComment
  3480. );
  3481. #if WIN32
  3482. LONG
  3483. WINAPI
  3484. tapiRequestMediaCallW(
  3485. HWND hwnd,
  3486. WPARAM wRequestID,
  3487. LPCTSTR lpszDeviceClass,
  3488. LPCTSTR lpDeviceID,
  3489. DWORD dwSize,
  3490. DWORD dwSecure,
  3491. LPCTSTR lpszDestAddress,
  3492. LPCTSTR lpszAppName,
  3493. LPCTSTR lpszCalledParty,
  3494. LPCTSTR lpszComment
  3495. );
  3496. #ifdef UNICODE
  3497. #define tapiRequestMediaCall tapiRequestMediaCallW
  3498. #endif
  3499. #define tapiRequestMediaCallA tapiRequestMediaCall
  3500. #endif
  3501. #ifdef __cplusplus
  3502. } /* End of extern "C" { */
  3503. #endif /* __cplusplus */
  3504. #pragma pack()
  3505. #endif // TAPI_H