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

4182 lines
130 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 REALLY_USE_UNICODE
  1542. #ifdef UNICODE
  1543. #define LINEREQMAKECALL LINEREQMAKECALLW
  1544. #endif
  1545. #endif
  1546. typedef struct linereqmediacall_tag
  1547. {
  1548. HWND hWnd;
  1549. WPARAM wRequestID;
  1550. char szDeviceClass[TAPIMAXDEVICECLASSSIZE];
  1551. unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
  1552. DWORD dwSize;
  1553. DWORD dwSecure;
  1554. char szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1555. char szAppName[TAPIMAXAPPNAMESIZE];
  1556. char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1557. char szComment[TAPIMAXCOMMENTSIZE];
  1558. } LINEREQMEDIACALL, FAR *LPLINEREQMEDIACALL;
  1559. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1560. typedef struct linereqmediacallW_tag
  1561. {
  1562. HWND hWnd;
  1563. WPARAM wRequestID;
  1564. WCHAR szDeviceClass[TAPIMAXDEVICECLASSSIZE];
  1565. unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
  1566. DWORD dwSize;
  1567. DWORD dwSecure;
  1568. WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE];
  1569. WCHAR szAppName[TAPIMAXAPPNAMESIZE];
  1570. WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE];
  1571. WCHAR szComment[TAPIMAXCOMMENTSIZE];
  1572. } LINEREQMEDIACALLW, FAR *LPLINEREQMEDIACALLW;
  1573. #endif
  1574. #ifdef REALLY_USE_UNICODE
  1575. #ifdef UNICODE
  1576. #define LINEREQMEDIACALL LINEREQMEDIACALLW
  1577. #endif
  1578. #endif
  1579. typedef struct linetermcaps_tag
  1580. {
  1581. DWORD dwTermDev;
  1582. DWORD dwTermModes;
  1583. DWORD dwTermSharing;
  1584. } LINETERMCAPS, FAR *LPLINETERMCAPS;
  1585. typedef struct linetranslatecaps_tag
  1586. {
  1587. DWORD dwTotalSize;
  1588. DWORD dwNeededSize;
  1589. DWORD dwUsedSize;
  1590. DWORD dwNumLocations;
  1591. DWORD dwLocationListSize;
  1592. DWORD dwLocationListOffset;
  1593. DWORD dwCurrentLocationID;
  1594. DWORD dwNumCards;
  1595. DWORD dwCardListSize;
  1596. DWORD dwCardListOffset;
  1597. DWORD dwCurrentPreferredCardID;
  1598. } LINETRANSLATECAPS, FAR *LPLINETRANSLATECAPS;
  1599. typedef struct linetranslateoutput_tag
  1600. {
  1601. DWORD dwTotalSize;
  1602. DWORD dwNeededSize;
  1603. DWORD dwUsedSize;
  1604. DWORD dwDialableStringSize;
  1605. DWORD dwDialableStringOffset;
  1606. DWORD dwDisplayableStringSize;
  1607. DWORD dwDisplayableStringOffset;
  1608. DWORD dwCurrentCountry;
  1609. DWORD dwDestCountry;
  1610. DWORD dwTranslateResults;
  1611. } LINETRANSLATEOUTPUT, FAR *LPLINETRANSLATEOUTPUT;
  1612. typedef struct phonebuttoninfo_tag
  1613. {
  1614. DWORD dwTotalSize;
  1615. DWORD dwNeededSize;
  1616. DWORD dwUsedSize;
  1617. DWORD dwButtonMode;
  1618. DWORD dwButtonFunction;
  1619. DWORD dwButtonTextSize;
  1620. DWORD dwButtonTextOffset;
  1621. DWORD dwDevSpecificSize;
  1622. DWORD dwDevSpecificOffset;
  1623. DWORD dwButtonState; // TAPI v1.4
  1624. } PHONEBUTTONINFO, FAR *LPPHONEBUTTONINFO;
  1625. typedef struct phonecaps_tag
  1626. {
  1627. DWORD dwTotalSize;
  1628. DWORD dwNeededSize;
  1629. DWORD dwUsedSize;
  1630. DWORD dwProviderInfoSize;
  1631. DWORD dwProviderInfoOffset;
  1632. DWORD dwPhoneInfoSize;
  1633. DWORD dwPhoneInfoOffset;
  1634. DWORD dwPermanentPhoneID;
  1635. DWORD dwPhoneNameSize;
  1636. DWORD dwPhoneNameOffset;
  1637. DWORD dwStringFormat;
  1638. DWORD dwPhoneStates;
  1639. DWORD dwHookSwitchDevs;
  1640. DWORD dwHandsetHookSwitchModes;
  1641. DWORD dwSpeakerHookSwitchModes;
  1642. DWORD dwHeadsetHookSwitchModes;
  1643. DWORD dwVolumeFlags;
  1644. DWORD dwGainFlags;
  1645. DWORD dwDisplayNumRows;
  1646. DWORD dwDisplayNumColumns;
  1647. DWORD dwNumRingModes;
  1648. DWORD dwNumButtonLamps;
  1649. DWORD dwButtonModesSize;
  1650. DWORD dwButtonModesOffset;
  1651. DWORD dwButtonFunctionsSize;
  1652. DWORD dwButtonFunctionsOffset;
  1653. DWORD dwLampModesSize;
  1654. DWORD dwLampModesOffset;
  1655. DWORD dwNumSetData;
  1656. DWORD dwSetDataSize;
  1657. DWORD dwSetDataOffset;
  1658. DWORD dwNumGetData;
  1659. DWORD dwGetDataSize;
  1660. DWORD dwGetDataOffset;
  1661. DWORD dwDevSpecificSize;
  1662. DWORD dwDevSpecificOffset;
  1663. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1664. DWORD dwDeviceClassesSize; // TAPI v2.0
  1665. DWORD dwDeviceClassesOffset; // TAPI v2.0
  1666. DWORD dwPhoneFeatures; // TAPI v2.0
  1667. DWORD dwSettableHandsetHookSwitchModes; // TAPI v2.0
  1668. DWORD dwSettableSpeakerHookSwitchModes; // TAPI v2.0
  1669. DWORD dwSettableHeadsetHookSwitchModes; // TAPI v2.0
  1670. DWORD dwMonitoredHandsetHookSwitchModes; // TAPI v2.0
  1671. DWORD dwMonitoredSpeakerHookSwitchModes; // TAPI v2.0
  1672. DWORD dwMonitoredHeadsetHookSwitchModes; // TAPI v2.0
  1673. #endif
  1674. } PHONECAPS, FAR *LPPHONECAPS;
  1675. typedef struct phoneextensionid_tag
  1676. {
  1677. DWORD dwExtensionID0;
  1678. DWORD dwExtensionID1;
  1679. DWORD dwExtensionID2;
  1680. DWORD dwExtensionID3;
  1681. } PHONEEXTENSIONID, FAR *LPPHONEEXTENSIONID;
  1682. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1683. typedef struct phoneinitializeexparams_tag
  1684. {
  1685. DWORD dwTotalSize; // TAPI v2.0
  1686. DWORD dwNeededSize; // TAPI v2.0
  1687. DWORD dwUsedSize; // TAPI v2.0
  1688. DWORD dwOptions; // TAPI v2.0
  1689. union
  1690. {
  1691. HANDLE hEvent; // TAPI v2.0
  1692. HANDLE hCompletionPort; // TAPI v2.0
  1693. } Handles;
  1694. DWORD dwCompletionKey; // TAPI v2.0
  1695. } PHONEINITIALIZEEXPARAMS, FAR *LPPHONEINITIALIZEEXPARAMS;
  1696. typedef struct phonemessage_tag
  1697. {
  1698. DWORD hDevice; // TAPI v2.0
  1699. DWORD dwMessageID; // TAPI v2.0
  1700. DWORD dwCallbackInstance; // TAPI v2.0
  1701. DWORD dwParam1; // TAPI v2.0
  1702. DWORD dwParam2; // TAPI v2.0
  1703. DWORD dwParam3; // TAPI v2.0
  1704. } PHONEMESSAGE, FAR *LPPHONEMESSAGE;
  1705. #endif
  1706. typedef struct phonestatus_tag
  1707. {
  1708. DWORD dwTotalSize;
  1709. DWORD dwNeededSize;
  1710. DWORD dwUsedSize;
  1711. DWORD dwStatusFlags;
  1712. DWORD dwNumOwners;
  1713. DWORD dwNumMonitors;
  1714. DWORD dwRingMode;
  1715. DWORD dwRingVolume;
  1716. DWORD dwHandsetHookSwitchMode;
  1717. DWORD dwHandsetVolume;
  1718. DWORD dwHandsetGain;
  1719. DWORD dwSpeakerHookSwitchMode;
  1720. DWORD dwSpeakerVolume;
  1721. DWORD dwSpeakerGain;
  1722. DWORD dwHeadsetHookSwitchMode;
  1723. DWORD dwHeadsetVolume;
  1724. DWORD dwHeadsetGain;
  1725. DWORD dwDisplaySize;
  1726. DWORD dwDisplayOffset;
  1727. DWORD dwLampModesSize;
  1728. DWORD dwLampModesOffset;
  1729. DWORD dwOwnerNameSize;
  1730. DWORD dwOwnerNameOffset;
  1731. DWORD dwDevSpecificSize;
  1732. DWORD dwDevSpecificOffset;
  1733. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1734. DWORD dwPhoneFeatures; // TAPI v2.0
  1735. #endif
  1736. } PHONESTATUS, FAR *LPPHONESTATUS;
  1737. typedef struct varstring_tag
  1738. {
  1739. DWORD dwTotalSize;
  1740. DWORD dwNeededSize;
  1741. DWORD dwUsedSize;
  1742. DWORD dwStringFormat;
  1743. DWORD dwStringSize;
  1744. DWORD dwStringOffset;
  1745. } VARSTRING, FAR *LPVARSTRING;
  1746. LONG
  1747. WINAPI
  1748. lineAccept(
  1749. HCALL hCall,
  1750. LPCSTR lpsUserUserInfo,
  1751. DWORD dwSize
  1752. );
  1753. LONG
  1754. WINAPI
  1755. lineAddProvider( // TAPI v1.4
  1756. LPCSTR lpszProviderFilename,
  1757. HWND hwndOwner,
  1758. LPDWORD lpdwPermanentProviderID
  1759. );
  1760. #if WIN32
  1761. LONG
  1762. WINAPI
  1763. lineAddProviderW(
  1764. LPCSTR lpszProviderFilename,
  1765. HWND hwndOwner,
  1766. LPDWORD lpdwPermanentProviderID
  1767. );
  1768. #ifdef REALLY_USE_UNICODE
  1769. #ifdef UNICODE
  1770. #define lineAddProvider lineAddProviderW
  1771. #endif
  1772. #define lineAddProviderA lineAddProvider
  1773. #endif
  1774. #endif
  1775. LONG
  1776. WINAPI
  1777. lineAddToConference(
  1778. HCALL hConfCall,
  1779. HCALL hConsultCall
  1780. );
  1781. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  1782. LONG
  1783. WINAPI
  1784. lineAgentSpecific( // TAPI v2.0
  1785. HLINE hLine,
  1786. DWORD dwAddressID,
  1787. DWORD dwAgentExtensionIDIndex,
  1788. LPVOID lpParams,
  1789. DWORD dwSize
  1790. );
  1791. #endif
  1792. LONG
  1793. WINAPI
  1794. lineAnswer(
  1795. HCALL hCall,
  1796. LPCSTR lpsUserUserInfo,
  1797. DWORD dwSize
  1798. );
  1799. LONG
  1800. WINAPI
  1801. lineBlindTransfer(
  1802. HCALL hCall,
  1803. LPCSTR lpszDestAddress,
  1804. DWORD dwCountryCode
  1805. );
  1806. #if WIN32
  1807. LONG
  1808. WINAPI
  1809. lineBlindTransferW(
  1810. HCALL hCall,
  1811. LPCSTR lpszDestAddressW,
  1812. DWORD dwCountryCode
  1813. );
  1814. #ifdef REALLY_USE_UNICODE
  1815. #ifdef UNICODE
  1816. #define lineBlindTransfer lineBlineTransferW
  1817. #endif
  1818. #define lineBlindTransferA lineBlineTransfer
  1819. #endif
  1820. #endif
  1821. LONG
  1822. WINAPI
  1823. lineClose(
  1824. HLINE hLine
  1825. );
  1826. LONG
  1827. WINAPI
  1828. lineCompleteCall(
  1829. HCALL hCall,
  1830. LPDWORD lpdwCompletionID,
  1831. DWORD dwCompletionMode,
  1832. DWORD dwMessageID
  1833. );
  1834. LONG
  1835. WINAPI
  1836. lineCompleteTransfer(
  1837. HCALL hCall,
  1838. HCALL hConsultCall,
  1839. LPHCALL lphConfCall,
  1840. DWORD dwTransferMode
  1841. );
  1842. LONG
  1843. WINAPI
  1844. lineConfigDialog(
  1845. DWORD dwDeviceID,
  1846. HWND hwndOwner,
  1847. LPCSTR lpszDeviceClass
  1848. );
  1849. #if WIN32
  1850. LONG
  1851. WINAPI
  1852. lineConfigDialogW(
  1853. DWORD dwDeviceID,
  1854. HWND hwndOwner,
  1855. LPCSTR lpszDeviceClass
  1856. );
  1857. #ifdef REALLY_USE_UNICODE
  1858. #ifdef UNICODE
  1859. #define lineConfigDialog lineConfigDialogW
  1860. #endif
  1861. #define lineConfigDialogA lineConfigDialog
  1862. #endif
  1863. #endif
  1864. LONG
  1865. WINAPI
  1866. lineConfigDialogEdit( // TAPI v1.4
  1867. DWORD dwDeviceID,
  1868. HWND hwndOwner,
  1869. LPCSTR lpszDeviceClass,
  1870. LPVOID const lpDeviceConfigIn,
  1871. DWORD dwSize,
  1872. LPVARSTRING lpDeviceConfigOut
  1873. );
  1874. #if WIN32
  1875. LONG
  1876. WINAPI
  1877. lineConfigDialogEditW(
  1878. DWORD dwDeviceID,
  1879. HWND hwndOwner,
  1880. LPCSTR lpszDeviceClass,
  1881. LPVOID const lpDeviceConfigIn,
  1882. DWORD dwSize,
  1883. LPVARSTRING lpDeviceConfigOut
  1884. );
  1885. #ifdef REALLY_USE_UNICODE
  1886. #ifdef UNICODE
  1887. #define lineConfigDialogEdit lineConfigDialogEditW
  1888. #endif
  1889. #define lineConfigDialogEditA lineConfigDialogEdit
  1890. #endif
  1891. #endif
  1892. LONG
  1893. WINAPI
  1894. lineConfigProvider( // TAPI v1.4
  1895. HWND hwndOwner,
  1896. DWORD dwPermanentProviderID
  1897. );
  1898. LONG
  1899. WINAPI
  1900. lineDeallocateCall(
  1901. HCALL hCall
  1902. );
  1903. LONG
  1904. WINAPI
  1905. lineDevSpecific(
  1906. HLINE hLine,
  1907. DWORD dwAddressID,
  1908. HCALL hCall,
  1909. LPVOID lpParams,
  1910. DWORD dwSize
  1911. );
  1912. LONG
  1913. WINAPI
  1914. lineDevSpecificFeature(
  1915. HLINE hLine,
  1916. DWORD dwFeature,
  1917. LPVOID lpParams,
  1918. DWORD dwSize
  1919. );
  1920. LONG
  1921. WINAPI
  1922. lineDial(
  1923. HCALL hCall,
  1924. LPCSTR lpszDestAddress,
  1925. DWORD dwCountryCode
  1926. );
  1927. #if WIN32
  1928. LONG
  1929. WINAPI
  1930. lineDialW(
  1931. HCALL hCall,
  1932. LPCSTR lpszDestAddress,
  1933. DWORD dwCountryCode
  1934. );
  1935. #ifdef REALLY_USE_UNICODE
  1936. #ifdef UNICODE
  1937. #define lineDial lineDialW
  1938. #endif
  1939. #define lineDialA lineDial
  1940. #endif
  1941. #endif
  1942. LONG
  1943. WINAPI
  1944. lineDrop(
  1945. HCALL hCall,
  1946. LPCSTR lpsUserUserInfo,
  1947. DWORD dwSize
  1948. );
  1949. LONG
  1950. WINAPI
  1951. lineForward(
  1952. HLINE hLine,
  1953. DWORD bAllAddresses,
  1954. DWORD dwAddressID,
  1955. LPLINEFORWARDLIST const lpForwardList,
  1956. DWORD dwNumRingsNoAnswer,
  1957. LPHCALL lphConsultCall,
  1958. LPLINECALLPARAMS const lpCallParams
  1959. );
  1960. #if WIN32
  1961. LONG
  1962. WINAPI
  1963. lineForwardW(
  1964. HLINE hLine,
  1965. DWORD bAllAddresses,
  1966. DWORD dwAddressID,
  1967. LPLINEFORWARDLIST const lpForwardList,
  1968. DWORD dwNumRingsNoAnswer,
  1969. LPHCALL lphConsultCall,
  1970. LPLINECALLPARAMS const lpCallParams
  1971. );
  1972. #ifdef REALLY_USE_UNICODE
  1973. #ifdef UNICODE
  1974. #define lineForward lineForwardW
  1975. #endif
  1976. #define lineForwardA lineForward
  1977. #endif
  1978. #endif
  1979. LONG
  1980. WINAPI
  1981. lineGatherDigits(
  1982. HCALL hCall,
  1983. DWORD dwDigitModes,
  1984. LPSTR lpsDigits,
  1985. DWORD dwNumDigits,
  1986. LPCSTR lpszTerminationDigits,
  1987. DWORD dwFirstDigitTimeout,
  1988. DWORD dwInterDigitTimeout
  1989. );
  1990. #if WIN32
  1991. LONG
  1992. WINAPI
  1993. lineGatherDigitsW(
  1994. HCALL hCall,
  1995. DWORD dwDigitModes,
  1996. LPWSTR lpsDigits,
  1997. DWORD dwNumDigits,
  1998. LPCSTR lpszTerminationDigits,
  1999. DWORD dwFirstDigitTimeout,
  2000. DWORD dwInterDigitTimeout
  2001. );
  2002. #ifdef REALLY_USE_UNICODE
  2003. #ifdef UNICODE
  2004. #define lineGatherDigits lineGatherDigitsW
  2005. #endif
  2006. #define lineGatherDigitsW lineGatherDigits
  2007. #endif
  2008. #endif
  2009. LONG
  2010. WINAPI
  2011. lineGenerateDigits(
  2012. HCALL hCall,
  2013. DWORD dwDigitMode,
  2014. LPCSTR lpszDigits,
  2015. DWORD dwDuration
  2016. );
  2017. #if WIN32
  2018. LONG
  2019. WINAPI
  2020. lineGenerateDigitsW(
  2021. HCALL hCall,
  2022. DWORD dwDigitMode,
  2023. LPCSTR lpszDigits,
  2024. DWORD dwDuration
  2025. );
  2026. #ifdef REALLY_USE_UNICODE
  2027. #ifdef UNICODE
  2028. #define lineGenerateDigits lineGenerateDigitsW
  2029. #endif
  2030. #define lineGenerateDigitsA lineGenerateDigits
  2031. #endif
  2032. #endif
  2033. LONG
  2034. WINAPI
  2035. lineGenerateTone(
  2036. HCALL hCall,
  2037. DWORD dwToneMode,
  2038. DWORD dwDuration,
  2039. DWORD dwNumTones,
  2040. LPLINEGENERATETONE const lpTones
  2041. );
  2042. LONG
  2043. WINAPI
  2044. lineGetAddressCaps(
  2045. HLINEAPP hLineApp,
  2046. DWORD dwDeviceID,
  2047. DWORD dwAddressID,
  2048. DWORD dwAPIVersion,
  2049. DWORD dwExtVersion,
  2050. LPLINEADDRESSCAPS lpAddressCaps
  2051. );
  2052. #if WIN32
  2053. LONG
  2054. WINAPI
  2055. lineGetAddressCapsW(
  2056. HLINEAPP hLineApp,
  2057. DWORD dwDeviceID,
  2058. DWORD dwAddressID,
  2059. DWORD dwAPIVersion,
  2060. DWORD dwExtVersion,
  2061. LPLINEADDRESSCAPS lpAddressCaps
  2062. );
  2063. #ifdef REALLY_USE_UNICODE
  2064. #ifdef UNICODE
  2065. #define lineGetAddressCaps lineGetAddressCapsW
  2066. #endif
  2067. #define lineGetAddressCapsA lineGetAddressCaps
  2068. #endif
  2069. #endif
  2070. LONG
  2071. WINAPI
  2072. lineGetAddressID(
  2073. HLINE hLine,
  2074. LPDWORD lpdwAddressID,
  2075. DWORD dwAddressMode,
  2076. LPCSTR lpsAddress,
  2077. DWORD dwSize
  2078. );
  2079. #if WIN32
  2080. LONG
  2081. WINAPI
  2082. lineGetAddressIDW(
  2083. HLINE hLine,
  2084. LPDWORD lpdwAddressID,
  2085. DWORD dwAddressMode,
  2086. LPCSTR lpsAddress,
  2087. DWORD dwSize
  2088. );
  2089. #ifdef REALLY_USE_UNICODE
  2090. #ifdef UNICODE
  2091. #define lineGetAddressID lineGetAddressIDW
  2092. #endif
  2093. #define lineGetAddressIDA lineGetAddressID
  2094. #endif
  2095. #endif
  2096. LONG
  2097. WINAPI
  2098. lineGetAddressStatus(
  2099. HLINE hLine,
  2100. DWORD dwAddressID,
  2101. LPLINEADDRESSSTATUS lpAddressStatus
  2102. );
  2103. #if WIN32
  2104. LONG
  2105. WINAPI
  2106. lineGetAddressStatusW(
  2107. HLINE hLine,
  2108. DWORD dwAddressID,
  2109. LPLINEADDRESSSTATUS lpAddressStatus
  2110. );
  2111. #ifdef REALLY_USE_UNICODE
  2112. #ifdef UNICODE
  2113. #define lineGetAddressStatus lineGetAddressStatusW
  2114. #endif
  2115. #define lineGetAddressStatusA lineGetAddressStatus
  2116. #endif
  2117. #endif
  2118. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2119. LONG
  2120. WINAPI
  2121. lineGetAgentActivityList( // TAPI v2.0
  2122. HLINE hLine,
  2123. DWORD dwAddressID,
  2124. LPLINEAGENTACTIVITYLIST lpAgentActivityList
  2125. );
  2126. LONG
  2127. WINAPI
  2128. lineGetAgentActivityListW( // TAPI v2.0
  2129. HLINE hLine,
  2130. DWORD dwAddressID,
  2131. LPLINEAGENTACTIVITYLIST lpAgentActivityList
  2132. );
  2133. #ifdef REALLY_USE_UNICODE
  2134. #ifdef UNICODE
  2135. #define lineGetAgentActivityList lineGetAgentActivityListW
  2136. #endif
  2137. #define lineGetAgentActivityListA lineGetAgentActivityList
  2138. #endif
  2139. LONG
  2140. WINAPI
  2141. lineGetAgentCaps( // TAPI v2.0
  2142. HLINEAPP hLineApp,
  2143. DWORD dwDeviceID,
  2144. DWORD dwAddressID,
  2145. DWORD dwAppAPIVersion,
  2146. LPLINEAGENTCAPS lpAgentCaps
  2147. );
  2148. LONG
  2149. WINAPI
  2150. lineGetAgentGroupList( // TAPI v2.0
  2151. HLINE hLine,
  2152. DWORD dwAddressID,
  2153. LPLINEAGENTGROUPLIST lpAgentGroupList
  2154. );
  2155. LONG
  2156. WINAPI
  2157. lineGetAgentStatus( // TAPI v2.0
  2158. HLINE hLine,
  2159. DWORD dwAddressID,
  2160. LPLINEAGENTSTATUS lpAgentStatus
  2161. );
  2162. #endif
  2163. LONG
  2164. WINAPI
  2165. lineGetAppPriority( // TAPI v1.4
  2166. LPCSTR lpszAppFilename,
  2167. DWORD dwMediaMode,
  2168. LPLINEEXTENSIONID lpExtensionID,
  2169. DWORD dwRequestMode,
  2170. LPVARSTRING lpExtensionName,
  2171. LPDWORD lpdwPriority
  2172. );
  2173. #if WIN32
  2174. LONG
  2175. WINAPI
  2176. lineGetAppPriorityW( // TAPI v1.4
  2177. LPCSTR lpszAppFilename,
  2178. DWORD dwMediaMode,
  2179. LPLINEEXTENSIONID lpExtensionID,
  2180. DWORD dwRequestMode,
  2181. LPVARSTRING lpExtensionName,
  2182. LPDWORD lpdwPriority
  2183. );
  2184. #ifdef REALLY_USE_UNICODE
  2185. #ifdef UNICODE
  2186. #define lineGetAppPriority lineGetAppPriorityW
  2187. #endif
  2188. #define lineGetAppPriorityA lineGetAppPriority
  2189. #endif
  2190. #endif
  2191. LONG
  2192. WINAPI
  2193. lineGetCallInfo(
  2194. HCALL hCall,
  2195. LPLINECALLINFO lpCallInfo
  2196. );
  2197. #if WIN32
  2198. LONG
  2199. WINAPI
  2200. lineGetCallInfoW(
  2201. HCALL hCall,
  2202. LPLINECALLINFO lpCallInfo
  2203. );
  2204. #ifdef REALLY_USE_UNICODE
  2205. #ifdef UNICODE
  2206. #define lineGetCallInfo lineGetCallInfoW
  2207. #endif
  2208. #define lineGetCallInfoA lineGetCallInfo
  2209. #endif
  2210. #endif
  2211. LONG
  2212. WINAPI
  2213. lineGetCallStatus(
  2214. HCALL hCall,
  2215. LPLINECALLSTATUS lpCallStatus
  2216. );
  2217. LONG
  2218. WINAPI
  2219. lineGetConfRelatedCalls(
  2220. HCALL hCall,
  2221. LPLINECALLLIST lpCallList
  2222. );
  2223. LONG
  2224. WINAPI
  2225. lineGetCountry( // TAPI v1.4
  2226. DWORD dwCountryID,
  2227. DWORD dwAPIVersion,
  2228. LPLINECOUNTRYLIST lpLineCountryList
  2229. );
  2230. #if WIN32
  2231. LONG
  2232. WINAPI
  2233. lineGetCountryW( // TAPI v1.4
  2234. DWORD dwCountryID,
  2235. DWORD dwAPIVersion,
  2236. LPLINECOUNTRYLIST lpLineCountryList
  2237. );
  2238. #ifdef REALLY_USE_UNICODE
  2239. #ifdef UNICODE
  2240. #define lineGetCountry lineGetCountryW
  2241. #endif
  2242. #define lineGetCountryA lineGetCountry
  2243. #endif
  2244. #endif
  2245. LONG
  2246. WINAPI
  2247. lineGetDevCaps(
  2248. HLINEAPP hLineApp,
  2249. DWORD dwDeviceID,
  2250. DWORD dwAPIVersion,
  2251. DWORD dwExtVersion,
  2252. LPLINEDEVCAPS lpLineDevCaps
  2253. );
  2254. #if WIN32
  2255. LONG
  2256. WINAPI
  2257. lineGetDevCapsW(
  2258. HLINEAPP hLineApp,
  2259. DWORD dwDeviceID,
  2260. DWORD dwAPIVersion,
  2261. DWORD dwExtVersion,
  2262. LPLINEDEVCAPS lpLineDevCaps
  2263. );
  2264. #ifdef REALLY_USE_UNICODE
  2265. #ifdef UNICODE
  2266. #define lineGetDevCaps lineGetDevCapsW
  2267. #endif
  2268. #define lineGetDevCapsA lineGetDevCaps
  2269. #endif
  2270. #endif
  2271. LONG
  2272. WINAPI
  2273. lineGetDevConfig(
  2274. DWORD dwDeviceID,
  2275. LPVARSTRING lpDeviceConfig,
  2276. LPCSTR lpszDeviceClass
  2277. );
  2278. #if WIN32
  2279. LONG
  2280. WINAPI
  2281. lineGetDevConfigW(
  2282. DWORD dwDeviceID,
  2283. LPVARSTRING lpDeviceConfig,
  2284. LPCSTR lpszDeviceClass
  2285. );
  2286. #ifdef REALLY_USE_UNICODE
  2287. #ifdef UNICODE
  2288. #define lineGetDevConfig lineGetDevConfigW
  2289. #endif
  2290. #define lineGetDevConfigA lineGetDevConfig
  2291. #endif
  2292. #endif
  2293. LONG
  2294. WINAPI
  2295. lineGetNewCalls(
  2296. HLINE hLine,
  2297. DWORD dwAddressID,
  2298. DWORD dwSelect,
  2299. LPLINECALLLIST lpCallList
  2300. );
  2301. LONG
  2302. WINAPI
  2303. lineGetIcon(
  2304. DWORD dwDeviceID,
  2305. LPCSTR lpszDeviceClass,
  2306. LPHICON lphIcon
  2307. );
  2308. #if WIN32
  2309. LONG
  2310. WINAPI
  2311. lineGetIconW(
  2312. DWORD dwDeviceID,
  2313. LPCSTR lpszDeviceClass,
  2314. LPHICON lphIcon
  2315. );
  2316. #ifdef REALLY_USE_UNICODE
  2317. #ifdef UNICODE
  2318. #define lineGetIcon lineGetIconW
  2319. #endif
  2320. #define lineGetIconA lineGetIcon
  2321. #endif
  2322. #endif
  2323. LONG
  2324. WINAPI
  2325. lineGetID(
  2326. HLINE hLine,
  2327. DWORD dwAddressID,
  2328. HCALL hCall,
  2329. DWORD dwSelect,
  2330. LPVARSTRING lpDeviceID,
  2331. LPCSTR lpszDeviceClass
  2332. );
  2333. #if WIN32
  2334. LONG
  2335. WINAPI
  2336. lineGetIDW(
  2337. HLINE hLine,
  2338. DWORD dwAddressID,
  2339. HCALL hCall,
  2340. DWORD dwSelect,
  2341. LPVARSTRING lpDeviceID,
  2342. LPCSTR lpszDeviceClass
  2343. );
  2344. #ifdef REALLY_USE_UNICODE
  2345. #ifdef UNICODE
  2346. #define lineGetID lineGetIDW
  2347. #endif
  2348. #define lineGetIDA lineGetID
  2349. #endif
  2350. #endif
  2351. LONG
  2352. WINAPI
  2353. lineGetLineDevStatus(
  2354. HLINE hLine,
  2355. LPLINEDEVSTATUS lpLineDevStatus
  2356. );
  2357. #if WIN32
  2358. LONG
  2359. WINAPI
  2360. lineGetLineDevStatusW(
  2361. HLINE hLine,
  2362. LPLINEDEVSTATUS lpLineDevStatus
  2363. );
  2364. #ifdef REALLY_USE_UNICODE
  2365. #ifdef UNICODE
  2366. #define lineGetDevStatus lineGetDevStatusW
  2367. #endif
  2368. #define lineGetDevStatusA lineGetDevStatus
  2369. #endif
  2370. #endif
  2371. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2372. LONG
  2373. WINAPI
  2374. lineGetMessage( // TAPI v2.0
  2375. HLINEAPP hLineApp,
  2376. LPLINEMESSAGE lpMessage,
  2377. DWORD dwTimeout
  2378. );
  2379. #endif
  2380. LONG
  2381. WINAPI
  2382. lineGetNumRings(
  2383. HLINE hLine,
  2384. DWORD dwAddressID,
  2385. LPDWORD lpdwNumRings
  2386. );
  2387. LONG
  2388. WINAPI
  2389. lineGetProviderList( // TAPI v1.4
  2390. DWORD dwAPIVersion,
  2391. LPLINEPROVIDERLIST lpProviderList
  2392. );
  2393. #if WIN32
  2394. LONG
  2395. WINAPI
  2396. lineGetProviderListW(
  2397. DWORD dwAPIVersion,
  2398. LPLINEPROVIDERLIST lpProviderList
  2399. );
  2400. #ifdef REALLY_USE_UNICODE
  2401. #ifdef UNICODE
  2402. #define lineGetProviderList lineGetProviderListW
  2403. #endif
  2404. #define lineGetProviderListA lineGetProviderList
  2405. #endif
  2406. #endif
  2407. LONG
  2408. WINAPI
  2409. lineGetRequest(
  2410. HLINEAPP hLineApp,
  2411. DWORD dwRequestMode,
  2412. LPVOID lpRequestBuffer
  2413. );
  2414. #if WIN32
  2415. LONG
  2416. WINAPI
  2417. lineGetRequestW(
  2418. HLINEAPP hLineApp,
  2419. DWORD dwRequestMode,
  2420. LPVOID lpRequestBuffer
  2421. );
  2422. #ifdef REALLY_USE_UNICODE
  2423. #ifdef UNICODE
  2424. #define lineGetRequest lineGetRequestW
  2425. #endif
  2426. #define lineGetRequestA lineGetRequest
  2427. #endif
  2428. #endif
  2429. LONG
  2430. WINAPI
  2431. lineGetStatusMessages(
  2432. HLINE hLine,
  2433. LPDWORD lpdwLineStates,
  2434. LPDWORD lpdwAddressStates
  2435. );
  2436. LONG
  2437. WINAPI
  2438. lineGetTranslateCaps(
  2439. HLINEAPP hLineApp,
  2440. DWORD dwAPIVersion,
  2441. LPLINETRANSLATECAPS lpTranslateCaps
  2442. );
  2443. #if WIN32
  2444. LONG
  2445. WINAPI
  2446. lineGetTranslateCapsW(
  2447. HLINEAPP hLineApp,
  2448. DWORD dwAPIVersion,
  2449. LPLINETRANSLATECAPS lpTranslateCaps
  2450. );
  2451. #ifdef REALLY_USE_UNICODE
  2452. #ifdef UNICODE
  2453. #define lineGetTranslateCaps lineGetTranslateCapsW
  2454. #endif
  2455. #define lineGetTranslateCapsA lineGetTranslateCaps
  2456. #endif
  2457. #endif
  2458. LONG
  2459. WINAPI
  2460. lineHandoff(
  2461. HCALL hCall,
  2462. LPCSTR lpszFileName,
  2463. DWORD dwMediaMode
  2464. );
  2465. #if WIN32
  2466. LONG
  2467. WINAPI
  2468. lineHandoffW(
  2469. HCALL hCall,
  2470. LPCSTR lpszFileName,
  2471. DWORD dwMediaMode
  2472. );
  2473. #ifdef REALLY_USE_UNICODE
  2474. #ifdef UNICODE
  2475. #define lineHandoff lineHandoffW
  2476. #endif
  2477. #define lineHandoffA lineHandoff
  2478. #endif
  2479. #endif
  2480. LONG
  2481. WINAPI
  2482. lineHold(
  2483. HCALL hCall
  2484. );
  2485. LONG
  2486. WINAPI
  2487. lineInitialize(
  2488. LPHLINEAPP lphLineApp,
  2489. HINSTANCE hInstance,
  2490. LINECALLBACK lpfnCallback,
  2491. LPCSTR lpszAppName,
  2492. LPDWORD lpdwNumDevs
  2493. );
  2494. #if WIN32
  2495. LONG
  2496. WINAPI
  2497. lineInitializeW(
  2498. LPHLINEAPP lphLineApp,
  2499. HINSTANCE hInstance,
  2500. LINECALLBACK lpfnCallback,
  2501. LPCSTR lpszAppNameW,
  2502. LPDWORD lpdwNumDevs
  2503. );
  2504. #ifdef REALLY_USE_UNICODE
  2505. #ifdef UNICODE
  2506. #define lineInitialize lineInitializeW
  2507. #endif
  2508. #define lineInitializeA lineInitialize
  2509. #endif
  2510. #endif
  2511. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2512. LONG
  2513. WINAPI
  2514. lineInitializeEx( // TAPI v2.0
  2515. LPHLINEAPP lphLineApp,
  2516. HINSTANCE hInstance,
  2517. LINECALLBACK lpfnCallback,
  2518. LPCSTR lpszFriendlyAppName,
  2519. LPDWORD lpdwNumDevs,
  2520. LPDWORD lpdwAPIVersion,
  2521. LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
  2522. );
  2523. LONG
  2524. WINAPI
  2525. lineInitializeExW( // TAPI v2.0
  2526. LPHLINEAPP lphLineApp,
  2527. HINSTANCE hInstance,
  2528. LINECALLBACK lpfnCallback,
  2529. LPCSTR lpszFriendlyAppName,
  2530. LPDWORD lpdwNumDevs,
  2531. LPDWORD lpdwAPIVersion,
  2532. LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
  2533. );
  2534. #ifdef UNICODE
  2535. #define lineInitializeEx lineInitializeExW
  2536. #endif
  2537. #define lineInitializeExA lineInitializeEx
  2538. #endif
  2539. LONG
  2540. WINAPI
  2541. lineMakeCall(
  2542. HLINE hLine,
  2543. LPHCALL lphCall,
  2544. LPCSTR lpszDestAddress,
  2545. DWORD dwCountryCode,
  2546. LPLINECALLPARAMS const lpCallParams
  2547. );
  2548. #if WIN32
  2549. LONG
  2550. WINAPI
  2551. lineMakeCallW(
  2552. HLINE hLine,
  2553. LPHCALL lphCall,
  2554. LPCSTR lpszDestAddress,
  2555. DWORD dwCountryCode,
  2556. LPLINECALLPARAMS const lpCallParams
  2557. );
  2558. #ifdef REALLY_USE_UNICODE
  2559. #ifdef UNICODE
  2560. #define lineMakeCall lineMakeCallW
  2561. #endif
  2562. #define lineMakeCallA lineMakeCall
  2563. #endif
  2564. #endif
  2565. LONG
  2566. WINAPI
  2567. lineMonitorDigits(
  2568. HCALL hCall,
  2569. DWORD dwDigitModes
  2570. );
  2571. LONG
  2572. WINAPI
  2573. lineMonitorMedia(
  2574. HCALL hCall,
  2575. DWORD dwMediaModes
  2576. );
  2577. LONG
  2578. WINAPI
  2579. lineMonitorTones(
  2580. HCALL hCall,
  2581. LPLINEMONITORTONE const lpToneList,
  2582. DWORD dwNumEntries
  2583. );
  2584. LONG
  2585. WINAPI
  2586. lineNegotiateAPIVersion(
  2587. HLINEAPP hLineApp,
  2588. DWORD dwDeviceID,
  2589. DWORD dwAPILowVersion,
  2590. DWORD dwAPIHighVersion,
  2591. LPDWORD lpdwAPIVersion,
  2592. LPLINEEXTENSIONID lpExtensionID
  2593. );
  2594. LONG
  2595. WINAPI
  2596. lineNegotiateExtVersion(
  2597. HLINEAPP hLineApp,
  2598. DWORD dwDeviceID,
  2599. DWORD dwAPIVersion,
  2600. DWORD dwExtLowVersion,
  2601. DWORD dwExtHighVersion,
  2602. LPDWORD lpdwExtVersion
  2603. );
  2604. LONG
  2605. WINAPI
  2606. lineOpen(
  2607. HLINEAPP hLineApp,
  2608. DWORD dwDeviceID,
  2609. LPHLINE lphLine,
  2610. DWORD dwAPIVersion,
  2611. DWORD dwExtVersion,
  2612. DWORD dwCallbackInstance,
  2613. DWORD dwPrivileges,
  2614. DWORD dwMediaModes,
  2615. LPLINECALLPARAMS const lpCallParams
  2616. );
  2617. #if WIN32
  2618. LONG
  2619. WINAPI
  2620. lineOpenW(
  2621. HLINEAPP hLineApp,
  2622. DWORD dwDeviceID,
  2623. LPHLINE lphLine,
  2624. DWORD dwAPIVersion,
  2625. DWORD dwExtVersion,
  2626. DWORD dwCallbackInstance,
  2627. DWORD dwPrivileges,
  2628. DWORD dwMediaModes,
  2629. LPLINECALLPARAMS const lpCallParams
  2630. );
  2631. #ifdef REALLY_USE_UNICODE
  2632. #ifdef UNICODE
  2633. #define lineOpen lineOpenW
  2634. #endif
  2635. #define lineOpenA lineOpen
  2636. #endif
  2637. #endif
  2638. LONG
  2639. WINAPI
  2640. linePark(
  2641. HCALL hCall,
  2642. DWORD dwParkMode,
  2643. LPCSTR lpszDirAddress,
  2644. LPVARSTRING lpNonDirAddress
  2645. );
  2646. #if WIN32
  2647. LONG
  2648. WINAPI
  2649. lineParkW(
  2650. HCALL hCall,
  2651. DWORD dwParkMode,
  2652. LPCSTR lpszDirAddress,
  2653. LPVARSTRING lpNonDirAddress
  2654. );
  2655. #ifdef REALLY_USE_UNICODE
  2656. #ifdef UNICODE
  2657. #define linePark lineParkW
  2658. #endif
  2659. #define lineParkA linePark
  2660. #endif
  2661. #endif
  2662. LONG
  2663. WINAPI
  2664. linePickup(
  2665. HLINE hLine,
  2666. DWORD dwAddressID,
  2667. LPHCALL lphCall,
  2668. LPCSTR lpszDestAddress,
  2669. LPCSTR lpszGroupID
  2670. );
  2671. #if WIN32
  2672. LONG
  2673. WINAPI
  2674. linePickupW(
  2675. HLINE hLine,
  2676. DWORD dwAddressID,
  2677. LPHCALL lphCall,
  2678. LPCSTR lpszDestAddress,
  2679. LPCSTR lpszGroupID
  2680. );
  2681. #ifdef REALLY_USE_UNICODE
  2682. #ifdef UNICODE
  2683. #define linePickup linePickupW
  2684. #endif
  2685. #define linePickupA linePickup
  2686. #endif
  2687. #endif
  2688. LONG
  2689. WINAPI
  2690. linePrepareAddToConference(
  2691. HCALL hConfCall,
  2692. LPHCALL lphConsultCall,
  2693. LPLINECALLPARAMS const lpCallParams
  2694. );
  2695. #if WIN32
  2696. LONG
  2697. WINAPI
  2698. linePrepareAddToConferenceW(
  2699. HCALL hConfCall,
  2700. LPHCALL lphConsultCall,
  2701. LPLINECALLPARAMS const lpCallParams
  2702. );
  2703. #ifdef REALLY_USE_UNICODE
  2704. #ifdef UNICODE
  2705. #define linePrepareAddToConference linePrepareAddToConferenceW
  2706. #endif
  2707. #define linePrepareAddToConferenceA linePrepareAddToConference
  2708. #endif
  2709. #endif
  2710. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2711. LONG
  2712. WINAPI
  2713. lineProxyMessage( // TAPI v2.0
  2714. HLINE hLine,
  2715. HCALL hCall,
  2716. DWORD dwMsg,
  2717. DWORD dwParam1,
  2718. DWORD dwParam2,
  2719. DWORD dwParam3
  2720. );
  2721. LONG
  2722. WINAPI
  2723. lineProxyResponse( // TAPI v2.0
  2724. HLINE hLine,
  2725. LPLINEPROXYREQUEST lpProxyRequest,
  2726. DWORD dwResult
  2727. );
  2728. #endif
  2729. LONG
  2730. WINAPI
  2731. lineRedirect(
  2732. HCALL hCall,
  2733. LPCSTR lpszDestAddress,
  2734. DWORD dwCountryCode
  2735. );
  2736. #if WIN32
  2737. LONG
  2738. WINAPI
  2739. lineRedirectW(
  2740. HCALL hCall,
  2741. LPCSTR lpszDestAddress,
  2742. DWORD dwCountryCode
  2743. );
  2744. #ifdef REALLY_USE_UNICODE
  2745. #ifdef UNICODE
  2746. #define lineRedirect lineRedirectW
  2747. #endif
  2748. #define lineRedirectA lineRedirect
  2749. #endif
  2750. #endif
  2751. LONG
  2752. WINAPI
  2753. lineRegisterRequestRecipient(
  2754. HLINEAPP hLineApp,
  2755. DWORD dwRegistrationInstance,
  2756. DWORD dwRequestMode,
  2757. DWORD bEnable
  2758. );
  2759. LONG
  2760. WINAPI
  2761. lineReleaseUserUserInfo( // TAPI v1.4
  2762. HCALL hCall
  2763. );
  2764. LONG
  2765. WINAPI
  2766. lineRemoveFromConference(
  2767. HCALL hCall
  2768. );
  2769. LONG
  2770. WINAPI
  2771. lineRemoveProvider( // TAPI v1.4
  2772. DWORD dwPermanentProviderID,
  2773. HWND hwndOwner
  2774. );
  2775. LONG
  2776. WINAPI
  2777. lineSecureCall(
  2778. HCALL hCall
  2779. );
  2780. LONG
  2781. WINAPI
  2782. lineSendUserUserInfo(
  2783. HCALL hCall,
  2784. LPCSTR lpsUserUserInfo,
  2785. DWORD dwSize
  2786. );
  2787. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2788. LONG
  2789. WINAPI
  2790. lineSetAgentActivity( // TAPI v2.0
  2791. HLINE hLine,
  2792. DWORD dwAddressID,
  2793. DWORD dwActivityID
  2794. );
  2795. LONG
  2796. WINAPI
  2797. lineSetAgentGroup( // TAPI v2.0
  2798. HLINE hLine,
  2799. DWORD dwAddressID,
  2800. LPLINEAGENTGROUPLIST lpAgentGroupList
  2801. );
  2802. LONG
  2803. WINAPI
  2804. lineSetAgentState( // TAPI v2.0
  2805. HLINE hLine,
  2806. DWORD dwAddressID,
  2807. DWORD dwAgentState,
  2808. DWORD dwNextAgentState
  2809. );
  2810. #endif
  2811. LONG
  2812. WINAPI
  2813. lineSetAppPriority( // TAPI v1.4
  2814. LPCSTR lpszAppFilename,
  2815. DWORD dwMediaMode,
  2816. LPLINEEXTENSIONID lpExtensionID,
  2817. DWORD dwRequestMode,
  2818. LPCSTR lpszExtensionName,
  2819. DWORD dwPriority
  2820. );
  2821. #if WIN32
  2822. LONG
  2823. WINAPI
  2824. lineSetAppPriorityW( // TAPI v1.4
  2825. LPCSTR lpszAppFilename,
  2826. DWORD dwMediaMode,
  2827. LPLINEEXTENSIONID lpExtensionID,
  2828. DWORD dwRequestMode,
  2829. LPCSTR lpszExtensionName,
  2830. DWORD dwPriority
  2831. );
  2832. #ifdef REALLY_USE_UNICODE
  2833. #ifdef UNICODE
  2834. #define lineSetAppPriority lineSetAppPriorityW
  2835. #endif
  2836. #define lineSetAppPriorityA lineSetAppPriority
  2837. #endif
  2838. #endif
  2839. LONG
  2840. WINAPI
  2841. lineSetAppSpecific(
  2842. HCALL hCall,
  2843. DWORD dwAppSpecific
  2844. );
  2845. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2846. LONG
  2847. WINAPI
  2848. lineSetCallData( // TAPI v2.0
  2849. HCALL hCall,
  2850. LPVOID lpCallData,
  2851. DWORD dwSize
  2852. );
  2853. #endif
  2854. LONG
  2855. WINAPI
  2856. lineSetCallParams(
  2857. HCALL hCall,
  2858. DWORD dwBearerMode,
  2859. DWORD dwMinRate,
  2860. DWORD dwMaxRate,
  2861. LPLINEDIALPARAMS const lpDialParams
  2862. );
  2863. LONG
  2864. WINAPI
  2865. lineSetCallPrivilege(
  2866. HCALL hCall,
  2867. DWORD dwCallPrivilege
  2868. );
  2869. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2870. LONG
  2871. WINAPI
  2872. lineSetCallQualityOfService( // TAPI v2.0
  2873. HCALL hCall,
  2874. LPVOID lpSendingFlowspec,
  2875. DWORD dwSendingFlowspecSize,
  2876. LPVOID lpReceivingFlowspec,
  2877. DWORD dwReceivingFlowspecSize
  2878. );
  2879. LONG
  2880. WINAPI
  2881. lineSetCallTreatment( // TAPI v2.0
  2882. HCALL hCall,
  2883. DWORD dwTreatment
  2884. );
  2885. #endif
  2886. LONG
  2887. WINAPI
  2888. lineSetCurrentLocation(
  2889. HLINEAPP hLineApp,
  2890. DWORD dwLocation
  2891. );
  2892. LONG
  2893. WINAPI
  2894. lineSetDevConfig(
  2895. DWORD dwDeviceID,
  2896. LPVOID const lpDeviceConfig,
  2897. DWORD dwSize,
  2898. LPCSTR lpszDeviceClass
  2899. );
  2900. #if WIN32
  2901. LONG
  2902. WINAPI
  2903. lineSetDevConfigW(
  2904. DWORD dwDeviceID,
  2905. LPVOID const lpDeviceConfig,
  2906. DWORD dwSize,
  2907. LPCSTR lpszDeviceClass
  2908. );
  2909. #ifdef REALLY_USE_UNICODE
  2910. #ifdef UNICODE
  2911. #define lineSetDevConfig lineSetDevConfigW
  2912. #endif
  2913. #define lineSetDevConfigA lineSetDevConfig
  2914. #endif
  2915. #endif
  2916. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  2917. LONG
  2918. WINAPI
  2919. lineSetLineDevStatus( // TAPI v2.0
  2920. HLINE hLine,
  2921. DWORD dwStatusToChange,
  2922. DWORD fStatus
  2923. );
  2924. #endif
  2925. LONG
  2926. WINAPI
  2927. lineSetMediaControl(
  2928. HLINE hLine,
  2929. DWORD dwAddressID,
  2930. HCALL hCall,
  2931. DWORD dwSelect,
  2932. LPLINEMEDIACONTROLDIGIT const lpDigitList,
  2933. DWORD dwDigitNumEntries,
  2934. LPLINEMEDIACONTROLMEDIA const lpMediaList,
  2935. DWORD dwMediaNumEntries,
  2936. LPLINEMEDIACONTROLTONE const lpToneList,
  2937. DWORD dwToneNumEntries,
  2938. LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
  2939. DWORD dwCallStateNumEntries
  2940. );
  2941. LONG
  2942. WINAPI
  2943. lineSetMediaMode(
  2944. HCALL hCall,
  2945. DWORD dwMediaModes
  2946. );
  2947. LONG
  2948. WINAPI
  2949. lineSetNumRings(
  2950. HLINE hLine,
  2951. DWORD dwAddressID,
  2952. DWORD dwNumRings
  2953. );
  2954. LONG
  2955. WINAPI
  2956. lineSetStatusMessages(
  2957. HLINE hLine,
  2958. DWORD dwLineStates,
  2959. DWORD dwAddressStates
  2960. );
  2961. LONG
  2962. WINAPI
  2963. lineSetTerminal(
  2964. HLINE hLine,
  2965. DWORD dwAddressID,
  2966. HCALL hCall,
  2967. DWORD dwSelect,
  2968. DWORD dwTerminalModes,
  2969. DWORD dwTerminalID,
  2970. DWORD bEnable
  2971. );
  2972. LONG
  2973. WINAPI
  2974. lineSetTollList(
  2975. HLINEAPP hLineApp,
  2976. DWORD dwDeviceID,
  2977. LPCSTR lpszAddressIn,
  2978. DWORD dwTollListOption
  2979. );
  2980. #if WIN32
  2981. LONG
  2982. WINAPI
  2983. lineSetTollListW(
  2984. HLINEAPP hLineApp,
  2985. DWORD dwDeviceID,
  2986. LPCSTR lpszAddressInW,
  2987. DWORD dwTollListOption
  2988. );
  2989. #ifdef REALLY_USE_UNICODE
  2990. #ifdef UNICODE
  2991. #define lineSetTollList lineSetTollListW
  2992. #endif
  2993. #define lineSetTollListA lineSetTollList
  2994. #endif
  2995. #endif
  2996. LONG
  2997. WINAPI
  2998. lineSetupConference(
  2999. HCALL hCall,
  3000. HLINE hLine,
  3001. LPHCALL lphConfCall,
  3002. LPHCALL lphConsultCall,
  3003. DWORD dwNumParties,
  3004. LPLINECALLPARAMS const lpCallParams
  3005. );
  3006. #if WIN32
  3007. LONG
  3008. WINAPI
  3009. lineSetupConferenceW(
  3010. HCALL hCall,
  3011. HLINE hLine,
  3012. LPHCALL lphConfCall,
  3013. LPHCALL lphConsultCall,
  3014. DWORD dwNumParties,
  3015. LPLINECALLPARAMS const lpCallParams
  3016. );
  3017. #ifdef REALLY_USE_UNICODE
  3018. #ifdef UNICODE
  3019. #define lineSetupConference lineSetupConferenceW
  3020. #endif
  3021. #define lineSetupConferenceA lineSetupConference
  3022. #endif
  3023. #endif
  3024. LONG
  3025. WINAPI
  3026. lineSetupTransfer(
  3027. HCALL hCall,
  3028. LPHCALL lphConsultCall,
  3029. LPLINECALLPARAMS const lpCallParams
  3030. );
  3031. #if WIN32
  3032. LONG
  3033. WINAPI
  3034. lineSetupTransferW(
  3035. HCALL hCall,
  3036. LPHCALL lphConsultCall,
  3037. LPLINECALLPARAMS const lpCallParams
  3038. );
  3039. #ifdef REALLY_USE_UNICODE
  3040. #ifdef UNICODE
  3041. #define lineSetupTransfer lineSetupTransferW
  3042. #endif
  3043. #define lineSetupTransferA lineSetupTransfer
  3044. #endif
  3045. #endif
  3046. LONG
  3047. WINAPI
  3048. lineShutdown(
  3049. HLINEAPP hLineApp
  3050. );
  3051. LONG
  3052. WINAPI
  3053. lineSwapHold(
  3054. HCALL hActiveCall,
  3055. HCALL hHeldCall
  3056. );
  3057. LONG
  3058. WINAPI
  3059. lineTranslateAddress(
  3060. HLINEAPP hLineApp,
  3061. DWORD dwDeviceID,
  3062. DWORD dwAPIVersion,
  3063. LPCSTR lpszAddressIn,
  3064. DWORD dwCard,
  3065. DWORD dwTranslateOptions,
  3066. LPLINETRANSLATEOUTPUT lpTranslateOutput
  3067. );
  3068. #if WIN32
  3069. LONG
  3070. WINAPI
  3071. lineTranslateAddressW(
  3072. HLINEAPP hLineApp,
  3073. DWORD dwDeviceID,
  3074. DWORD dwAPIVersion,
  3075. LPCSTR lpszAddressIn,
  3076. DWORD dwCard,
  3077. DWORD dwTranslateOptions,
  3078. LPLINETRANSLATEOUTPUT lpTranslateOutput
  3079. );
  3080. #ifdef REALLY_USE_UNICODE
  3081. #ifdef UNICODE
  3082. #define lineTranslateAddress lineTranslateAddressW
  3083. #endif
  3084. #define lineTranslateAddressA lineTranslateAddress
  3085. #endif
  3086. #endif
  3087. LONG
  3088. WINAPI
  3089. lineTranslateDialog( // TAPI v1.4
  3090. HLINEAPP hLineApp,
  3091. DWORD dwDeviceID,
  3092. DWORD dwAPIVersion,
  3093. HWND hwndOwner,
  3094. LPCSTR lpszAddressIn
  3095. );
  3096. #if WIN32
  3097. LONG
  3098. WINAPI
  3099. lineTranslateDialogW( // TAPI v2.0
  3100. HLINEAPP hLineApp,
  3101. DWORD dwDeviceID,
  3102. DWORD dwAPIVersion,
  3103. HWND hwndOwner,
  3104. LPCSTR lpszAddressIn
  3105. );
  3106. #ifdef REALLY_USE_UNICODE
  3107. #ifdef UNICODE
  3108. #define lineTranslateDialog lineTranslateDialogW
  3109. #endif
  3110. #define lineTranslateDialogA lineTranslateDialog
  3111. #endif
  3112. #endif
  3113. LONG
  3114. WINAPI
  3115. lineUncompleteCall(
  3116. HLINE hLine,
  3117. DWORD dwCompletionID
  3118. );
  3119. LONG
  3120. WINAPI
  3121. lineUnhold(
  3122. HCALL hCall
  3123. );
  3124. LONG
  3125. WINAPI
  3126. lineUnpark(
  3127. HLINE hLine,
  3128. DWORD dwAddressID,
  3129. LPHCALL lphCall,
  3130. LPCSTR lpszDestAddress
  3131. );
  3132. #if WIN32
  3133. LONG
  3134. WINAPI
  3135. lineUnparkW(
  3136. HLINE hLine,
  3137. DWORD dwAddressID,
  3138. LPHCALL lphCall,
  3139. LPCSTR lpszDestAddress
  3140. );
  3141. #ifdef REALLY_USE_UNICODE
  3142. #ifdef UNICODE
  3143. #define lineUnpark lineUnparkW
  3144. #endif
  3145. #define lineUnparkA lineUnpark
  3146. #endif
  3147. #endif
  3148. LONG
  3149. WINAPI
  3150. phoneClose(
  3151. HPHONE hPhone
  3152. );
  3153. LONG
  3154. WINAPI
  3155. phoneConfigDialog(
  3156. DWORD dwDeviceID,
  3157. HWND hwndOwner,
  3158. LPCSTR lpszDeviceClass
  3159. );
  3160. #if WIN32
  3161. LONG
  3162. WINAPI
  3163. phoneConfigDialogW(
  3164. DWORD dwDeviceID,
  3165. HWND hwndOwner,
  3166. LPCSTR lpszDeviceClass
  3167. );
  3168. #ifdef REALLY_USE_UNICODE
  3169. #ifdef UNICODE
  3170. #define phoneConfigDialog phoneConfigDialogW
  3171. #endif
  3172. #define phoneConfigDialogA phoneConfigDialog
  3173. #endif
  3174. #endif
  3175. LONG
  3176. WINAPI
  3177. phoneDevSpecific(
  3178. HPHONE hPhone,
  3179. LPVOID lpParams,
  3180. DWORD dwSize
  3181. );
  3182. LONG
  3183. WINAPI
  3184. phoneGetButtonInfo(
  3185. HPHONE hPhone,
  3186. DWORD dwButtonLampID,
  3187. LPPHONEBUTTONINFO lpButtonInfo
  3188. );
  3189. #if WIN32
  3190. LONG
  3191. WINAPI
  3192. phoneGetButtonInfoW(
  3193. HPHONE hPhone,
  3194. DWORD dwButtonLampID,
  3195. LPPHONEBUTTONINFO lpButtonInfo
  3196. );
  3197. #ifdef REALLY_USE_UNICODE
  3198. #ifdef UNICODE
  3199. #define phoneGetButtonInfo phoneGetButtonInfoW
  3200. #endif
  3201. #define phoneGetButtonInfoA phoneGetButtonInfo
  3202. #endif
  3203. #endif
  3204. LONG
  3205. WINAPI
  3206. phoneGetData(
  3207. HPHONE hPhone,
  3208. DWORD dwDataID,
  3209. LPVOID lpData,
  3210. DWORD dwSize
  3211. );
  3212. LONG
  3213. WINAPI
  3214. phoneGetDevCaps(
  3215. HPHONEAPP hPhoneApp,
  3216. DWORD dwDeviceID,
  3217. DWORD dwAPIVersion,
  3218. DWORD dwExtVersion,
  3219. LPPHONECAPS lpPhoneCaps
  3220. );
  3221. #if WIN32
  3222. LONG
  3223. WINAPI
  3224. phoneGetDevCapsW(
  3225. HPHONEAPP hPhoneApp,
  3226. DWORD dwDeviceID,
  3227. DWORD dwAPIVersion,
  3228. DWORD dwExtVersion,
  3229. LPPHONECAPS lpPhoneCaps
  3230. );
  3231. #ifdef REALLY_USE_UNICODE
  3232. #ifdef UNICODE
  3233. #define phoneGetDevCaps phoneGetDevCapsW
  3234. #endif
  3235. #define phoneGetDevCapsA phoneGetDevCaps
  3236. #endif
  3237. #endif
  3238. LONG
  3239. WINAPI
  3240. phoneGetDisplay(
  3241. HPHONE hPhone,
  3242. LPVARSTRING lpDisplay
  3243. );
  3244. LONG
  3245. WINAPI
  3246. phoneGetGain(
  3247. HPHONE hPhone,
  3248. DWORD dwHookSwitchDev,
  3249. LPDWORD lpdwGain
  3250. );
  3251. LONG
  3252. WINAPI
  3253. phoneGetHookSwitch(
  3254. HPHONE hPhone,
  3255. LPDWORD lpdwHookSwitchDevs
  3256. );
  3257. LONG
  3258. WINAPI
  3259. phoneGetIcon(
  3260. DWORD dwDeviceID,
  3261. LPCSTR lpszDeviceClass,
  3262. LPHICON lphIcon
  3263. );
  3264. #if WIN32
  3265. LONG
  3266. WINAPI
  3267. phoneGetIconW(
  3268. DWORD dwDeviceID,
  3269. LPCSTR lpszDeviceClass,
  3270. LPHICON lphIcon
  3271. );
  3272. #ifdef REALLY_USE_UNICODE
  3273. #ifdef UNICODE
  3274. #define phoneGetIcon phoneGetIconW
  3275. #endif
  3276. #define phoneGetIconA phoneGetIcon
  3277. #endif
  3278. #endif
  3279. LONG
  3280. WINAPI
  3281. phoneGetID(
  3282. HPHONE hPhone,
  3283. LPVARSTRING lpDeviceID,
  3284. LPCSTR lpszDeviceClass
  3285. );
  3286. #if WIN32
  3287. LONG
  3288. WINAPI
  3289. phoneGetIDW(
  3290. HPHONE hPhone,
  3291. LPVARSTRING lpDeviceID,
  3292. LPCSTR lpszDeviceClass
  3293. );
  3294. #ifdef REALLY_USE_UNICODE
  3295. #ifdef UNICODE
  3296. #define phoneGetID phoneGetIDW
  3297. #endif
  3298. #define phoneGetIDA phoneGetID
  3299. #endif
  3300. #endif
  3301. LONG
  3302. WINAPI
  3303. phoneGetLamp(
  3304. HPHONE hPhone,
  3305. DWORD dwButtonLampID,
  3306. LPDWORD lpdwLampMode
  3307. );
  3308. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3309. LONG
  3310. WINAPI
  3311. phoneGetMessage( // TAPI v2.0
  3312. HPHONEAPP hPhoneApp,
  3313. LPPHONEMESSAGE lpMessage,
  3314. DWORD dwTimeout
  3315. );
  3316. #endif
  3317. LONG
  3318. WINAPI
  3319. phoneGetRing(
  3320. HPHONE hPhone,
  3321. LPDWORD lpdwRingMode,
  3322. LPDWORD lpdwVolume
  3323. );
  3324. LONG
  3325. WINAPI
  3326. phoneGetStatus(
  3327. HPHONE hPhone,
  3328. LPPHONESTATUS lpPhoneStatus
  3329. );
  3330. #if WIN32
  3331. LONG
  3332. WINAPI
  3333. phoneGetStatusW(
  3334. HPHONE hPhone,
  3335. LPPHONESTATUS lpPhoneStatus
  3336. );
  3337. #ifdef REALLY_USE_UNICODE
  3338. #ifdef UNICODE
  3339. #define phoneGetStatus phoneGetStatusW
  3340. #endif
  3341. #define phoneGetStatusA phoneGetStatus
  3342. #endif
  3343. #endif
  3344. LONG
  3345. WINAPI
  3346. phoneGetStatusMessages(
  3347. HPHONE hPhone,
  3348. LPDWORD lpdwPhoneStates,
  3349. LPDWORD lpdwButtonModes,
  3350. LPDWORD lpdwButtonStates
  3351. );
  3352. LONG
  3353. WINAPI
  3354. phoneGetVolume(
  3355. HPHONE hPhone,
  3356. DWORD dwHookSwitchDev,
  3357. LPDWORD lpdwVolume
  3358. );
  3359. LONG
  3360. WINAPI
  3361. phoneInitialize(
  3362. LPHPHONEAPP lphPhoneApp,
  3363. HINSTANCE hInstance,
  3364. PHONECALLBACK lpfnCallback,
  3365. LPCSTR lpszAppName,
  3366. LPDWORD lpdwNumDevs
  3367. );
  3368. #if WIN32
  3369. LONG
  3370. WINAPI
  3371. phoneInitializeW(
  3372. LPHPHONEAPP lphPhoneApp,
  3373. HINSTANCE hInstance,
  3374. PHONECALLBACK lpfnCallback,
  3375. LPCSTR lpszAppNameW,
  3376. LPDWORD lpdwNumDevs
  3377. );
  3378. #ifdef REALLY_USE_UNICODE
  3379. #ifdef UNICODE
  3380. #define phoneInitialize phoneInitializeW
  3381. #endif
  3382. #define phoneInitializeA phoneInitialize
  3383. #endif
  3384. #endif
  3385. #if (TAPI_CURRENT_VERSION >= 0x00020000)
  3386. LONG
  3387. WINAPI
  3388. phoneInitializeEx( // TAPI v2.0
  3389. LPHPHONEAPP lphPhoneApp,
  3390. HINSTANCE hInstance,
  3391. PHONECALLBACK lpfnCallback,
  3392. LPCSTR lpszFriendlyAppName,
  3393. LPDWORD lpdwNumDevs,
  3394. LPDWORD lpdwAPIVersion,
  3395. LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams
  3396. );
  3397. LONG
  3398. WINAPI
  3399. phoneInitializeExW( // TAPI v2.0
  3400. LPHPHONEAPP lphPhoneApp,
  3401. HINSTANCE hInstance,
  3402. PHONECALLBACK lpfnCallback,
  3403. LPCSTR lpszFriendlyAppName,
  3404. LPDWORD lpdwNumDevs,
  3405. LPDWORD lpdwAPIVersion,
  3406. LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams
  3407. );
  3408. #ifdef UNICODE
  3409. #define phoneInitializeEx phoneInitializeExW
  3410. #endif
  3411. #define phoneInitializeExA phoneInitializeEx
  3412. #endif
  3413. LONG
  3414. WINAPI
  3415. phoneNegotiateAPIVersion(
  3416. HPHONEAPP hPhoneApp,
  3417. DWORD dwDeviceID,
  3418. DWORD dwAPILowVersion,
  3419. DWORD dwAPIHighVersion,
  3420. LPDWORD lpdwAPIVersion,
  3421. LPPHONEEXTENSIONID lpExtensionID
  3422. );
  3423. LONG
  3424. WINAPI
  3425. phoneNegotiateExtVersion(
  3426. HPHONEAPP hPhoneApp,
  3427. DWORD dwDeviceID,
  3428. DWORD dwAPIVersion,
  3429. DWORD dwExtLowVersion,
  3430. DWORD dwExtHighVersion,
  3431. LPDWORD lpdwExtVersion
  3432. );
  3433. LONG
  3434. WINAPI
  3435. phoneOpen(
  3436. HPHONEAPP hPhoneApp,
  3437. DWORD dwDeviceID,
  3438. LPHPHONE lphPhone,
  3439. DWORD dwAPIVersion,
  3440. DWORD dwExtVersion,
  3441. DWORD dwCallbackInstance,
  3442. DWORD dwPrivilege
  3443. );
  3444. LONG
  3445. WINAPI
  3446. phoneSetButtonInfo(
  3447. HPHONE hPhone,
  3448. DWORD dwButtonLampID,
  3449. LPPHONEBUTTONINFO const lpButtonInfo
  3450. );
  3451. #if WIN32
  3452. LONG
  3453. WINAPI
  3454. phoneSetButtonInfoW(
  3455. HPHONE hPhone,
  3456. DWORD dwButtonLampID,
  3457. LPPHONEBUTTONINFO const lpButtonInfo
  3458. );
  3459. #ifdef REALLY_USE_UNICODE
  3460. #ifdef UNICODE
  3461. #define phoneSetButtonInfo phoneSetButtonInfoW
  3462. #endif
  3463. #define phoneSetButtonInfoA phoneSetButtonInfo
  3464. #endif
  3465. #endif
  3466. LONG
  3467. WINAPI
  3468. phoneSetData(
  3469. HPHONE hPhone,
  3470. DWORD dwDataID,
  3471. LPVOID const lpData,
  3472. DWORD dwSize
  3473. );
  3474. LONG
  3475. WINAPI
  3476. phoneSetDisplay(
  3477. HPHONE hPhone,
  3478. DWORD dwRow,
  3479. DWORD dwColumn,
  3480. LPCSTR lpsDisplay,
  3481. DWORD dwSize
  3482. );
  3483. LONG
  3484. WINAPI
  3485. phoneSetGain(
  3486. HPHONE hPhone,
  3487. DWORD dwHookSwitchDev,
  3488. DWORD dwGain
  3489. );
  3490. LONG
  3491. WINAPI
  3492. phoneSetHookSwitch(
  3493. HPHONE hPhone,
  3494. DWORD dwHookSwitchDevs,
  3495. DWORD dwHookSwitchMode
  3496. );
  3497. LONG
  3498. WINAPI
  3499. phoneSetLamp(
  3500. HPHONE hPhone,
  3501. DWORD dwButtonLampID,
  3502. DWORD dwLampMode
  3503. );
  3504. LONG
  3505. WINAPI
  3506. phoneSetRing(
  3507. HPHONE hPhone,
  3508. DWORD dwRingMode,
  3509. DWORD dwVolume
  3510. );
  3511. LONG
  3512. WINAPI
  3513. phoneSetStatusMessages(
  3514. HPHONE hPhone,
  3515. DWORD dwPhoneStates,
  3516. DWORD dwButtonModes,
  3517. DWORD dwButtonStates
  3518. );
  3519. LONG
  3520. WINAPI
  3521. phoneSetVolume(
  3522. HPHONE hPhone,
  3523. DWORD dwHookSwitchDev,
  3524. DWORD dwVolume
  3525. );
  3526. LONG
  3527. WINAPI
  3528. phoneShutdown(
  3529. HPHONEAPP hPhoneApp
  3530. );
  3531. LONG
  3532. WINAPI
  3533. tapiGetLocationInfo(
  3534. LPSTR lpszCountryCode,
  3535. LPSTR lpszCityCode
  3536. );
  3537. #if WIN32
  3538. LONG
  3539. WINAPI
  3540. tapiGetLocationInfoW(
  3541. LPWSTR lpszCountryCodeW,
  3542. LPWSTR lpszCityCodeW
  3543. );
  3544. #ifdef REALLY_USE_UNICODE
  3545. #ifdef UNICODE
  3546. #define tapiGetLocationInfo tapiGetLocationInfoW
  3547. #endif
  3548. #define tapiGetLocationInfoA tapiGetLocationInfo
  3549. #endif
  3550. #endif
  3551. LONG
  3552. WINAPI
  3553. tapiRequestDrop(
  3554. HWND hwnd,
  3555. WPARAM wRequestID
  3556. );
  3557. LONG
  3558. WINAPI
  3559. tapiRequestMakeCall(
  3560. LPCSTR lpszDestAddress,
  3561. LPCSTR lpszAppName,
  3562. LPCSTR lpszCalledParty,
  3563. LPCSTR lpszComment
  3564. );
  3565. #if WIN32
  3566. LONG
  3567. WINAPI
  3568. tapiRequestMakeCallW(
  3569. LPCSTR lpszDestAddress,
  3570. LPCSTR lpszAppName,
  3571. LPCSTR lpszCalledParty,
  3572. LPCSTR lpszComment
  3573. );
  3574. #ifdef REALLY_USE_UNICODE
  3575. #ifdef UNICODE
  3576. #define tapiRequestMakeCall tapiRequestMakeCallW
  3577. #endif
  3578. #define tapiRequestMakeCallA tapiRequestMakeCall
  3579. #endif
  3580. #endif
  3581. LONG
  3582. WINAPI
  3583. tapiRequestMediaCall(
  3584. HWND hwnd,
  3585. WPARAM wRequestID,
  3586. LPCSTR lpszDeviceClass,
  3587. LPCSTR lpDeviceID,
  3588. DWORD dwSize,
  3589. DWORD dwSecure,
  3590. LPCSTR lpszDestAddress,
  3591. LPCSTR lpszAppName,
  3592. LPCSTR lpszCalledParty,
  3593. LPCSTR lpszComment
  3594. );
  3595. #if WIN32
  3596. LONG
  3597. WINAPI
  3598. tapiRequestMediaCallW(
  3599. HWND hwnd,
  3600. WPARAM wRequestID,
  3601. LPCSTR lpszDeviceClass,
  3602. LPCSTR lpDeviceID,
  3603. DWORD dwSize,
  3604. DWORD dwSecure,
  3605. LPCSTR lpszDestAddress,
  3606. LPCSTR lpszAppName,
  3607. LPCSTR lpszCalledParty,
  3608. LPCSTR lpszComment
  3609. );
  3610. #ifdef REALLY_USE_UNICODE
  3611. #ifdef UNICODE
  3612. #define tapiRequestMediaCall tapiRequestMediaCallW
  3613. #endif
  3614. #define tapiRequestMediaCallA tapiRequestMediaCall
  3615. #endif
  3616. #endif
  3617. #ifdef __cplusplus
  3618. } /* End of extern "C" { */
  3619. #endif /* __cplusplus */
  3620. #pragma pack()
  3621. #endif // TAPI_H