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.

280 lines
5.3 KiB

  1. /*++
  2. Copyright (c) 1997-1998 Microsoft Corporation
  3. Module Name:
  4. tapimmc.h
  5. Abstract:
  6. Definitions & prototypes for TAPI MMC support APIs
  7. Author:
  8. Dan Knudson (DanKn) 10-Dec-1997
  9. Revision History:
  10. Notes:
  11. --*/
  12. #ifdef __cplusplus
  13. extern "C" { /* Assume C declarations for C++ */
  14. #endif /* __cplusplus */
  15. #define HMMCAPP HANDLE
  16. #define LPHMMCAPP LPHANDLE
  17. #define TAPISERVERCONFIGFLAGS_ISSERVER 0x00000001
  18. #define TAPISERVERCONFIGFLAGS_ENABLESERVER 0x00000002
  19. #define TAPISERVERCONFIGFLAGS_SETACCOUNT 0x00000004
  20. #define TAPISERVERCONFIGFLAGS_SETTAPIADMINISTRATORS 0x00000008
  21. #define TAPISERVERCONFIGFLAGS_NOSERVICECONTROL 0x00000010
  22. #define TAPISERVERCONFIGFLAGS_LOCKMMCWRITE 0x00000020
  23. #define TAPISERVERCONFIGFLAGS_UNLOCKMMCWRITE 0x00000040
  24. #define AVAILABLEPROVIDER_INSTALLABLE 0x00000001
  25. #define AVAILABLEPROVIDER_CONFIGURABLE 0x00000002
  26. #define AVAILABLEPROVIDER_REMOVABLE 0x00000004
  27. typedef struct _DEVICEINFO
  28. {
  29. DWORD dwPermanentDeviceID;
  30. DWORD dwProviderID;
  31. DWORD dwDeviceNameSize;
  32. DWORD dwDeviceNameOffset;
  33. DWORD dwAddressesSize; // Valid for line devices only
  34. DWORD dwAddressesOffset; // Valid for line devices only
  35. DWORD dwDomainUserNamesSize;
  36. DWORD dwDomainUserNamesOffset;
  37. DWORD dwFriendlyUserNamesSize;
  38. DWORD dwFriendlyUserNamesOffset;
  39. } DEVICEINFO, *LPDEVICEINFO;
  40. typedef struct _DEVICEINFOLIST
  41. {
  42. DWORD dwTotalSize;
  43. DWORD dwNeededSize;
  44. DWORD dwUsedSize;
  45. DWORD dwNumDeviceInfoEntries;
  46. DWORD dwDeviceInfoSize;
  47. DWORD dwDeviceInfoOffset;
  48. } DEVICEINFOLIST, *LPDEVICEINFOLIST;
  49. typedef struct _TAPISERVERCONFIG
  50. {
  51. DWORD dwTotalSize;
  52. DWORD dwNeededSize;
  53. DWORD dwUsedSize;
  54. DWORD dwFlags;
  55. DWORD dwDomainNameSize;
  56. DWORD dwDomainNameOffset;
  57. DWORD dwUserNameSize;
  58. DWORD dwUserNameOffset;
  59. DWORD dwPasswordSize;
  60. DWORD dwPasswordOffset;
  61. DWORD dwAdministratorsSize;
  62. DWORD dwAdministratorsOffset;
  63. } TAPISERVERCONFIG, *LPTAPISERVERCONFIG;
  64. typedef struct _AVAILABLEPROVIDERENTRY
  65. {
  66. DWORD dwFileNameSize;
  67. DWORD dwFileNameOffset;
  68. DWORD dwFriendlyNameSize;
  69. DWORD dwFriendlyNameOffset;
  70. DWORD dwOptions;
  71. } AVAILABLEPROVIDERENTRY, *LPAVAILABLEPROVIDERENTRY;
  72. typedef struct _AVAILABLEPROVIDERLIST
  73. {
  74. DWORD dwTotalSize;
  75. DWORD dwNeededSize;
  76. DWORD dwUsedSize;
  77. DWORD dwNumProviderListEntries;
  78. DWORD dwProviderListSize;
  79. DWORD dwProviderListOffset;
  80. } AVAILABLEPROVIDERLIST, *LPAVAILABLEPROVIDERLIST;
  81. LONG
  82. WINAPI
  83. MMCAddProvider(
  84. HMMCAPP hMmcApp,
  85. HWND hwndOwner,
  86. LPCWSTR lpszProviderFilename,
  87. LPDWORD lpdwProviderID
  88. );
  89. LONG
  90. WINAPI
  91. MMCConfigProvider(
  92. HMMCAPP hMmcApp,
  93. HWND hwndOwner,
  94. DWORD dwProviderID
  95. );
  96. LONG
  97. WINAPI
  98. MMCGetAvailableProviders(
  99. HMMCAPP hMmcApp,
  100. LPAVAILABLEPROVIDERLIST lpProviderList
  101. );
  102. LONG
  103. WINAPI
  104. MMCGetLineInfo(
  105. HMMCAPP hMmcApp,
  106. LPDEVICEINFOLIST lpDeviceInfoList
  107. );
  108. LONG
  109. WINAPI
  110. MMCGetLineStatus(
  111. HMMCAPP hMmcApp,
  112. HWND hwndOwner,
  113. DWORD dwStatusLevel,
  114. DWORD dwProviderID,
  115. DWORD dwPermanentLineID,
  116. LPVARSTRING lpStatusBuffer
  117. );
  118. LONG
  119. WINAPI
  120. MMCGetPhoneInfo(
  121. HMMCAPP hMmcApp,
  122. LPDEVICEINFOLIST lpDeviceInfoList
  123. );
  124. LONG
  125. WINAPI
  126. MMCGetPhoneStatus(
  127. HMMCAPP hMmcApp,
  128. HWND hwndOwner,
  129. DWORD dwStatusLevel,
  130. DWORD dwProviderID,
  131. DWORD dwPermanentPhoneID,
  132. LPVARSTRING lpStatusBuffer
  133. );
  134. LONG
  135. WINAPI
  136. MMCGetProviderList(
  137. HMMCAPP hMmcApp,
  138. LPLINEPROVIDERLIST lpProviderList
  139. );
  140. LONG
  141. WINAPI
  142. MMCGetServerConfig(
  143. HMMCAPP hMmcApp,
  144. LPTAPISERVERCONFIG lpConfig
  145. );
  146. LONG
  147. WINAPI
  148. MMCInitialize(
  149. LPCWSTR lpszComputerName,
  150. LPHMMCAPP lphMmcApp,
  151. LPDWORD lpdwAPIVersion,
  152. HANDLE hReinitializeEvent
  153. );
  154. LONG
  155. WINAPI
  156. MMCRemoveProvider(
  157. HMMCAPP hMmcApp,
  158. HWND hwndOwner,
  159. DWORD dwProviderID
  160. );
  161. LONG
  162. WINAPI
  163. MMCSetLineInfo(
  164. HMMCAPP hMmcApp,
  165. LPDEVICEINFOLIST lpDeviceInfoList
  166. );
  167. LONG
  168. WINAPI
  169. MMCSetPhoneInfo(
  170. HMMCAPP hMmcApp,
  171. LPDEVICEINFOLIST lpDeviceInfoList
  172. );
  173. LONG
  174. WINAPI
  175. MMCSetServerConfig(
  176. HMMCAPP hMmcApp,
  177. LPTAPISERVERCONFIG lpConfig
  178. );
  179. LONG
  180. WINAPI
  181. MMCGetDeviceFlags(
  182. HMMCAPP hMmcApp,
  183. BOOL bLine,
  184. DWORD dwProviderID,
  185. DWORD dwPermanentDeviceID,
  186. DWORD * pdwFlags,
  187. DWORD * pdwDeviceID
  188. );
  189. LONG
  190. WINAPI
  191. MMCShutdown(
  192. HMMCAPP hMmcApp
  193. );
  194. #ifdef __cplusplus
  195. } /* End of extern "C" { */
  196. #endif /* __cplusplus */