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.

327 lines
6.7 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. faxrpc.idl
  5. Abstract:
  6. Contains the remoted fax service apis.
  7. Author:
  8. Wesley Witt (wesw) 10-Jan-1996
  9. Environment:
  10. User-mode - Win32 - MIDL
  11. --*/
  12. //
  13. // Interface Attributes
  14. //
  15. [
  16. uuid(ea0a3165-4834-11d2-a6f8-00c04fa346cc),
  17. version(4.0),
  18. pointer_default(unique)
  19. ]
  20. //
  21. // Interface Keyword
  22. //
  23. interface fax
  24. //
  25. // Interface Body
  26. //
  27. {
  28. import "imports.idl"; // import all the include files
  29. //
  30. // Context handles
  31. //
  32. typedef [context_handle] HANDLE RPC_FAX_PORT_HANDLE;
  33. typedef [ref] RPC_FAX_PORT_HANDLE *PRPC_FAX_PORT_HANDLE;
  34. typedef [context_handle] HANDLE RPC_FAX_JOB_HANDLE;
  35. typedef [ref] RPC_FAX_JOB_HANDLE *PRPC_FAX_JOB_HANDLE;
  36. typedef [context_handle] HANDLE RPC_FAX_SVC_HANDLE;
  37. typedef [ref] RPC_FAX_SVC_HANDLE *PRPC_FAX_SVC_HANDLE;
  38. //
  39. // functions
  40. //
  41. error_status_t
  42. FAX_ConnectionRefCount(
  43. [in] handle_t hBinding,
  44. [in, out] PRPC_FAX_SVC_HANDLE Handle,
  45. [in] DWORD Connect,
  46. [out] LPDWORD CanShare
  47. );
  48. error_status_t
  49. FAX_GetVersion(
  50. [in] handle_t hBinding,
  51. [out] LPDWORD Version
  52. );
  53. error_status_t
  54. FAX_GetInstallType(
  55. [in] handle_t hBinding,
  56. [out] LPDWORD InstallType,
  57. [out] LPDWORD InstalledPlatforms,
  58. [out] LPDWORD ProductType
  59. );
  60. error_status_t
  61. FAX_OpenPort(
  62. [in] handle_t hBinding,
  63. [in] DWORD DeviceId,
  64. [in] DWORD Flags,
  65. [out] PRPC_FAX_PORT_HANDLE FaxPortHandle
  66. );
  67. error_status_t
  68. FAX_ClosePort(
  69. [in,out] PRPC_FAX_PORT_HANDLE FaxPortHandle
  70. );
  71. error_status_t
  72. FAX_SendDocument(
  73. [in] handle_t hBinding,
  74. [in, string, unique] LPCTSTR FileName,
  75. [in] const FAX_JOB_PARAMW *JobParams,
  76. [out] LPDWORD FaxJobId
  77. );
  78. error_status_t
  79. FAX_GetQueueFileName(
  80. [in] handle_t hBinding,
  81. [in, out, unique, size_is(FileNameSize)] LPTSTR FileName,
  82. [in] DWORD FileNameSize
  83. );
  84. error_status_t
  85. FAX_EnumJobs(
  86. [in] handle_t hBinding,
  87. [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer,
  88. [in,out] LPDWORD BufferSize,
  89. [out] LPDWORD JobsReturned
  90. );
  91. error_status_t
  92. FAX_GetJob(
  93. [in] handle_t hBinding,
  94. [in] DWORD JobId,
  95. [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer,
  96. [in,out] LPDWORD BufferSize
  97. );
  98. error_status_t
  99. FAX_SetJob(
  100. [in] handle_t hBinding,
  101. [in] DWORD JobId,
  102. [in] DWORD Command,
  103. [in] const FAX_JOB_ENTRY *JobEntry
  104. );
  105. error_status_t
  106. FAX_GetPageData(
  107. [in] handle_t hBinding,
  108. [in] DWORD JobId,
  109. [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer,
  110. [in,out] LPDWORD BufferSize,
  111. [in,out] LPDWORD ImageWidth,
  112. [in,out] LPDWORD ImageHeight
  113. );
  114. error_status_t
  115. FAX_GetDeviceStatus(
  116. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  117. [in, out, unique, size_is(,*BufferSize)] LPBYTE*StatusBuffer,
  118. [in,out] LPDWORD BufferSize
  119. );
  120. error_status_t
  121. FAX_Abort(
  122. [in] handle_t hBinding,
  123. [in] DWORD JobId
  124. );
  125. error_status_t
  126. FAX_EnumPorts(
  127. [in] handle_t hBinding,
  128. [in, out, unique, size_is(,*BufferSize)] LPBYTE *PortBuffer,
  129. [in,out] LPDWORD BufferSize,
  130. [out] LPDWORD PortsReturned
  131. );
  132. error_status_t
  133. FAX_GetPort(
  134. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  135. [in, out, unique, size_is(,*BufferSize)] LPBYTE *PortBuffer,
  136. [in,out] LPDWORD BufferSize
  137. );
  138. error_status_t
  139. FAX_SetPort(
  140. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  141. [in] const FAX_PORT_INFO *PortInfo
  142. );
  143. error_status_t
  144. FAX_EnumRoutingMethods(
  145. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  146. [in, out, unique, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer,
  147. [in,out] LPDWORD RoutingInfoBufferSize,
  148. [out] LPDWORD PortsReturned
  149. );
  150. error_status_t
  151. FAX_EnableRoutingMethod(
  152. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  153. [in, string, unique] LPCTSTR RoutingGuid,
  154. [in] BOOL Enabled
  155. );
  156. error_status_t
  157. FAX_GetRoutingInfo(
  158. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  159. [in, string, unique] LPCTSTR RoutingGuid,
  160. [in, out, unique, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer,
  161. [in,out] LPDWORD RoutingInfoBufferSize
  162. );
  163. error_status_t
  164. FAX_SetRoutingInfo(
  165. [in] RPC_FAX_PORT_HANDLE FaxPortHandle,
  166. [in, string, unique] LPCTSTR RoutingGuid,
  167. [in, unique, size_is(RoutingInfoBufferSize)] const BYTE *RoutingInfoBuffer,
  168. [in] DWORD RoutingInfoBufferSize
  169. );
  170. error_status_t
  171. FAX_EnumGlobalRoutingInfo(
  172. [in] handle_t hBinding,
  173. [in, out, unique, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer,
  174. [in,out] LPDWORD RoutingInfoBufferSize,
  175. [out] LPDWORD MethodsReturned
  176. );
  177. error_status_t
  178. FAX_SetGlobalRoutingInfo(
  179. [in] handle_t hBinding,
  180. [in] const FAX_GLOBAL_ROUTING_INFOW *RoutingInfo
  181. );
  182. error_status_t
  183. FAX_GetConfiguration(
  184. [in] handle_t hBinding,
  185. [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer,
  186. [in,out] LPDWORD BufferSize
  187. );
  188. error_status_t
  189. FAX_SetConfiguration(
  190. [in] handle_t hBinding,
  191. [in] const FAX_CONFIGURATION *FaxConfig
  192. );
  193. error_status_t
  194. FAX_GetLoggingCategories(
  195. [in] handle_t hBinding,
  196. [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer,
  197. [in,out] LPDWORD BufferSize,
  198. [in,out] LPDWORD NumberCategories
  199. );
  200. error_status_t
  201. FAX_SetLoggingCategories(
  202. [in] handle_t hBinding,
  203. [in, unique, size_is(BufferSize)] const LPBYTE Buffer,
  204. [in] DWORD BufferSize,
  205. [in] DWORD NumberCategories
  206. );
  207. error_status_t
  208. FAX_GetTapiLocations(
  209. [in] handle_t hBinding,
  210. [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer,
  211. [in,out] LPDWORD BufferSize
  212. );
  213. error_status_t
  214. FAX_SetTapiLocations(
  215. [in] handle_t hBinding,
  216. [in, unique, size_is(BufferSize)] LPBYTE Buffer,
  217. [in] DWORD BufferSize
  218. );
  219. error_status_t
  220. FAX_GetMapiProfiles(
  221. [in] handle_t hBinding,
  222. [in, out, unique, size_is(,*BufferSize)] LPBYTE *MapiProfiles,
  223. [in,out] LPDWORD BufferSize
  224. );
  225. error_status_t
  226. FAX_StartClientServer(
  227. [in] handle_t hBinding,
  228. [in, string, unique] LPCTSTR MachineName,
  229. [in, string, unique] LPCTSTR ClientName,
  230. [in] ULONG64 Context
  231. );
  232. error_status_t
  233. FAX_RegisterEventWindow(
  234. [in] handle_t hBinding,
  235. [in] ULONG64 hWnd,
  236. [in] UINT MessageStart,
  237. [in, string, unique] LPCTSTR WindowStation,
  238. [in, string, unique] LPCTSTR Desktop,
  239. [out] LPDWORD Reserved
  240. );
  241. error_status_t
  242. FAX_GetSecurityDescriptor(
  243. [in] handle_t hBinding,
  244. [in] DWORD Id,
  245. [in, out, unique, size_is(,*BufferSize)] LPBYTE * FaxSecurityDescriptor,
  246. [in, out] LPDWORD BufferSize
  247. )
  248. ;
  249. error_status_t
  250. FAX_SetSecurityDescriptor(
  251. [in] handle_t hBinding,
  252. [in, unique, size_is(BufferSize)] const LPBYTE FaxSecurityDescriptor,
  253. [in] DWORD BufferSize
  254. );
  255. error_status_t
  256. FAX_GetSecurityDescriptorCount(
  257. [in] handle_t hBinding,
  258. [out] LPDWORD Count
  259. );
  260. error_status_t
  261. FAX_AccessCheck(
  262. [in] handle_t hBinding,
  263. [in] DWORD AccessMask,
  264. [out] LPDWORD fAccess
  265. );
  266. }