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.

304 lines
10 KiB

  1. #ifndef TAPICLIENT_H
  2. #define TAPICLIENT_H
  3. #include <windows.h>
  4. #include "tapi.h"
  5. #if TAPI_CURRENT_VERSION < 0x00020000
  6. #error Building a 32bit 1.3 or 1.4 TAPI Client Management DLL is not supported
  7. #endif
  8. // tapiclnt.h is only of use in conjunction with tapi.h. Very few types are
  9. // defined in tapiclnt.h. Most types of procedure formal parameters are simply
  10. // passed through from corresponding procedures in tapi.h. A working knowledge
  11. // of the TAPI interface is required for an understanding of this interface.
  12. #ifdef __cplusplus
  13. extern "C" { /* Assume C declarations for C++ */
  14. #endif /* __cplusplus */
  15. #ifndef DECLARE_OPAQUE
  16. #define DECLARE_OPAQUE(name) struct name##__ { int unused; }; \
  17. typedef const struct name##__ FAR* name
  18. #endif // DECLARE_OPAQUE
  19. #ifndef CLIENTAPI
  20. #define CLIENTAPI PASCAL
  21. #endif
  22. DECLARE_OPAQUE(HMANAGEMENTCLIENT);
  23. DECLARE_OPAQUE(HTAPICLIENT);
  24. typedef HMANAGEMENTCLIENT FAR * LPHMANAGEMENTCLIENT;
  25. typedef HTAPICLIENT FAR * LPHTAPICLIENT;
  26. typedef void (CALLBACK * DEVICECHANGECALLBACK)( //;internal
  27. HTAPICLIENT htClient, //;internal
  28. DWORD dwReserved //;internal
  29. ); //;internal
  30. //;internal
  31. typedef struct _TAPIPERMANENTID
  32. {
  33. DWORD dwProviderID;
  34. DWORD dwDeviceID;
  35. } TAPIPERMANENTID, * LPTAPIPERMANENTID;
  36. // prototypes for TAPICLIENT api
  37. LONG
  38. CLIENTAPI
  39. TAPICLIENT_Load(
  40. LPDWORD pdwAPIVersion,
  41. #if 0 //;internal
  42. DWORD dwReserved1,
  43. DWORD dwReserved2,
  44. #endif //;internal
  45. DEVICECHANGECALLBACK LineDeviceChangeCallback, //;internal
  46. DEVICECHANGECALLBACK PhoneDeviceChangeCallback, //;internal
  47. DWORD dwReserved3
  48. );
  49. void
  50. CLIENTAPI
  51. TAPICLIENT_Free(
  52. );
  53. LONG
  54. CLIENTAPI
  55. TAPICLIENT_ClientInitialize(
  56. LPCWSTR pszDomainName,
  57. LPCWSTR pszUserName,
  58. LPCWSTR pszMachineName,
  59. LPHMANAGEMENTCLIENT phmClient
  60. );
  61. LONG
  62. CLIENTAPI
  63. TAPICLIENT_ClientShutdown(
  64. HMANAGEMENTCLIENT hmClient
  65. );
  66. LONG //;internal
  67. CLIENTAPI //;internal
  68. TAPICLIENT_GetDeviceAccess( //;internal
  69. HMANAGEMENTCLIENT hmClient, //;internal
  70. HTAPICLIENT htClient, //;internal
  71. LPTAPIPERMANENTID pLineMap, //;internal
  72. PDWORD pdwLineDevices, //;internal
  73. LPTAPIPERMANENTID pPhoneMap, //;internal
  74. PDWORD pdwPhoneDevices //;internal
  75. ); //;internal
  76. LONG
  77. CLIENTAPI
  78. TAPICLIENT_LineAddToConference(
  79. HMANAGEMENTCLIENT hmClient,
  80. LPTAPIPERMANENTID pID,
  81. LPLINECALLINFO lpConsultCallCallInfo
  82. );
  83. LONG
  84. CLIENTAPI
  85. TAPICLIENT_LineBlindTransfer(
  86. HMANAGEMENTCLIENT hmClient,
  87. LPTAPIPERMANENTID pID,
  88. LPWSTR lpszDestAddress,
  89. LPDWORD lpdwSize,
  90. LPDWORD pdwCountryCodeOut
  91. );
  92. LONG
  93. CLIENTAPI
  94. TAPICLIENT_LineConfigDialog(
  95. HMANAGEMENTCLIENT hmClient,
  96. LPTAPIPERMANENTID pID,
  97. LPCWSTR lpszDeviceClass
  98. );
  99. LONG
  100. CLIENTAPI
  101. TAPICLIENT_LineDial(
  102. HMANAGEMENTCLIENT hmClient,
  103. LPTAPIPERMANENTID pID,
  104. DWORD dwReserved,
  105. LPWSTR lpszDestAddress,
  106. LPDWORD pdwSize,
  107. LPDWORD pdwCountyCode
  108. );
  109. LONG
  110. CLIENTAPI
  111. TAPICLIENT_LineForward(
  112. HMANAGEMENTCLIENT hmClient,
  113. LPTAPIPERMANENTID pID,
  114. LPLINEFORWARDLIST lpFowardList,
  115. LPDWORD pdwSize,
  116. LPLINECALLPARAMS lpCallParams,
  117. LPDWORD pdwParamsSize
  118. );
  119. LONG
  120. CLIENTAPI
  121. TAPICLIENT_LineGenerateDigits(
  122. HMANAGEMENTCLIENT hmClient,
  123. LPTAPIPERMANENTID pID,
  124. DWORD dwReserved,
  125. LPCWSTR lpszDigits
  126. );
  127. LONG
  128. CLIENTAPI
  129. TAPICLIENT_LineMakeCall(
  130. HMANAGEMENTCLIENT hmClient,
  131. LPTAPIPERMANENTID pID,
  132. DWORD dwReserved,
  133. LPWSTR lpszDestAddress,
  134. LPDWORD pdwSize,
  135. LPDWORD pdwCountryCode,
  136. LPLINECALLPARAMS lpCallParams,
  137. LPDWORD pdwCallParamsSize
  138. );
  139. LONG
  140. CLIENTAPI
  141. TAPICLIENT_LineOpen(
  142. HMANAGEMENTCLIENT hmClient,
  143. LPTAPIPERMANENTID pID,
  144. DWORD dwAPIVersion,
  145. DWORD dwExtVersion,
  146. DWORD dwPrivileges,
  147. DWORD dwMediaModes,
  148. LPLINECALLPARAMS lpCallParams,
  149. LPDWORD lpdwSize
  150. );
  151. LONG
  152. CLIENTAPI
  153. TAPICLIENT_LineRedirect(
  154. HMANAGEMENTCLIENT hmClient,
  155. LPTAPIPERMANENTID pID,
  156. LPWSTR lpszDestAddress,
  157. LPDWORD pdwSize,
  158. LPDWORD pdwCountryCode
  159. );
  160. LONG
  161. CLIENTAPI
  162. TAPICLIENT_LineSetCallData(
  163. HMANAGEMENTCLIENT hmClient,
  164. LPTAPIPERMANENTID pID,
  165. LPVOID lpCallData,
  166. LPDWORD pdwSize
  167. );
  168. LONG
  169. CLIENTAPI
  170. TAPICLIENT_LineSetCallParams(
  171. HMANAGEMENTCLIENT hmClient,
  172. LPTAPIPERMANENTID pID,
  173. DWORD dwBearerMode,
  174. DWORD dwMinRate,
  175. DWORD dwMaxRate,
  176. LPLINEDIALPARAMS lpDialParams
  177. );
  178. LONG
  179. CLIENTAPI
  180. TAPICLIENT_LineSetCallPrivilege(
  181. HMANAGEMENTCLIENT hmClient,
  182. LPTAPIPERMANENTID pID,
  183. DWORD dwCallPrivilege
  184. );
  185. LONG
  186. CLIENTAPI
  187. TAPICLIENT_LineSetCallTreatment(
  188. HMANAGEMENTCLIENT hmClient,
  189. LPTAPIPERMANENTID pID,
  190. DWORD dwCallTreatment
  191. );
  192. LONG
  193. CLIENTAPI
  194. TAPICLIENT_LineSetCurrentLocation(
  195. HMANAGEMENTCLIENT hmClient,
  196. LPTAPIPERMANENTID pID,
  197. LPDWORD dwLocation
  198. );
  199. LONG
  200. CLIENTAPI
  201. TAPICLIENT_LineSetDevConfig(
  202. HMANAGEMENTCLIENT hmClient,
  203. LPTAPIPERMANENTID pID,
  204. LPVOID lpDevConfig,
  205. LPDWORD pdwSize,
  206. LPCWSTR lpszDeviceClass
  207. );
  208. LONG
  209. CLIENTAPI
  210. TAPICLIENT_LineSetLineDevStatus(
  211. HMANAGEMENTCLIENT hmClient,
  212. LPTAPIPERMANENTID pID,
  213. DWORD dwStatusToChange,
  214. DWORD fStatus
  215. );
  216. LONG
  217. CLIENTAPI
  218. TAPICLIENT_LineSetMediaControl(
  219. HMANAGEMENTCLIENT hmClient,
  220. LPTAPIPERMANENTID pID,
  221. LPLINEMEDIACONTROLDIGIT const lpDigitList,
  222. DWORD dwDigitNumEntries,
  223. LPLINEMEDIACONTROLMEDIA const lpMediaList,
  224. DWORD dwMediaNumEntries,
  225. LPLINEMEDIACONTROLTONE const lpToneList,
  226. DWORD dwToneNumEntries,
  227. LPLINEMEDIACONTROLCALLSTATE const lpCallstateList,
  228. DWORD dwCallstateNumEntries
  229. );
  230. LONG
  231. CLIENTAPI
  232. TAPICLIENT_LineSetMediaMode(
  233. HMANAGEMENTCLIENT hmClient,
  234. LPTAPIPERMANENTID pID,
  235. DWORD dwMediaModes
  236. );
  237. LONG
  238. CLIENTAPI
  239. TAPICLIENT_LineSetTerminal(
  240. HMANAGEMENTCLIENT hmClient,
  241. LPTAPIPERMANENTID pID,
  242. DWORD dwTerminalModes,
  243. DWORD dwTerminalID,
  244. BOOL bEnable
  245. );
  246. LONG
  247. CLIENTAPI
  248. TAPICLIENT_LineSetTollList(
  249. HMANAGEMENTCLIENT hmClient,
  250. LPTAPIPERMANENTID pID,
  251. LPCWSTR lpszAddress,
  252. DWORD dwTollListOption
  253. );
  254. LONG
  255. CLIENTAPI
  256. TAPICLIENT_PhoneConfigDialog(
  257. HMANAGEMENTCLIENT hmClient,
  258. LPTAPIPERMANENTID pID,
  259. LPCWSTR lpszDeviceClass
  260. );
  261. LONG
  262. CLIENTAPI
  263. TAPICLIENT_PhoneOpen(
  264. HMANAGEMENTCLIENT hmClient,
  265. LPTAPIPERMANENTID pID,
  266. DWORD dwAPIVersion,
  267. DWORD dwExtVersion,
  268. DWORD dwPrivilege
  269. );
  270. #ifdef __cplusplus
  271. } /* End of extern "C" { */
  272. #endif /* __cplusplus */
  273. #endif // TAPICLIENT_H