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.

261 lines
5.4 KiB

  1. /*++
  2. Copyright (c) 1996-1998 Microsoft Corporation
  3. Module Name:
  4. winfax.h
  5. Abstract:
  6. This module contains the WIN32 FAX APIs.
  7. --*/
  8. #ifndef _FAXAPIP_
  9. #define _FAXAPIP_
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #define FPF_OBSOLETE 0x00000008
  14. #define FPF_NEW 0x00000010
  15. #define FPF_SELECTED 0x00000020
  16. //
  17. // the reserved fields are private data used
  18. // by the fax monitor and winfax.
  19. //
  20. //
  21. // Reserved[0] == 0xffffffff
  22. // Reserved[1] == Print job id
  23. //
  24. // Reserved[0] == 0xfffffffe start of a broadcast job
  25. //
  26. typedef struct _FAX_TAPI_LOCATIONSA {
  27. DWORD PermanentLocationID;
  28. LPCSTR LocationName;
  29. DWORD CountryCode;
  30. DWORD AreaCode;
  31. DWORD NumTollPrefixes;
  32. LPCSTR TollPrefixes;
  33. } FAX_TAPI_LOCATIONSA, *PFAX_TAPI_LOCATIONSA;
  34. typedef struct _FAX_TAPI_LOCATIONSW {
  35. DWORD PermanentLocationID;
  36. LPCWSTR LocationName;
  37. DWORD CountryCode;
  38. DWORD AreaCode;
  39. DWORD NumTollPrefixes;
  40. LPCWSTR TollPrefixes;
  41. } FAX_TAPI_LOCATIONSW, *PFAX_TAPI_LOCATIONSW;
  42. #ifdef UNICODE
  43. typedef FAX_TAPI_LOCATIONSW FAX_TAPI_LOCATIONS;
  44. typedef PFAX_TAPI_LOCATIONSW PFAX_TAPI_LOCATIONS;
  45. #else
  46. typedef FAX_TAPI_LOCATIONSA FAX_TAPI_LOCATIONS;
  47. typedef PFAX_TAPI_LOCATIONSA PFAX_TAPI_LOCATIONS;
  48. #endif // UNICODE
  49. typedef struct _FAX_TAPI_LOCATION_INFOA {
  50. DWORD CurrentLocationID;
  51. DWORD NumLocations;
  52. PFAX_TAPI_LOCATIONSA TapiLocations;
  53. } FAX_TAPI_LOCATION_INFOA, *PFAX_TAPI_LOCATION_INFOA;
  54. typedef struct _FAX_TAPI_LOCATION_INFOW {
  55. DWORD CurrentLocationID;
  56. DWORD NumLocations;
  57. PFAX_TAPI_LOCATIONSW TapiLocations;
  58. } FAX_TAPI_LOCATION_INFOW, *PFAX_TAPI_LOCATION_INFOW;
  59. #ifdef UNICODE
  60. typedef FAX_TAPI_LOCATION_INFOW FAX_TAPI_LOCATION_INFO;
  61. typedef PFAX_TAPI_LOCATION_INFOW PFAX_TAPI_LOCATION_INFO;
  62. #else
  63. typedef FAX_TAPI_LOCATION_INFOA FAX_TAPI_LOCATION_INFO;
  64. typedef PFAX_TAPI_LOCATION_INFOA PFAX_TAPI_LOCATION_INFO;
  65. #endif // UNICODE
  66. WINFAXAPI
  67. BOOL
  68. WINAPI
  69. FaxGetVersion(
  70. IN HANDLE FaxHandle,
  71. OUT LPDWORD Version
  72. );
  73. typedef BOOL
  74. (WINAPI *PFAXGETVERSION)(
  75. IN HANDLE FaxHandle,
  76. OUT LPDWORD Version
  77. );
  78. WINFAXAPI
  79. BOOL
  80. WINAPI
  81. FaxGetTapiLocationsA(
  82. IN HANDLE FaxHandle,
  83. OUT PFAX_TAPI_LOCATION_INFOA *TapiLocationInfo
  84. );
  85. WINFAXAPI
  86. BOOL
  87. WINAPI
  88. FaxGetTapiLocationsW(
  89. IN HANDLE FaxHandle,
  90. OUT PFAX_TAPI_LOCATION_INFOW *TapiLocationInfo
  91. );
  92. #ifdef UNICODE
  93. #define FaxGetTapiLocations FaxGetTapiLocationsW
  94. #else
  95. #define FaxGetTapiLocations FaxGetTapiLocationsA
  96. #endif // !UNICODE
  97. typedef BOOL
  98. (WINAPI *PFAXGETTAPILOCATIONSA)(
  99. IN HANDLE FaxHandle,
  100. OUT PFAX_TAPI_LOCATION_INFOA *TapiLocationInfo
  101. );
  102. typedef BOOL
  103. (WINAPI *PFAXGETTAPILOCATIONSW)(
  104. IN HANDLE FaxHandle,
  105. OUT PFAX_TAPI_LOCATION_INFOW *TapiLocationInfo
  106. );
  107. #ifdef UNICODE
  108. #define PFAXGETTAPILOCATIONS PFAXGETTAPILOCATIONSW
  109. #else
  110. #define PFAXGETTAPILOCATIONS PFAXGETTAPILOCATIONSA
  111. #endif // !UNICODE
  112. WINFAXAPI
  113. BOOL
  114. WINAPI
  115. FaxSetTapiLocationsA(
  116. IN HANDLE FaxHandle,
  117. IN PFAX_TAPI_LOCATION_INFOA TapiLocationInfo
  118. );
  119. WINFAXAPI
  120. BOOL
  121. WINAPI
  122. FaxSetTapiLocationsW(
  123. IN HANDLE FaxHandle,
  124. IN PFAX_TAPI_LOCATION_INFOW TapiLocationInfo
  125. );
  126. #ifdef UNICODE
  127. #define FaxSetTapiLocations FaxSetTapiLocationsW
  128. #else
  129. #define FaxSetTapiLocations FaxSetTapiLocationsA
  130. #endif // !UNICODE
  131. typedef BOOL
  132. (WINAPI *PFAXSETTAPILOCATIONSA)(
  133. IN HANDLE FaxHandle,
  134. IN PFAX_TAPI_LOCATION_INFOA TapiLocationInfo
  135. );
  136. typedef BOOL
  137. (WINAPI *PFAXSETTAPILOCATIONSW)(
  138. IN HANDLE FaxHandle,
  139. IN PFAX_TAPI_LOCATION_INFOW TapiLocationInfo
  140. );
  141. #ifdef UNICODE
  142. #define PFAXSETTAPILOCATIONS PFAXSETTAPILOCATIONSW
  143. #else
  144. #define PFAXSETTAPILOCATIONS PFAXSETTAPILOCATIONSA
  145. #endif // !UNICODE
  146. WINFAXAPI
  147. BOOL
  148. WINAPI
  149. FaxGetMapiProfilesA(
  150. IN HANDLE FaxHandle,
  151. OUT LPBYTE *MapiProfiles
  152. );
  153. WINFAXAPI
  154. BOOL
  155. WINAPI
  156. FaxGetMapiProfilesW(
  157. IN HANDLE FaxHandle,
  158. OUT LPBYTE *MapiProfiles
  159. );
  160. #ifdef UNICODE
  161. #define FaxGetMapiProfiles FaxGetMapiProfilesW
  162. #else
  163. #define FaxGetMapiProfiles FaxGetMapiProfilesA
  164. #endif // !UNICODE
  165. typedef BOOL
  166. (WINAPI *PFAXGETMAPIPROFILESA)(
  167. IN HANDLE FaxHandle,
  168. OUT LPBYTE *MapiProfiles
  169. );
  170. typedef BOOL
  171. (WINAPI *PFAXGETMAPIPROFILESW)(
  172. IN HANDLE FaxHandle,
  173. OUT LPBYTE *MapiProfiles
  174. );
  175. #ifdef UNICODE
  176. #define PFAXGETMAPIPROFILES PFAXGETMAPIPROFILESW
  177. #else
  178. #define PFAXGETMAPIPROFILES PFAXGETMAPIPROFILESA
  179. #endif // !UNICODE
  180. typedef struct FaxSecurityDescriptor {
  181. DWORD Id;
  182. LPWSTR FriendlyName;
  183. LPBYTE SecurityDescriptor;
  184. } FAX_SECURITY_DESCRIPTOR, * PFAX_SECURITY_DESCRIPTOR;
  185. WINFAXAPI
  186. BOOL
  187. WINAPI
  188. FaxGetSecurityDescriptorCount(
  189. IN HANDLE FaxHandle,
  190. OUT LPDWORD Count
  191. );
  192. WINFAXAPI
  193. BOOL
  194. WINAPI
  195. FaxGetSecurityDescriptor(
  196. IN HANDLE FaxHandle,
  197. IN DWORD Id,
  198. OUT PFAX_SECURITY_DESCRIPTOR * FaxSecurityDescriptor
  199. );
  200. WINFAXAPI
  201. BOOL
  202. WINAPI
  203. FaxSetSecurityDescriptor(
  204. IN HANDLE FaxHandle,
  205. IN PFAX_SECURITY_DESCRIPTOR FaxSecurityDescriptor
  206. );
  207. WINFAXAPI
  208. BOOL
  209. WINAPI
  210. FaxGetInstallType(
  211. IN HANDLE FaxHandle,
  212. OUT LPDWORD InstallType,
  213. OUT LPDWORD InstalledPlatforms,
  214. OUT LPDWORD ProductType
  215. );
  216. typedef BOOL
  217. (WINAPI *PFAXGETINSTALLTYPE)(
  218. IN HANDLE FaxHandle,
  219. OUT LPDWORD InstallType,
  220. OUT LPDWORD InstalledPlatforms,
  221. OUT LPDWORD ProductType
  222. );
  223. #ifdef __cplusplus
  224. }
  225. #endif
  226. #endif