Leaked source code of windows server 2003
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.

9162 lines
290 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for imnxport.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __imnxport_h__
  27. #define __imnxport_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ITransportCallbackService_FWD_DEFINED__
  33. #define __ITransportCallbackService_FWD_DEFINED__
  34. typedef interface ITransportCallbackService ITransportCallbackService;
  35. #endif /* __ITransportCallbackService_FWD_DEFINED__ */
  36. #ifndef __ITransportCallback_FWD_DEFINED__
  37. #define __ITransportCallback_FWD_DEFINED__
  38. typedef interface ITransportCallback ITransportCallback;
  39. #endif /* __ITransportCallback_FWD_DEFINED__ */
  40. #ifndef __IInternetTransport_FWD_DEFINED__
  41. #define __IInternetTransport_FWD_DEFINED__
  42. typedef interface IInternetTransport IInternetTransport;
  43. #endif /* __IInternetTransport_FWD_DEFINED__ */
  44. #ifndef __ISMTPCallback_FWD_DEFINED__
  45. #define __ISMTPCallback_FWD_DEFINED__
  46. typedef interface ISMTPCallback ISMTPCallback;
  47. #endif /* __ISMTPCallback_FWD_DEFINED__ */
  48. #ifndef __ISMTPTransport_FWD_DEFINED__
  49. #define __ISMTPTransport_FWD_DEFINED__
  50. typedef interface ISMTPTransport ISMTPTransport;
  51. #endif /* __ISMTPTransport_FWD_DEFINED__ */
  52. #ifndef __ISMTPTransport2_FWD_DEFINED__
  53. #define __ISMTPTransport2_FWD_DEFINED__
  54. typedef interface ISMTPTransport2 ISMTPTransport2;
  55. #endif /* __ISMTPTransport2_FWD_DEFINED__ */
  56. #ifndef __IDAVNamespaceArbiter_FWD_DEFINED__
  57. #define __IDAVNamespaceArbiter_FWD_DEFINED__
  58. typedef interface IDAVNamespaceArbiter IDAVNamespaceArbiter;
  59. #endif /* __IDAVNamespaceArbiter_FWD_DEFINED__ */
  60. #ifndef __IPropPatchRequest_FWD_DEFINED__
  61. #define __IPropPatchRequest_FWD_DEFINED__
  62. typedef interface IPropPatchRequest IPropPatchRequest;
  63. #endif /* __IPropPatchRequest_FWD_DEFINED__ */
  64. #ifndef __IPropFindRequest_FWD_DEFINED__
  65. #define __IPropFindRequest_FWD_DEFINED__
  66. typedef interface IPropFindRequest IPropFindRequest;
  67. #endif /* __IPropFindRequest_FWD_DEFINED__ */
  68. #ifndef __IPropFindMultiResponse_FWD_DEFINED__
  69. #define __IPropFindMultiResponse_FWD_DEFINED__
  70. typedef interface IPropFindMultiResponse IPropFindMultiResponse;
  71. #endif /* __IPropFindMultiResponse_FWD_DEFINED__ */
  72. #ifndef __IPropFindResponse_FWD_DEFINED__
  73. #define __IPropFindResponse_FWD_DEFINED__
  74. typedef interface IPropFindResponse IPropFindResponse;
  75. #endif /* __IPropFindResponse_FWD_DEFINED__ */
  76. #ifndef __IHTTPMailCallback_FWD_DEFINED__
  77. #define __IHTTPMailCallback_FWD_DEFINED__
  78. typedef interface IHTTPMailCallback IHTTPMailCallback;
  79. #endif /* __IHTTPMailCallback_FWD_DEFINED__ */
  80. #ifndef __IHTTPMailTransport_FWD_DEFINED__
  81. #define __IHTTPMailTransport_FWD_DEFINED__
  82. typedef interface IHTTPMailTransport IHTTPMailTransport;
  83. #endif /* __IHTTPMailTransport_FWD_DEFINED__ */
  84. #ifndef __IPOP3Callback_FWD_DEFINED__
  85. #define __IPOP3Callback_FWD_DEFINED__
  86. typedef interface IPOP3Callback IPOP3Callback;
  87. #endif /* __IPOP3Callback_FWD_DEFINED__ */
  88. #ifndef __IPOP3Transport_FWD_DEFINED__
  89. #define __IPOP3Transport_FWD_DEFINED__
  90. typedef interface IPOP3Transport IPOP3Transport;
  91. #endif /* __IPOP3Transport_FWD_DEFINED__ */
  92. #ifndef __INNTPCallback_FWD_DEFINED__
  93. #define __INNTPCallback_FWD_DEFINED__
  94. typedef interface INNTPCallback INNTPCallback;
  95. #endif /* __INNTPCallback_FWD_DEFINED__ */
  96. #ifndef __INNTPTransport_FWD_DEFINED__
  97. #define __INNTPTransport_FWD_DEFINED__
  98. typedef interface INNTPTransport INNTPTransport;
  99. #endif /* __INNTPTransport_FWD_DEFINED__ */
  100. #ifndef __INNTPTransport2_FWD_DEFINED__
  101. #define __INNTPTransport2_FWD_DEFINED__
  102. typedef interface INNTPTransport2 INNTPTransport2;
  103. #endif /* __INNTPTransport2_FWD_DEFINED__ */
  104. #ifndef __IRASCallback_FWD_DEFINED__
  105. #define __IRASCallback_FWD_DEFINED__
  106. typedef interface IRASCallback IRASCallback;
  107. #endif /* __IRASCallback_FWD_DEFINED__ */
  108. #ifndef __IRASTransport_FWD_DEFINED__
  109. #define __IRASTransport_FWD_DEFINED__
  110. typedef interface IRASTransport IRASTransport;
  111. #endif /* __IRASTransport_FWD_DEFINED__ */
  112. #ifndef __IRangeList_FWD_DEFINED__
  113. #define __IRangeList_FWD_DEFINED__
  114. typedef interface IRangeList IRangeList;
  115. #endif /* __IRangeList_FWD_DEFINED__ */
  116. #ifndef __IIMAPCallback_FWD_DEFINED__
  117. #define __IIMAPCallback_FWD_DEFINED__
  118. typedef interface IIMAPCallback IIMAPCallback;
  119. #endif /* __IIMAPCallback_FWD_DEFINED__ */
  120. #ifndef __IIMAPTransport_FWD_DEFINED__
  121. #define __IIMAPTransport_FWD_DEFINED__
  122. typedef interface IIMAPTransport IIMAPTransport;
  123. #endif /* __IIMAPTransport_FWD_DEFINED__ */
  124. #ifndef __IIMAPTransport2_FWD_DEFINED__
  125. #define __IIMAPTransport2_FWD_DEFINED__
  126. typedef interface IIMAPTransport2 IIMAPTransport2;
  127. #endif /* __IIMAPTransport2_FWD_DEFINED__ */
  128. /* header files for imported files */
  129. #include "imnact.h"
  130. #ifdef __cplusplus
  131. extern "C"{
  132. #endif
  133. void * __RPC_USER MIDL_user_allocate(size_t);
  134. void __RPC_USER MIDL_user_free( void * );
  135. /* interface __MIDL_itf_imnxport_0000 */
  136. /* [local] */
  137. //--------------------------------------------------------------------------------
  138. // IMNXPORT.H
  139. //--------------------------------------------------------------------------------
  140. // (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.
  141. //
  142. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  143. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  144. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  145. // PARTICULAR PURPOSE.
  146. //--------------------------------------------------------------------------------
  147. #pragma comment(lib,"uuid.lib")
  148. // --------------------------------------------------------------------------------
  149. // Dependencies
  150. // --------------------------------------------------------------------------------
  151. #include <ras.h>
  152. #include <raserror.h>
  153. // --------------------------------------------------------------------------------
  154. // GUIDS
  155. // --------------------------------------------------------------------------------
  156. // {CA30CC91-B1B3-11d0-85D0-00C04FD85AB4}
  157. DEFINE_GUID(CLSID_IInternetMessageUrl, 0xca30cc91, 0xb1b3, 0x11d0, 0x85, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  158. // {0DF2C7E1-3435-11d0-81D0-00C04FD85AB4}
  159. DEFINE_GUID(IID_ITransportCallback, 0xdf2c7e1, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  160. // {1F636C01-364E-11d0-81D3-00C04FD85AB4}
  161. DEFINE_GUID(IID_IInternetTransport, 0x1f636c01, 0x364e, 0x11d0, 0x81, 0xd3, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  162. // {1F636C02-364E-11d0-81D3-00C04FD85AB4}
  163. DEFINE_GUID(IID_ISMTPCallback, 0x1f636c02, 0x364e, 0x11d0, 0x81, 0xd3, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  164. // {FD853CE6-7F86-11d0-8252-00C04FD85AB4}
  165. DEFINE_GUID(CLSID_ISMTPTransport, 0xfd853ce6, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  166. // {0DF2C7E2-3435-11d0-81D0-00C04FD85AB4}
  167. DEFINE_GUID(IID_ISMTPTransport, 0xdf2c7e2, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  168. // {0DF2C7EC-3435-11d0-81D0-00C04FD85AB4}
  169. DEFINE_GUID(IID_ISMTPTransport2, 0xdf2c7eC, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  170. // {0DF2C7E3-3435-11d0-81D0-00C04FD85AB4}
  171. DEFINE_GUID(IID_IPOP3Callback, 0xdf2c7e3, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  172. // {FD853CE7-7F86-11d0-8252-00C04FD85AB4}
  173. DEFINE_GUID(CLSID_IPOP3Transport, 0xfd853ce7, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  174. // {0DF2C7E4-3435-11d0-81D0-00C04FD85AB4}
  175. DEFINE_GUID(IID_IPOP3Transport, 0xdf2c7e4, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  176. // {0DF2C7E5-3435-11d0-81D0-00C04FD85AB4}
  177. DEFINE_GUID(IID_INNTPCallback, 0xdf2c7e5, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  178. // {FD853CE8-7F86-11d0-8252-00C04FD85AB4}
  179. DEFINE_GUID(CLSID_INNTPTransport, 0xfd853ce8, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  180. // {0DF2C7E6-3435-11d0-81D0-00C04FD85AB4}
  181. DEFINE_GUID(IID_INNTPTransport, 0xdf2c7e6, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  182. // {0DF2C7ED-3435-11d0-81D0-00C04FD85AB4}
  183. DEFINE_GUID(IID_INNTPTransport2, 0xdf2c7eD, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  184. // {36D88911-3CD6-11d0-81DF-00C04FD85AB4}
  185. DEFINE_GUID(IID_IRASCallback, 0x36d88911, 0x3cd6, 0x11d0, 0x81, 0xdf, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  186. // {FD853CE9-7F86-11d0-8252-00C04FD85AB4}
  187. DEFINE_GUID(CLSID_IRASTransport, 0xfd853ce9, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  188. // {8A950001-3CCF-11d0-81DF-00C04FD85AB4}
  189. DEFINE_GUID(IID_IRASTransport, 0x8a950001, 0x3ccf, 0x11d0, 0x81, 0xdf, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  190. // {FD853CEA-7F86-11d0-8252-00C04FD85AB4}
  191. DEFINE_GUID(CLSID_IRangeList, 0xfd853cea, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  192. // {8C438160-4EF6-11d0-874F-00AA00530EE9}
  193. DEFINE_GUID(IID_IRangeList, 0x8c438160, 0x4ef6, 0x11d0, 0x87, 0x4f, 0x0, 0xaa, 0x0, 0x53, 0xe, 0xe9);
  194. // {E9E9D8A3-4EDD-11d0-874F-00AA00530EE9}
  195. DEFINE_GUID(IID_IIMAPCallback, 0xe9e9d8a3, 0x4edd, 0x11d0, 0x87, 0x4f, 0x0, 0xaa, 0x0, 0x53, 0xe, 0xe9);
  196. // {FD853CEB-7F86-11d0-8252-00C04FD85AB4}
  197. DEFINE_GUID(CLSID_IIMAPTransport, 0xfd853ceb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  198. // {E9E9D8A8-4EDD-11d0-874F-00AA00530EE9}
  199. DEFINE_GUID(IID_IIMAPTransport, 0xe9e9d8a8, 0x4edd, 0x11d0, 0x87, 0x4f, 0x0, 0xaa, 0x0, 0x53, 0xe, 0xe9);
  200. // {DA8283C0-37C5-11d2-ACD9-0080C7B6E3C5}
  201. DEFINE_GUID(IID_IIMAPTransport2, 0xda8283c0, 0x37c5, 0x11d2, 0xac, 0xd9, 0x0, 0x80, 0xc7, 0xb6, 0xe3, 0xc5);
  202. // {07849A11-B520-11d0-85D5-00C04FD85AB4}
  203. DEFINE_GUID(IID_IBindMessageStream, 0x7849a11, 0xb520, 0x11d0, 0x85, 0xd5, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  204. // {CA30F3FF-C9AC-11d1-9A3A-00C04FA309D4}
  205. DEFINE_GUID(IID_ITransportCallbackService, 0xca30f3ff, 0xc9ac, 0x11d1, 0x9a, 0x3a, 0x0, 0xc0, 0x4f, 0xa3, 0x9, 0xd4);
  206. // {19F6481C-E5F0-11d1-A86E-0000F8084F96}
  207. DEFINE_GUID(IID_IHTTPMailCallback, 0x19f6481c, 0xe5f0, 0x11d1, 0xa8, 0x6e, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  208. // {5A580C11-E5EB-11d1-A86E-0000F8084F96}
  209. DEFINE_GUID(CLSID_IHTTPMailTransport,0x5a580c11, 0xe5eb, 0x11d1, 0xa8, 0x6e, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  210. // {B8BDE03C-E548-11d1-A86E-0000F8084F96}
  211. DEFINE_GUID(IID_IHTTPMailTransport, 0xb8bde03c, 0xe548, 0x11d1, 0xa8, 0x6e, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  212. // {BB847B8A-054A-11d2-A894-0000F8084F96}
  213. DEFINE_GUID(CLSID_IPropFindRequest, 0xbb847b8a, 0x54a, 0x11d2, 0xa8, 0x94, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  214. // {5CFC6308-0544-11d2-A894-0000F8084F96}
  215. DEFINE_GUID(IID_IPropFindRequest, 0x5cfc6308, 0x544, 0x11d2, 0xa8, 0x94, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  216. // {0DEE87DE-0547-11d2-A894-0000F8084F96}
  217. DEFINE_GUID(IID_IPropFindMultiResponse, 0xdee87de, 0x547, 0x11d2, 0xa8, 0x94, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  218. // {8A523716-0548-11d2-A894-0000F8084F96}
  219. DEFINE_GUID(IID_IPropFindResponse, 0x8a523716, 0x548, 0x11d2, 0xa8, 0x94, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  220. // {72A58FF8-227D-11d2-A8B5-0000F8084F96}
  221. DEFINE_GUID(IID_IDAVNamespaceArbiter, 0x72a58ff8, 0x227d, 0x11d2, 0xa8, 0xb5, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  222. // {EA678830-235D-11d2-A8B6-0000F8084F96}
  223. DEFINE_GUID(CLSID_IPropPatchRequest, 0xea678830, 0x235d, 0x11d2, 0xa8, 0xb6, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  224. // {AB8B8D2A-227F-11d2-A8B5-0000F8084F96}
  225. DEFINE_GUID(IID_IPropPatchRequest, 0xab8b8d2a, 0x227f, 0x11d2, 0xa8, 0xb5, 0x0, 0x0, 0xf8, 0x8, 0x4f, 0x96);
  226. // --------------------------------------------------------------------------------
  227. // Errors
  228. // --------------------------------------------------------------------------------
  229. #ifndef FACILITY_INTERNET
  230. #define FACILITY_INTERNET 12
  231. #endif
  232. #ifndef HR_E
  233. #define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)
  234. #endif
  235. #ifndef HR_S
  236. #define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)
  237. #endif
  238. #ifndef HR_CODE
  239. #define HR_CODE(hr) (INT)(hr & 0xffff)
  240. #endif
  241. // --------------------------------------------------------------------------------
  242. // General Imnxport Return Values
  243. // --------------------------------------------------------------------------------
  244. #define IXP_E_LOAD_SICILY_FAILED HR_E(0xCC00)
  245. #define IXP_E_INVALID_CERT_CN HR_E(0xCC01)
  246. #define IXP_E_INVALID_CERT_DATE HR_E(0xCC02)
  247. #define IXP_E_ALREADY_CONNECTED HR_E(0xCC03)
  248. #define IXP_E_CONN HR_E(0xCC04)
  249. #define IXP_E_NOT_CONNECTED HR_E(0xCC05)
  250. #define IXP_E_CONN_SEND HR_E(0xCC06)
  251. #define IXP_E_WOULD_BLOCK HR_E(0xCC07)
  252. #define IXP_E_INVALID_STATE HR_E(0xCC08)
  253. #define IXP_E_CONN_RECV HR_E(0xCC09)
  254. #define IXP_E_INCOMPLETE HR_E(0xCC0A)
  255. #define IXP_E_BUSY HR_E(0xCC0B)
  256. #define IXP_E_NOT_INIT HR_E(0xCC0C)
  257. #define IXP_E_CANT_FIND_HOST HR_E(0xCC0D)
  258. #define IXP_E_FAILED_TO_CONNECT HR_E(0xCC0E)
  259. #define IXP_E_CONNECTION_DROPPED HR_E(0xCC0F)
  260. #define IXP_E_INVALID_ADDRESS HR_E(0xCC10)
  261. #define IXP_E_INVALID_ADDRESS_LIST HR_E(0xCC11)
  262. #define IXP_E_SOCKET_READ_ERROR HR_E(0xCC12)
  263. #define IXP_E_SOCKET_WRITE_ERROR HR_E(0xCC13)
  264. #define IXP_E_SOCKET_INIT_ERROR HR_E(0xCC14)
  265. #define IXP_E_SOCKET_CONNECT_ERROR HR_E(0xCC15)
  266. #define IXP_E_INVALID_ACCOUNT HR_E(0xCC16)
  267. #define IXP_E_USER_CANCEL HR_E(0xCC17)
  268. #define IXP_E_SICILY_LOGON_FAILED HR_E(0xCC18)
  269. #define IXP_E_TIMEOUT HR_E(0xCC19)
  270. #define IXP_E_SECURE_CONNECT_FAILED HR_E(0xCC1A)
  271. // --------------------------------------------------------------------------------
  272. // WINSOCK Errors
  273. // --------------------------------------------------------------------------------
  274. #define IXP_E_WINSOCK_WSASYSNOTREADY HR_E(0xCC40)
  275. #define IXP_E_WINSOCK_WSAVERNOTSUPPORTED HR_E(0xCC41)
  276. #define IXP_E_WINSOCK_WSAEPROCLIM HR_E(0xCC42)
  277. #define IXP_E_WINSOCK_WSAEFAULT HR_E(0xCC43)
  278. #define IXP_E_WINSOCK_FAILED_WSASTARTUP HR_E(0xCC44)
  279. #define IXP_E_WINSOCK_WSAEINPROGRESS HR_E(0xCC45)
  280. // --------------------------------------------------------------------------------
  281. // SMTP Command Response Values
  282. //--------------------------------------------------------------------------------
  283. #define IXP_E_SMTP_RESPONSE_ERROR HR_E(0xCC60)
  284. #define IXP_E_SMTP_UNKNOWN_RESPONSE_CODE HR_E(0xCC61)
  285. #define IXP_E_SMTP_500_SYNTAX_ERROR HR_E(0xCC62)
  286. #define IXP_E_SMTP_501_PARAM_SYNTAX HR_E(0xCC63)
  287. #define IXP_E_SMTP_502_COMMAND_NOTIMPL HR_E(0xCC64)
  288. #define IXP_E_SMTP_503_COMMAND_SEQ HR_E(0xCC65)
  289. #define IXP_E_SMTP_504_COMMAND_PARAM_NOTIMPL HR_E(0xCC66)
  290. #define IXP_E_SMTP_421_NOT_AVAILABLE HR_E(0xCC67)
  291. #define IXP_E_SMTP_450_MAILBOX_BUSY HR_E(0xCC68)
  292. #define IXP_E_SMTP_550_MAILBOX_NOT_FOUND HR_E(0xCC69)
  293. #define IXP_E_SMTP_451_ERROR_PROCESSING HR_E(0xCC6A)
  294. #define IXP_E_SMTP_551_USER_NOT_LOCAL HR_E(0xCC6B)
  295. #define IXP_E_SMTP_452_NO_SYSTEM_STORAGE HR_E(0xCC6C)
  296. #define IXP_E_SMTP_552_STORAGE_OVERFLOW HR_E(0xCC6D)
  297. #define IXP_E_SMTP_553_MAILBOX_NAME_SYNTAX HR_E(0xCC6E)
  298. #define IXP_E_SMTP_554_TRANSACT_FAILED HR_E(0xCC6F)
  299. #define IXP_S_SMTP_211_SYSTEM_STATUS HR_S(0xCC70)
  300. #define IXP_S_SMTP_214_HELP_MESSAGE HR_S(0xCC71)
  301. #define IXP_S_SMTP_220_READY HR_S(0xCC72)
  302. #define IXP_S_SMTP_221_CLOSING HR_S(0xCC73)
  303. #define IXP_S_SMTP_250_MAIL_ACTION_OKAY HR_S(0xCC74)
  304. #define IXP_S_SMTP_251_FORWARDING_MAIL HR_S(0xCC75)
  305. #define IXP_S_SMTP_354_START_MAIL_INPUT HR_S(0xCC76)
  306. #define IXP_S_SMTP_CONTINUE HR_S(0xCC77)
  307. #define IXP_S_SMTP_334_AUTH_READY_RESPONSE HR_S(0xCC78)
  308. #define IXP_S_SMTP_245_AUTH_SUCCESS HR_S(0xCC79)
  309. #define IXP_E_SMTP_REJECTED_SENDER HR_E(0xCC78)
  310. #define IXP_E_SMTP_REJECTED_RECIPIENTS HR_E(0xCC79)
  311. #define IXP_E_SMTP_NO_SENDER HR_E(0xCC7A)
  312. #define IXP_E_SMTP_NO_RECIPIENTS HR_E(0xCC7B)
  313. #define IXP_E_SMTP_530_STARTTLS_REQUIRED HR_E(0xCC7C)
  314. #define IXP_E_SMTP_NO_STARTTLS_SUPPORT HR_E(0xCC7D)
  315. #define IXP_S_SMTP_NO_DSN_SUPPORT HR_E(0xCC7E)
  316. #define IXP_E_SMTP_454_STARTTLS_FAILED HR_E(0xCC7F)
  317. // --------------------------------------------------------------------------------
  318. // POP3 Command Response Values
  319. // --------------------------------------------------------------------------------
  320. #define IXP_E_POP3_RESPONSE_ERROR HR_E(0xCC90)
  321. #define IXP_E_POP3_INVALID_USER_NAME HR_E(0xCC91)
  322. #define IXP_E_POP3_INVALID_PASSWORD HR_E(0xCC92)
  323. #define IXP_E_POP3_PARSE_FAILURE HR_E(0xCC93)
  324. #define IXP_E_POP3_NEED_STAT HR_E(0xCC94)
  325. #define IXP_E_POP3_NO_MESSAGES HR_E(0xCC95)
  326. #define IXP_E_POP3_NO_MARKED_MESSAGES HR_E(0xCC96)
  327. #define IXP_E_POP3_POPID_OUT_OF_RANGE HR_E(0xCC97)
  328. // --------------------------------------------------------------------------------
  329. // NNTP Command Response Values
  330. // --------------------------------------------------------------------------------
  331. #define IXP_E_NNTP_RESPONSE_ERROR HR_E(0xCCA0)
  332. #define IXP_E_NNTP_NEWGROUPS_FAILED HR_E(0xCCA1)
  333. #define IXP_E_NNTP_LIST_FAILED HR_E(0xCCA2)
  334. #define IXP_E_NNTP_LISTGROUP_FAILED HR_E(0xCCA3)
  335. #define IXP_E_NNTP_GROUP_FAILED HR_E(0xCCA4)
  336. #define IXP_E_NNTP_GROUP_NOTFOUND HR_E(0xCCA5)
  337. #define IXP_E_NNTP_ARTICLE_FAILED HR_E(0xCCA6)
  338. #define IXP_E_NNTP_HEAD_FAILED HR_E(0xCCA7)
  339. #define IXP_E_NNTP_BODY_FAILED HR_E(0xCCA8)
  340. #define IXP_E_NNTP_POST_FAILED HR_E(0xCCA9)
  341. #define IXP_E_NNTP_NEXT_FAILED HR_E(0xCCAA)
  342. #define IXP_E_NNTP_DATE_FAILED HR_E(0xCCAB)
  343. #define IXP_E_NNTP_HEADERS_FAILED HR_E(0xCCAC)
  344. #define IXP_E_NNTP_XHDR_FAILED HR_E(0xCCAD)
  345. #define IXP_E_NNTP_INVALID_USERPASS HR_E(0xCCAE)
  346. // --------------------------------------------------------------------------------
  347. // NNTP Server Response Values
  348. // --------------------------------------------------------------------------------
  349. #define IXP_NNTP_DATE_RESPONSE 111
  350. #define IXP_NNTP_POST_ALLOWED 200
  351. #define IXP_NNTP_POST_NOTALLOWED 201
  352. #define IXP_NNTP_GROUP_SELECTED 211
  353. #define IXP_NNTP_LIST_DATA_FOLLOWS 215
  354. #define IXP_NNTP_ARTICLE_FOLLOWS 220
  355. #define IXP_NNTP_HEAD_FOLLOWS 221
  356. #define IXP_NNTP_BODY_FOLLOWS 222
  357. #define IXP_NNTP_ARTICLE_RETRIEVED 223
  358. #define IXP_NNTP_OVERVIEW_FOLLOWS 224
  359. #define IXP_NNTP_NEWNEWSGROUPS_FOLLOWS 231
  360. #define IXP_NNTP_ARTICLE_POSTED_OK 240
  361. #define IXP_NNTP_AUTHORIZATION_ACCEPTED 250
  362. #define IXP_NNTP_AUTH_OK 281
  363. #define IXP_NNTP_SEND_ARTICLE_TO_POST 340
  364. #define IXP_NNTP_CONTINUE_AUTHORIZATION 350
  365. #define IXP_NNTP_PASSWORD_REQUIRED 381
  366. #define IXP_NNTP_NO_SUCH_NEWSGROUP 411
  367. #define IXP_NNTP_NO_NEXT_ARTICLE 421
  368. #define IXP_NNTP_NO_PREV_ARTICLE 422
  369. #define IXP_NNTP_NO_SUCH_ARTICLE_NUM 423
  370. #define IXP_NNTP_NO_SUCH_ARTICLE_FOUND 430
  371. #define IXP_NNTP_POSTING_NOT_ALLOWED 441
  372. #define IXP_NNTP_PROTOCOLS_SUPPORTED 485
  373. // --------------------------------------------------------------------------------
  374. // RAS Errors
  375. // --------------------------------------------------------------------------------
  376. #define IXP_S_RAS_NOT_NEEDED HR_S(0xCCC0)
  377. #define IXP_S_RAS_USING_CURRENT HR_S(0xCCC1)
  378. #define IXP_E_RAS_NOT_INSTALLED HR_E(0xCCC2)
  379. #define IXP_E_RAS_PROCS_NOT_FOUND HR_E(0xCCC3)
  380. #define IXP_E_RAS_ERROR HR_E(0xCCC4)
  381. #define IXP_E_RAS_INVALID_CONNECTOID HR_E(0xCCC5)
  382. #define IXP_E_RAS_GET_DIAL_PARAMS HR_E(0xCCC6)
  383. // --------------------------------------------------------------------------------
  384. // IMAP Return Codes
  385. // --------------------------------------------------------------------------------
  386. #define IXP_S_IMAP_UNRECOGNIZED_RESP HR_S(0xCCD0) // Did not recognize IMAP response CODE
  387. #define IXP_S_IMAP_VERBATIM_MBOX HR_S(0xCCE1) // Could not xlate mbox to target CP (or it's disabled): copying verbatim
  388. #define IXP_E_IMAP_LOGINFAILURE HR_E(0xCCD1) // LOGIN cmd failed
  389. #define IXP_E_IMAP_TAGGED_NO_RESPONSE HR_E(0xCCD2) // Received tagged NO response
  390. #define IXP_E_IMAP_BAD_RESPONSE HR_E(0xCCD3) // Received tagged BAD response
  391. #define IXP_E_IMAP_SVR_SYNTAXERR HR_E(0xCCD4) // Syntax error in svr response
  392. #define IXP_E_IMAP_NOTIMAPSERVER HR_E(0xCCD5) // This is not an IMAP server
  393. #define IXP_E_IMAP_BUFFER_OVERFLOW HR_E(0xCCD6) // Buffer overflow occurred
  394. #define IXP_E_IMAP_RECVR_ERROR HR_E(0xCCD7) // An error occurred in the recvr code
  395. #define IXP_E_IMAP_INCOMPLETE_LINE HR_E(0xCCD8) // Received incomplete line
  396. #define IXP_E_IMAP_CONNECTION_REFUSED HR_E(0xCCD9) // Received BYE on greeting
  397. #define IXP_E_IMAP_UNRECOGNIZED_RESP HR_E(0xCCDA) // Did not recognize IMAP response
  398. #define IXP_E_IMAP_CHANGEDUID HR_E(0xCCDB) // UID changed unexpectedly!
  399. #define IXP_E_IMAP_UIDORDER HR_E(0xCCDC) // UIDs not strictly ascending!
  400. #define IXP_E_IMAP_UNSOLICITED_BYE HR_E(0xCCDD) // Server issued UNSOLICITED BYE
  401. #define IXP_E_IMAP_IMPROPER_SVRSTATE HR_E(0xCCDE) // eg, Attempt to send FETCH before SELECT finishes
  402. #define IXP_E_IMAP_AUTH_NOT_POSSIBLE HR_E(0xCCDF) // No common authentication methods btwn client/svr
  403. #define IXP_E_IMAP_OUT_OF_AUTH_METHODS HR_E(0xCCE0) // We tried >= 1 auth method, no more left to try
  404. // --------------------------------------------------------------------------------
  405. // HTTPMail Return Codes
  406. // --------------------------------------------------------------------------------
  407. // http errors are discontiguous.
  408. #define IXP_E_HTTP_USE_PROXY HR_E(0xCC30) // http status 305
  409. #define IXP_E_HTTP_BAD_REQUEST HR_E(0xCC31) // http status 400
  410. #define IXP_E_HTTP_UNAUTHORIZED HR_E(0xCC32) // http status 401
  411. #define IXP_E_HTTP_FORBIDDEN HR_E(0xCC33) // http status 403
  412. #define IXP_E_HTTP_NOT_FOUND HR_E(0xCC34) // http status 404
  413. #define IXP_E_HTTP_METHOD_NOT_ALLOW HR_E(0xCC35) // http status 405
  414. #define IXP_E_HTTP_NOT_ACCEPTABLE HR_E(0xCC36) // http status 406
  415. #define IXP_E_HTTP_PROXY_AUTH_REQ HR_E(0xCC37) // http status 407
  416. #define IXP_E_HTTP_REQUEST_TIMEOUT HR_E(0xCC38) // http status 408
  417. #define IXP_E_HTTP_CONFLICT HR_E(0xCC39) // http status 409
  418. #define IXP_E_HTTP_GONE HR_E(0xCC3A) // http status 410
  419. #define IXP_E_HTTP_LENGTH_REQUIRED HR_E(0xCC3B) // http status 411
  420. #define IXP_E_HTTP_PRECOND_FAILED HR_E(0xCC3C) // http status 412
  421. #define IXP_E_HTTP_INTERNAL_ERROR HR_E(0xCC3D) // http status 500
  422. #define IXP_E_HTTP_NOT_IMPLEMENTED HR_E(0xCC3E) // http status 501
  423. #define IXP_E_HTTP_BAD_GATEWAY HR_E(0xCC3F) // http status 502
  424. // begin second range
  425. #define IXP_E_HTTP_SERVICE_UNAVAIL HR_E(0xCCF0) // http status 503
  426. #define IXP_E_HTTP_GATEWAY_TIMEOUT HR_E(0xCCF1) // http status 504
  427. #define IXP_E_HTTP_VERS_NOT_SUP HR_E(0xCCF2) // http status 505
  428. #define IXP_E_HTTP_INSUFFICIENT_STORAGE HR_E(0xCCF3) // http status 425 or 507
  429. #define IXP_E_HTTP_ROOT_PROP_NOT_FOUND HR_E(0xCCF4) // see IHTTPMailTransport::GetProperty
  430. // --------------------------------------------------------------------------------
  431. // String Length Constants
  432. // --------------------------------------------------------------------------------
  433. #define CCHMAX_DOMAIN ( 256 )
  434. #define CCHMAX_PHONE_NUMBER ( 128 )
  435. #define DEFAULT_IMAP_PORT ( 143 )
  436. #define DEFAULT_POP3_PORT ( 110 )
  437. #define DEFAULT_SMTP_PORT ( 25 )
  438. #define DEFAULT_NNTP_PORT ( 119 )
  439. typedef
  440. enum tagINETADDRTYPE
  441. { ADDR_TO = 0,
  442. ADDR_FROM = ADDR_TO + 1,
  443. ADDR_DSN_NEVER = 16,
  444. ADDR_DSN_SUCCESS = 32,
  445. ADDR_DSN_FAILURE = 64,
  446. ADDR_DSN_DELAY = 128
  447. } INETADDRTYPE;
  448. #define ADDR_TOFROM_MASK ( 0x1 )
  449. #define ADDR_DSN_MASK ( 0xf0 )
  450. typedef
  451. enum tagDSNRET
  452. { DSNRET_DEFAULT = 0,
  453. DSNRET_HDRS = DSNRET_DEFAULT + 1,
  454. DSNRET_FULL = DSNRET_HDRS + 1
  455. } DSNRET;
  456. typedef struct tagINETADDR
  457. {
  458. INETADDRTYPE addrtype;
  459. CHAR szEmail[ 256 ];
  460. } INETADDR;
  461. typedef struct tagINETADDR *LPINETADDR;
  462. typedef struct tagINETADDRLIST
  463. {
  464. ULONG cAddress;
  465. LPINETADDR prgAddress;
  466. } INETADDRLIST;
  467. typedef struct tagINETADDRLIST *LPINETADDRLIST;
  468. typedef
  469. enum tagRASCONNTYPE
  470. { RAS_CONNECT_LAN = 0,
  471. RAS_CONNECT_MANUAL = RAS_CONNECT_LAN + 1,
  472. RAS_CONNECT_RAS = RAS_CONNECT_MANUAL + 1
  473. } RASCONNTYPE;
  474. typedef
  475. enum tagHTTPMAILPROPTYPE
  476. { HTTPMAIL_PROP_INVALID = 0,
  477. HTTPMAIL_PROP_ADBAR = HTTPMAIL_PROP_INVALID + 1,
  478. HTTPMAIL_PROP_CONTACTS = HTTPMAIL_PROP_ADBAR + 1,
  479. HTTPMAIL_PROP_INBOX = HTTPMAIL_PROP_CONTACTS + 1,
  480. HTTPMAIL_PROP_OUTBOX = HTTPMAIL_PROP_INBOX + 1,
  481. HTTPMAIL_PROP_SENDMSG = HTTPMAIL_PROP_OUTBOX + 1,
  482. HTTPMAIL_PROP_SENTITEMS = HTTPMAIL_PROP_SENDMSG + 1,
  483. HTTPMAIL_PROP_DELETEDITEMS = HTTPMAIL_PROP_SENTITEMS + 1,
  484. HTTPMAIL_PROP_DRAFTS = HTTPMAIL_PROP_DELETEDITEMS + 1,
  485. HTTPMAIL_PROP_MSGFOLDERROOT = HTTPMAIL_PROP_DRAFTS + 1,
  486. HTTPMAIL_PROP_SIG = HTTPMAIL_PROP_MSGFOLDERROOT + 1,
  487. HTTPMAIL_PROP_LAST = HTTPMAIL_PROP_SIG + 1
  488. } HTTPMAILPROPTYPE;
  489. typedef
  490. enum tagHTTPMAILSPECIALFOLDER
  491. { HTTPMAIL_SF_NONE = 0,
  492. HTTPMAIL_SF_UNRECOGNIZED = HTTPMAIL_SF_NONE + 1,
  493. HTTPMAIL_SF_INBOX = HTTPMAIL_SF_UNRECOGNIZED + 1,
  494. HTTPMAIL_SF_DELETEDITEMS = HTTPMAIL_SF_INBOX + 1,
  495. HTTPMAIL_SF_DRAFTS = HTTPMAIL_SF_DELETEDITEMS + 1,
  496. HTTPMAIL_SF_OUTBOX = HTTPMAIL_SF_DRAFTS + 1,
  497. HTTPMAIL_SF_SENTITEMS = HTTPMAIL_SF_OUTBOX + 1,
  498. HTTPMAIL_SF_CONTACTS = HTTPMAIL_SF_SENTITEMS + 1,
  499. HTTPMAIL_SF_CALENDAR = HTTPMAIL_SF_CONTACTS + 1,
  500. HTTPMAIL_SF_MSNPROMO = HTTPMAIL_SF_CALENDAR + 1,
  501. HTTPMAIL_SF_LAST = HTTPMAIL_SF_MSNPROMO + 1
  502. } HTTPMAILSPECIALFOLDER;
  503. typedef
  504. enum tagHTTPMAILCONTACTTYPE
  505. { HTTPMAIL_CT_CONTACT = 0,
  506. HTTPMAIL_CT_GROUP = HTTPMAIL_CT_CONTACT + 1,
  507. HTTPMAIL_CT_LAST = HTTPMAIL_CT_GROUP + 1
  508. } HTTPMAILCONTACTTYPE;
  509. #define DAVNAMESPACE_UNKNOWN ( 0xffffffff )
  510. #define DAVNAMESPACE_DAV ( 0 )
  511. #define DAVNAMESPACE_HOTMAIL ( 1 )
  512. #define DAVNAMESPACE_HTTPMAIL ( 2 )
  513. #define DAVNAMESPACE_MAIL ( 3 )
  514. #define DAVNAMESPACE_CONTACTS ( 4 )
  515. #define ISF_SMTP_USEIPFORHELO 0x00000001 // For HELO or EHLO Command
  516. #define ISF_ALWAYSPROMPTFORPASSWORD 0x00000002 // For HELO or EHLO Command
  517. #define ISF_SSLONSAMEPORT 0x00000004 // For SMTP Only - use STARTTLS
  518. #define ISF_QUERYDSNSUPPORT 0x00000008 // For SMTP Only - issue EHLO on connect and check for DSN
  519. #define ISF_QUERYAUTHSUPPORT 0x00000010 // For SMTP Only - issue EHLO on connect and check for AUTH
  520. typedef struct INETSERVER
  521. {
  522. CHAR szAccount[ 256 ];
  523. CHAR szUserName[ 256 ];
  524. CHAR szPassword[ 256 ];
  525. CHAR szServerName[ 256 ];
  526. CHAR szConnectoid[ 256 ];
  527. RASCONNTYPE rasconntype;
  528. DWORD dwPort;
  529. BOOL fSSL;
  530. BOOL fTrySicily;
  531. DWORD dwTimeout;
  532. DWORD dwFlags;
  533. } INETSERVER;
  534. typedef struct INETSERVER *LPINETSERVER;
  535. typedef
  536. enum tagIXPTYPE
  537. { IXP_NNTP = 0,
  538. IXP_SMTP = IXP_NNTP + 1,
  539. IXP_POP3 = IXP_SMTP + 1,
  540. IXP_IMAP = IXP_POP3 + 1,
  541. IXP_RAS = IXP_IMAP + 1,
  542. IXP_HTTPMail = IXP_RAS + 1
  543. } IXPTYPE;
  544. typedef
  545. enum tagIXPSTATUS
  546. { IXP_FINDINGHOST = 0,
  547. IXP_CONNECTING = IXP_FINDINGHOST + 1,
  548. IXP_SECURING = IXP_CONNECTING + 1,
  549. IXP_CONNECTED = IXP_SECURING + 1,
  550. IXP_AUTHORIZING = IXP_CONNECTED + 1,
  551. IXP_AUTHRETRY = IXP_AUTHORIZING + 1,
  552. IXP_AUTHORIZED = IXP_AUTHRETRY + 1,
  553. IXP_DISCONNECTING = IXP_AUTHORIZED + 1,
  554. IXP_DISCONNECTED = IXP_DISCONNECTING + 1,
  555. IXP_LAST = IXP_DISCONNECTED + 1
  556. } IXPSTATUS;
  557. #define DEPTH_INFINITY ( 0xfffffffe )
  558. typedef DWORD MEMBERINFOFLAGS;
  559. #define HTTP_MEMBERINFO_COMMONPROPS ( 0 )
  560. #define HTTP_MEMBERINFO_FOLDERPROPS ( 0x1 )
  561. #define HTTP_MEMBERINFO_MESSAGEPROPS ( 0x2 )
  562. #define HTTP_MEMBERINFO_ALLPROPS ( HTTP_MEMBERINFO_FOLDERPROPS | HTTP_MEMBERINFO_MESSAGEPROPS )
  563. typedef DWORD IMAP_MSGFLAGS;
  564. #define IMAP_MSG_NOFLAGS ( 0 )
  565. #define IMAP_MSG_ANSWERED ( 0x1 )
  566. #define IMAP_MSG_FLAGGED ( 0x2 )
  567. #define IMAP_MSG_DELETED ( 0x4 )
  568. #define IMAP_MSG_SEEN ( 0x8 )
  569. #define IMAP_MSG_DRAFT ( 0x10 )
  570. #define IMAP_MSG_ALLFLAGS ( 0x1f )
  571. extern RPC_IF_HANDLE __MIDL_itf_imnxport_0000_v0_0_c_ifspec;
  572. extern RPC_IF_HANDLE __MIDL_itf_imnxport_0000_v0_0_s_ifspec;
  573. #ifndef __ITransportCallbackService_INTERFACE_DEFINED__
  574. #define __ITransportCallbackService_INTERFACE_DEFINED__
  575. /* interface ITransportCallbackService */
  576. /* [object][local][uuid] */
  577. EXTERN_C const IID IID_ITransportCallbackService;
  578. #if defined(__cplusplus) && !defined(CINTERFACE)
  579. MIDL_INTERFACE("CA30F3FF-C9AC-11d1-9A3A-00C04FA309D4")
  580. ITransportCallbackService : public IUnknown
  581. {
  582. public:
  583. virtual HRESULT STDMETHODCALLTYPE GetParentWindow(
  584. /* [in] */ DWORD dwReserved,
  585. /* [out] */ HWND *phwndParent) = 0;
  586. virtual HRESULT STDMETHODCALLTYPE GetAccount(
  587. /* [out] */ LPDWORD pdwServerType,
  588. /* [out] */ IImnAccount **ppAccount) = 0;
  589. };
  590. #else /* C style interface */
  591. typedef struct ITransportCallbackServiceVtbl
  592. {
  593. BEGIN_INTERFACE
  594. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  595. ITransportCallbackService * This,
  596. /* [in] */ REFIID riid,
  597. /* [iid_is][out] */ void **ppvObject);
  598. ULONG ( STDMETHODCALLTYPE *AddRef )(
  599. ITransportCallbackService * This);
  600. ULONG ( STDMETHODCALLTYPE *Release )(
  601. ITransportCallbackService * This);
  602. HRESULT ( STDMETHODCALLTYPE *GetParentWindow )(
  603. ITransportCallbackService * This,
  604. /* [in] */ DWORD dwReserved,
  605. /* [out] */ HWND *phwndParent);
  606. HRESULT ( STDMETHODCALLTYPE *GetAccount )(
  607. ITransportCallbackService * This,
  608. /* [out] */ LPDWORD pdwServerType,
  609. /* [out] */ IImnAccount **ppAccount);
  610. END_INTERFACE
  611. } ITransportCallbackServiceVtbl;
  612. interface ITransportCallbackService
  613. {
  614. CONST_VTBL struct ITransportCallbackServiceVtbl *lpVtbl;
  615. };
  616. #ifdef COBJMACROS
  617. #define ITransportCallbackService_QueryInterface(This,riid,ppvObject) \
  618. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  619. #define ITransportCallbackService_AddRef(This) \
  620. (This)->lpVtbl -> AddRef(This)
  621. #define ITransportCallbackService_Release(This) \
  622. (This)->lpVtbl -> Release(This)
  623. #define ITransportCallbackService_GetParentWindow(This,dwReserved,phwndParent) \
  624. (This)->lpVtbl -> GetParentWindow(This,dwReserved,phwndParent)
  625. #define ITransportCallbackService_GetAccount(This,pdwServerType,ppAccount) \
  626. (This)->lpVtbl -> GetAccount(This,pdwServerType,ppAccount)
  627. #endif /* COBJMACROS */
  628. #endif /* C style interface */
  629. HRESULT STDMETHODCALLTYPE ITransportCallbackService_GetParentWindow_Proxy(
  630. ITransportCallbackService * This,
  631. /* [in] */ DWORD dwReserved,
  632. /* [out] */ HWND *phwndParent);
  633. void __RPC_STUB ITransportCallbackService_GetParentWindow_Stub(
  634. IRpcStubBuffer *This,
  635. IRpcChannelBuffer *_pRpcChannelBuffer,
  636. PRPC_MESSAGE _pRpcMessage,
  637. DWORD *_pdwStubPhase);
  638. HRESULT STDMETHODCALLTYPE ITransportCallbackService_GetAccount_Proxy(
  639. ITransportCallbackService * This,
  640. /* [out] */ LPDWORD pdwServerType,
  641. /* [out] */ IImnAccount **ppAccount);
  642. void __RPC_STUB ITransportCallbackService_GetAccount_Stub(
  643. IRpcStubBuffer *This,
  644. IRpcChannelBuffer *_pRpcChannelBuffer,
  645. PRPC_MESSAGE _pRpcMessage,
  646. DWORD *_pdwStubPhase);
  647. #endif /* __ITransportCallbackService_INTERFACE_DEFINED__ */
  648. #ifndef __ITransportCallback_INTERFACE_DEFINED__
  649. #define __ITransportCallback_INTERFACE_DEFINED__
  650. /* interface ITransportCallback */
  651. /* [object][local][helpstring][uuid] */
  652. typedef struct tagIXPRESULT
  653. {
  654. HRESULT hrResult;
  655. LPSTR pszResponse;
  656. UINT uiServerError;
  657. HRESULT hrServerError;
  658. DWORD dwSocketError;
  659. LPSTR pszProblem;
  660. } IXPRESULT;
  661. typedef struct tagIXPRESULT *LPIXPRESULT;
  662. typedef
  663. enum tagCMDTYPE
  664. { CMD_SEND = 0,
  665. CMD_RESP = CMD_SEND + 1
  666. } CMDTYPE;
  667. EXTERN_C const IID IID_ITransportCallback;
  668. #if defined(__cplusplus) && !defined(CINTERFACE)
  669. MIDL_INTERFACE("0DF2C7E1-3435-11d0-81D0-00C04FD85AB4")
  670. ITransportCallback : public IUnknown
  671. {
  672. public:
  673. virtual HRESULT STDMETHODCALLTYPE OnTimeout(
  674. /* [out][in] */ DWORD *pdwTimeout,
  675. /* [in] */ IInternetTransport *pTransport) = 0;
  676. virtual HRESULT STDMETHODCALLTYPE OnLogonPrompt(
  677. /* [out][in] */ LPINETSERVER pInetServer,
  678. /* [in] */ IInternetTransport *pTransport) = 0;
  679. virtual INT STDMETHODCALLTYPE OnPrompt(
  680. /* [in] */ HRESULT hrError,
  681. /* [in] */ LPCTSTR pszText,
  682. /* [in] */ LPCTSTR pszCaption,
  683. /* [in] */ UINT uType,
  684. /* [in] */ IInternetTransport *pTransport) = 0;
  685. virtual HRESULT STDMETHODCALLTYPE OnStatus(
  686. /* [in] */ IXPSTATUS ixpstatus,
  687. /* [in] */ IInternetTransport *pTransport) = 0;
  688. virtual HRESULT STDMETHODCALLTYPE OnError(
  689. /* [in] */ IXPSTATUS ixpstatus,
  690. /* [in] */ LPIXPRESULT pResult,
  691. /* [in] */ IInternetTransport *pTransport) = 0;
  692. virtual HRESULT STDMETHODCALLTYPE OnCommand(
  693. /* [in] */ CMDTYPE cmdtype,
  694. /* [in] */ LPSTR pszLine,
  695. /* [in] */ HRESULT hrResponse,
  696. /* [in] */ IInternetTransport *pTransport) = 0;
  697. };
  698. #else /* C style interface */
  699. typedef struct ITransportCallbackVtbl
  700. {
  701. BEGIN_INTERFACE
  702. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  703. ITransportCallback * This,
  704. /* [in] */ REFIID riid,
  705. /* [iid_is][out] */ void **ppvObject);
  706. ULONG ( STDMETHODCALLTYPE *AddRef )(
  707. ITransportCallback * This);
  708. ULONG ( STDMETHODCALLTYPE *Release )(
  709. ITransportCallback * This);
  710. HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
  711. ITransportCallback * This,
  712. /* [out][in] */ DWORD *pdwTimeout,
  713. /* [in] */ IInternetTransport *pTransport);
  714. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  715. ITransportCallback * This,
  716. /* [out][in] */ LPINETSERVER pInetServer,
  717. /* [in] */ IInternetTransport *pTransport);
  718. INT ( STDMETHODCALLTYPE *OnPrompt )(
  719. ITransportCallback * This,
  720. /* [in] */ HRESULT hrError,
  721. /* [in] */ LPCTSTR pszText,
  722. /* [in] */ LPCTSTR pszCaption,
  723. /* [in] */ UINT uType,
  724. /* [in] */ IInternetTransport *pTransport);
  725. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  726. ITransportCallback * This,
  727. /* [in] */ IXPSTATUS ixpstatus,
  728. /* [in] */ IInternetTransport *pTransport);
  729. HRESULT ( STDMETHODCALLTYPE *OnError )(
  730. ITransportCallback * This,
  731. /* [in] */ IXPSTATUS ixpstatus,
  732. /* [in] */ LPIXPRESULT pResult,
  733. /* [in] */ IInternetTransport *pTransport);
  734. HRESULT ( STDMETHODCALLTYPE *OnCommand )(
  735. ITransportCallback * This,
  736. /* [in] */ CMDTYPE cmdtype,
  737. /* [in] */ LPSTR pszLine,
  738. /* [in] */ HRESULT hrResponse,
  739. /* [in] */ IInternetTransport *pTransport);
  740. END_INTERFACE
  741. } ITransportCallbackVtbl;
  742. interface ITransportCallback
  743. {
  744. CONST_VTBL struct ITransportCallbackVtbl *lpVtbl;
  745. };
  746. #ifdef COBJMACROS
  747. #define ITransportCallback_QueryInterface(This,riid,ppvObject) \
  748. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  749. #define ITransportCallback_AddRef(This) \
  750. (This)->lpVtbl -> AddRef(This)
  751. #define ITransportCallback_Release(This) \
  752. (This)->lpVtbl -> Release(This)
  753. #define ITransportCallback_OnTimeout(This,pdwTimeout,pTransport) \
  754. (This)->lpVtbl -> OnTimeout(This,pdwTimeout,pTransport)
  755. #define ITransportCallback_OnLogonPrompt(This,pInetServer,pTransport) \
  756. (This)->lpVtbl -> OnLogonPrompt(This,pInetServer,pTransport)
  757. #define ITransportCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) \
  758. (This)->lpVtbl -> OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport)
  759. #define ITransportCallback_OnStatus(This,ixpstatus,pTransport) \
  760. (This)->lpVtbl -> OnStatus(This,ixpstatus,pTransport)
  761. #define ITransportCallback_OnError(This,ixpstatus,pResult,pTransport) \
  762. (This)->lpVtbl -> OnError(This,ixpstatus,pResult,pTransport)
  763. #define ITransportCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) \
  764. (This)->lpVtbl -> OnCommand(This,cmdtype,pszLine,hrResponse,pTransport)
  765. #endif /* COBJMACROS */
  766. #endif /* C style interface */
  767. HRESULT STDMETHODCALLTYPE ITransportCallback_OnTimeout_Proxy(
  768. ITransportCallback * This,
  769. /* [out][in] */ DWORD *pdwTimeout,
  770. /* [in] */ IInternetTransport *pTransport);
  771. void __RPC_STUB ITransportCallback_OnTimeout_Stub(
  772. IRpcStubBuffer *This,
  773. IRpcChannelBuffer *_pRpcChannelBuffer,
  774. PRPC_MESSAGE _pRpcMessage,
  775. DWORD *_pdwStubPhase);
  776. HRESULT STDMETHODCALLTYPE ITransportCallback_OnLogonPrompt_Proxy(
  777. ITransportCallback * This,
  778. /* [out][in] */ LPINETSERVER pInetServer,
  779. /* [in] */ IInternetTransport *pTransport);
  780. void __RPC_STUB ITransportCallback_OnLogonPrompt_Stub(
  781. IRpcStubBuffer *This,
  782. IRpcChannelBuffer *_pRpcChannelBuffer,
  783. PRPC_MESSAGE _pRpcMessage,
  784. DWORD *_pdwStubPhase);
  785. INT STDMETHODCALLTYPE ITransportCallback_OnPrompt_Proxy(
  786. ITransportCallback * This,
  787. /* [in] */ HRESULT hrError,
  788. /* [in] */ LPCTSTR pszText,
  789. /* [in] */ LPCTSTR pszCaption,
  790. /* [in] */ UINT uType,
  791. /* [in] */ IInternetTransport *pTransport);
  792. void __RPC_STUB ITransportCallback_OnPrompt_Stub(
  793. IRpcStubBuffer *This,
  794. IRpcChannelBuffer *_pRpcChannelBuffer,
  795. PRPC_MESSAGE _pRpcMessage,
  796. DWORD *_pdwStubPhase);
  797. HRESULT STDMETHODCALLTYPE ITransportCallback_OnStatus_Proxy(
  798. ITransportCallback * This,
  799. /* [in] */ IXPSTATUS ixpstatus,
  800. /* [in] */ IInternetTransport *pTransport);
  801. void __RPC_STUB ITransportCallback_OnStatus_Stub(
  802. IRpcStubBuffer *This,
  803. IRpcChannelBuffer *_pRpcChannelBuffer,
  804. PRPC_MESSAGE _pRpcMessage,
  805. DWORD *_pdwStubPhase);
  806. HRESULT STDMETHODCALLTYPE ITransportCallback_OnError_Proxy(
  807. ITransportCallback * This,
  808. /* [in] */ IXPSTATUS ixpstatus,
  809. /* [in] */ LPIXPRESULT pResult,
  810. /* [in] */ IInternetTransport *pTransport);
  811. void __RPC_STUB ITransportCallback_OnError_Stub(
  812. IRpcStubBuffer *This,
  813. IRpcChannelBuffer *_pRpcChannelBuffer,
  814. PRPC_MESSAGE _pRpcMessage,
  815. DWORD *_pdwStubPhase);
  816. HRESULT STDMETHODCALLTYPE ITransportCallback_OnCommand_Proxy(
  817. ITransportCallback * This,
  818. /* [in] */ CMDTYPE cmdtype,
  819. /* [in] */ LPSTR pszLine,
  820. /* [in] */ HRESULT hrResponse,
  821. /* [in] */ IInternetTransport *pTransport);
  822. void __RPC_STUB ITransportCallback_OnCommand_Stub(
  823. IRpcStubBuffer *This,
  824. IRpcChannelBuffer *_pRpcChannelBuffer,
  825. PRPC_MESSAGE _pRpcMessage,
  826. DWORD *_pdwStubPhase);
  827. #endif /* __ITransportCallback_INTERFACE_DEFINED__ */
  828. #ifndef __IInternetTransport_INTERFACE_DEFINED__
  829. #define __IInternetTransport_INTERFACE_DEFINED__
  830. /* interface IInternetTransport */
  831. /* [object][local][helpstring][uuid] */
  832. #define iitAUTHENTICATE ( TRUE )
  833. #define iitDONT_AUTHENTICATE ( FALSE )
  834. #define iitENABLE_ONCOMMAND ( TRUE )
  835. #define iitDISABLE_ONCOMMAND ( FALSE )
  836. typedef
  837. enum tagIXPISSTATE
  838. { IXP_IS_CONNECTED = 0,
  839. IXP_IS_BUSY = IXP_IS_CONNECTED + 1,
  840. IXP_IS_READY = IXP_IS_BUSY + 1,
  841. IXP_IS_AUTHENTICATED = IXP_IS_READY + 1
  842. } IXPISSTATE;
  843. EXTERN_C const IID IID_IInternetTransport;
  844. #if defined(__cplusplus) && !defined(CINTERFACE)
  845. MIDL_INTERFACE("1F636C01-364E-11d0-81D3-00C04FD85AB4")
  846. IInternetTransport : public IUnknown
  847. {
  848. public:
  849. virtual HRESULT STDMETHODCALLTYPE GetServerInfo(
  850. /* [out][in] */ LPINETSERVER pInetServer) = 0;
  851. virtual IXPTYPE STDMETHODCALLTYPE GetIXPType( void) = 0;
  852. virtual HRESULT STDMETHODCALLTYPE IsState(
  853. /* [in] */ IXPISSTATE isstate) = 0;
  854. virtual HRESULT STDMETHODCALLTYPE InetServerFromAccount(
  855. /* [in] */ IImnAccount *pAccount,
  856. /* [out][in] */ LPINETSERVER pInetServer) = 0;
  857. virtual HRESULT STDMETHODCALLTYPE Connect(
  858. /* [in] */ LPINETSERVER pInetServer,
  859. /* [in] */ boolean fAuthenticate,
  860. /* [in] */ boolean fCommandLogging) = 0;
  861. virtual HRESULT STDMETHODCALLTYPE HandsOffCallback( void) = 0;
  862. virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  863. virtual HRESULT STDMETHODCALLTYPE DropConnection( void) = 0;
  864. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  865. /* [out] */ IXPSTATUS *pCurrentStatus) = 0;
  866. };
  867. #else /* C style interface */
  868. typedef struct IInternetTransportVtbl
  869. {
  870. BEGIN_INTERFACE
  871. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  872. IInternetTransport * This,
  873. /* [in] */ REFIID riid,
  874. /* [iid_is][out] */ void **ppvObject);
  875. ULONG ( STDMETHODCALLTYPE *AddRef )(
  876. IInternetTransport * This);
  877. ULONG ( STDMETHODCALLTYPE *Release )(
  878. IInternetTransport * This);
  879. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  880. IInternetTransport * This,
  881. /* [out][in] */ LPINETSERVER pInetServer);
  882. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  883. IInternetTransport * This);
  884. HRESULT ( STDMETHODCALLTYPE *IsState )(
  885. IInternetTransport * This,
  886. /* [in] */ IXPISSTATE isstate);
  887. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  888. IInternetTransport * This,
  889. /* [in] */ IImnAccount *pAccount,
  890. /* [out][in] */ LPINETSERVER pInetServer);
  891. HRESULT ( STDMETHODCALLTYPE *Connect )(
  892. IInternetTransport * This,
  893. /* [in] */ LPINETSERVER pInetServer,
  894. /* [in] */ boolean fAuthenticate,
  895. /* [in] */ boolean fCommandLogging);
  896. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  897. IInternetTransport * This);
  898. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  899. IInternetTransport * This);
  900. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  901. IInternetTransport * This);
  902. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  903. IInternetTransport * This,
  904. /* [out] */ IXPSTATUS *pCurrentStatus);
  905. END_INTERFACE
  906. } IInternetTransportVtbl;
  907. interface IInternetTransport
  908. {
  909. CONST_VTBL struct IInternetTransportVtbl *lpVtbl;
  910. };
  911. #ifdef COBJMACROS
  912. #define IInternetTransport_QueryInterface(This,riid,ppvObject) \
  913. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  914. #define IInternetTransport_AddRef(This) \
  915. (This)->lpVtbl -> AddRef(This)
  916. #define IInternetTransport_Release(This) \
  917. (This)->lpVtbl -> Release(This)
  918. #define IInternetTransport_GetServerInfo(This,pInetServer) \
  919. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  920. #define IInternetTransport_GetIXPType(This) \
  921. (This)->lpVtbl -> GetIXPType(This)
  922. #define IInternetTransport_IsState(This,isstate) \
  923. (This)->lpVtbl -> IsState(This,isstate)
  924. #define IInternetTransport_InetServerFromAccount(This,pAccount,pInetServer) \
  925. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  926. #define IInternetTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  927. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  928. #define IInternetTransport_HandsOffCallback(This) \
  929. (This)->lpVtbl -> HandsOffCallback(This)
  930. #define IInternetTransport_Disconnect(This) \
  931. (This)->lpVtbl -> Disconnect(This)
  932. #define IInternetTransport_DropConnection(This) \
  933. (This)->lpVtbl -> DropConnection(This)
  934. #define IInternetTransport_GetStatus(This,pCurrentStatus) \
  935. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  936. #endif /* COBJMACROS */
  937. #endif /* C style interface */
  938. HRESULT STDMETHODCALLTYPE IInternetTransport_GetServerInfo_Proxy(
  939. IInternetTransport * This,
  940. /* [out][in] */ LPINETSERVER pInetServer);
  941. void __RPC_STUB IInternetTransport_GetServerInfo_Stub(
  942. IRpcStubBuffer *This,
  943. IRpcChannelBuffer *_pRpcChannelBuffer,
  944. PRPC_MESSAGE _pRpcMessage,
  945. DWORD *_pdwStubPhase);
  946. IXPTYPE STDMETHODCALLTYPE IInternetTransport_GetIXPType_Proxy(
  947. IInternetTransport * This);
  948. void __RPC_STUB IInternetTransport_GetIXPType_Stub(
  949. IRpcStubBuffer *This,
  950. IRpcChannelBuffer *_pRpcChannelBuffer,
  951. PRPC_MESSAGE _pRpcMessage,
  952. DWORD *_pdwStubPhase);
  953. HRESULT STDMETHODCALLTYPE IInternetTransport_IsState_Proxy(
  954. IInternetTransport * This,
  955. /* [in] */ IXPISSTATE isstate);
  956. void __RPC_STUB IInternetTransport_IsState_Stub(
  957. IRpcStubBuffer *This,
  958. IRpcChannelBuffer *_pRpcChannelBuffer,
  959. PRPC_MESSAGE _pRpcMessage,
  960. DWORD *_pdwStubPhase);
  961. HRESULT STDMETHODCALLTYPE IInternetTransport_InetServerFromAccount_Proxy(
  962. IInternetTransport * This,
  963. /* [in] */ IImnAccount *pAccount,
  964. /* [out][in] */ LPINETSERVER pInetServer);
  965. void __RPC_STUB IInternetTransport_InetServerFromAccount_Stub(
  966. IRpcStubBuffer *This,
  967. IRpcChannelBuffer *_pRpcChannelBuffer,
  968. PRPC_MESSAGE _pRpcMessage,
  969. DWORD *_pdwStubPhase);
  970. HRESULT STDMETHODCALLTYPE IInternetTransport_Connect_Proxy(
  971. IInternetTransport * This,
  972. /* [in] */ LPINETSERVER pInetServer,
  973. /* [in] */ boolean fAuthenticate,
  974. /* [in] */ boolean fCommandLogging);
  975. void __RPC_STUB IInternetTransport_Connect_Stub(
  976. IRpcStubBuffer *This,
  977. IRpcChannelBuffer *_pRpcChannelBuffer,
  978. PRPC_MESSAGE _pRpcMessage,
  979. DWORD *_pdwStubPhase);
  980. HRESULT STDMETHODCALLTYPE IInternetTransport_HandsOffCallback_Proxy(
  981. IInternetTransport * This);
  982. void __RPC_STUB IInternetTransport_HandsOffCallback_Stub(
  983. IRpcStubBuffer *This,
  984. IRpcChannelBuffer *_pRpcChannelBuffer,
  985. PRPC_MESSAGE _pRpcMessage,
  986. DWORD *_pdwStubPhase);
  987. HRESULT STDMETHODCALLTYPE IInternetTransport_Disconnect_Proxy(
  988. IInternetTransport * This);
  989. void __RPC_STUB IInternetTransport_Disconnect_Stub(
  990. IRpcStubBuffer *This,
  991. IRpcChannelBuffer *_pRpcChannelBuffer,
  992. PRPC_MESSAGE _pRpcMessage,
  993. DWORD *_pdwStubPhase);
  994. HRESULT STDMETHODCALLTYPE IInternetTransport_DropConnection_Proxy(
  995. IInternetTransport * This);
  996. void __RPC_STUB IInternetTransport_DropConnection_Stub(
  997. IRpcStubBuffer *This,
  998. IRpcChannelBuffer *_pRpcChannelBuffer,
  999. PRPC_MESSAGE _pRpcMessage,
  1000. DWORD *_pdwStubPhase);
  1001. HRESULT STDMETHODCALLTYPE IInternetTransport_GetStatus_Proxy(
  1002. IInternetTransport * This,
  1003. /* [out] */ IXPSTATUS *pCurrentStatus);
  1004. void __RPC_STUB IInternetTransport_GetStatus_Stub(
  1005. IRpcStubBuffer *This,
  1006. IRpcChannelBuffer *_pRpcChannelBuffer,
  1007. PRPC_MESSAGE _pRpcMessage,
  1008. DWORD *_pdwStubPhase);
  1009. #endif /* __IInternetTransport_INTERFACE_DEFINED__ */
  1010. #ifndef __ISMTPCallback_INTERFACE_DEFINED__
  1011. #define __ISMTPCallback_INTERFACE_DEFINED__
  1012. /* interface ISMTPCallback */
  1013. /* [object][local][helpstring][uuid] */
  1014. typedef
  1015. enum tagSMTPCOMMAND
  1016. { SMTP_NONE = 0,
  1017. SMTP_BANNER = SMTP_NONE + 1,
  1018. SMTP_CONNECTED = SMTP_BANNER + 1,
  1019. SMTP_SEND_MESSAGE = SMTP_CONNECTED + 1,
  1020. SMTP_AUTH = SMTP_SEND_MESSAGE + 1,
  1021. SMTP_EHLO = SMTP_AUTH + 1,
  1022. SMTP_HELO = SMTP_EHLO + 1,
  1023. SMTP_MAIL = SMTP_HELO + 1,
  1024. SMTP_RCPT = SMTP_MAIL + 1,
  1025. SMTP_RSET = SMTP_RCPT + 1,
  1026. SMTP_QUIT = SMTP_RSET + 1,
  1027. SMTP_DATA = SMTP_QUIT + 1,
  1028. SMTP_DOT = SMTP_DATA + 1,
  1029. SMTP_SEND_STREAM = SMTP_DOT + 1,
  1030. SMTP_CUSTOM = SMTP_SEND_STREAM + 1
  1031. } SMTPCOMMAND;
  1032. typedef struct tagSMTPSTREAM
  1033. {
  1034. DWORD cbIncrement;
  1035. DWORD cbCurrent;
  1036. DWORD cbTotal;
  1037. } SMTPSTREAM;
  1038. typedef struct tagSMTPSTREAM *LPSMTPSTREAM;
  1039. typedef struct tagSMTPRESPONSE
  1040. {
  1041. SMTPCOMMAND command;
  1042. BOOL fDone;
  1043. IXPRESULT rIxpResult;
  1044. ISMTPTransport *pTransport;
  1045. /* [switch_is][switch_type] */ union
  1046. {
  1047. /* [case()] */ SMTPSTREAM rStreamInfo;
  1048. /* [default] */ /* Empty union arm */
  1049. } ;
  1050. } SMTPRESPONSE;
  1051. typedef struct tagSMTPRESPONSE *LPSMTPRESPONSE;
  1052. EXTERN_C const IID IID_ISMTPCallback;
  1053. #if defined(__cplusplus) && !defined(CINTERFACE)
  1054. MIDL_INTERFACE("1F636C02-364E-11d0-81D3-00C04FD85AB4")
  1055. ISMTPCallback : public ITransportCallback
  1056. {
  1057. public:
  1058. virtual HRESULT STDMETHODCALLTYPE OnResponse(
  1059. /* [in] */ LPSMTPRESPONSE pResponse) = 0;
  1060. };
  1061. #else /* C style interface */
  1062. typedef struct ISMTPCallbackVtbl
  1063. {
  1064. BEGIN_INTERFACE
  1065. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1066. ISMTPCallback * This,
  1067. /* [in] */ REFIID riid,
  1068. /* [iid_is][out] */ void **ppvObject);
  1069. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1070. ISMTPCallback * This);
  1071. ULONG ( STDMETHODCALLTYPE *Release )(
  1072. ISMTPCallback * This);
  1073. HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
  1074. ISMTPCallback * This,
  1075. /* [out][in] */ DWORD *pdwTimeout,
  1076. /* [in] */ IInternetTransport *pTransport);
  1077. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  1078. ISMTPCallback * This,
  1079. /* [out][in] */ LPINETSERVER pInetServer,
  1080. /* [in] */ IInternetTransport *pTransport);
  1081. INT ( STDMETHODCALLTYPE *OnPrompt )(
  1082. ISMTPCallback * This,
  1083. /* [in] */ HRESULT hrError,
  1084. /* [in] */ LPCTSTR pszText,
  1085. /* [in] */ LPCTSTR pszCaption,
  1086. /* [in] */ UINT uType,
  1087. /* [in] */ IInternetTransport *pTransport);
  1088. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  1089. ISMTPCallback * This,
  1090. /* [in] */ IXPSTATUS ixpstatus,
  1091. /* [in] */ IInternetTransport *pTransport);
  1092. HRESULT ( STDMETHODCALLTYPE *OnError )(
  1093. ISMTPCallback * This,
  1094. /* [in] */ IXPSTATUS ixpstatus,
  1095. /* [in] */ LPIXPRESULT pResult,
  1096. /* [in] */ IInternetTransport *pTransport);
  1097. HRESULT ( STDMETHODCALLTYPE *OnCommand )(
  1098. ISMTPCallback * This,
  1099. /* [in] */ CMDTYPE cmdtype,
  1100. /* [in] */ LPSTR pszLine,
  1101. /* [in] */ HRESULT hrResponse,
  1102. /* [in] */ IInternetTransport *pTransport);
  1103. HRESULT ( STDMETHODCALLTYPE *OnResponse )(
  1104. ISMTPCallback * This,
  1105. /* [in] */ LPSMTPRESPONSE pResponse);
  1106. END_INTERFACE
  1107. } ISMTPCallbackVtbl;
  1108. interface ISMTPCallback
  1109. {
  1110. CONST_VTBL struct ISMTPCallbackVtbl *lpVtbl;
  1111. };
  1112. #ifdef COBJMACROS
  1113. #define ISMTPCallback_QueryInterface(This,riid,ppvObject) \
  1114. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1115. #define ISMTPCallback_AddRef(This) \
  1116. (This)->lpVtbl -> AddRef(This)
  1117. #define ISMTPCallback_Release(This) \
  1118. (This)->lpVtbl -> Release(This)
  1119. #define ISMTPCallback_OnTimeout(This,pdwTimeout,pTransport) \
  1120. (This)->lpVtbl -> OnTimeout(This,pdwTimeout,pTransport)
  1121. #define ISMTPCallback_OnLogonPrompt(This,pInetServer,pTransport) \
  1122. (This)->lpVtbl -> OnLogonPrompt(This,pInetServer,pTransport)
  1123. #define ISMTPCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) \
  1124. (This)->lpVtbl -> OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport)
  1125. #define ISMTPCallback_OnStatus(This,ixpstatus,pTransport) \
  1126. (This)->lpVtbl -> OnStatus(This,ixpstatus,pTransport)
  1127. #define ISMTPCallback_OnError(This,ixpstatus,pResult,pTransport) \
  1128. (This)->lpVtbl -> OnError(This,ixpstatus,pResult,pTransport)
  1129. #define ISMTPCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) \
  1130. (This)->lpVtbl -> OnCommand(This,cmdtype,pszLine,hrResponse,pTransport)
  1131. #define ISMTPCallback_OnResponse(This,pResponse) \
  1132. (This)->lpVtbl -> OnResponse(This,pResponse)
  1133. #endif /* COBJMACROS */
  1134. #endif /* C style interface */
  1135. HRESULT STDMETHODCALLTYPE ISMTPCallback_OnResponse_Proxy(
  1136. ISMTPCallback * This,
  1137. /* [in] */ LPSMTPRESPONSE pResponse);
  1138. void __RPC_STUB ISMTPCallback_OnResponse_Stub(
  1139. IRpcStubBuffer *This,
  1140. IRpcChannelBuffer *_pRpcChannelBuffer,
  1141. PRPC_MESSAGE _pRpcMessage,
  1142. DWORD *_pdwStubPhase);
  1143. #endif /* __ISMTPCallback_INTERFACE_DEFINED__ */
  1144. #ifndef __ISMTPTransport_INTERFACE_DEFINED__
  1145. #define __ISMTPTransport_INTERFACE_DEFINED__
  1146. /* interface ISMTPTransport */
  1147. /* [object][local][helpstring][uuid] */
  1148. typedef struct tagSMTPMESSAGE
  1149. {
  1150. ULONG cbSize;
  1151. LPSTREAM pstmMsg;
  1152. INETADDRLIST rAddressList;
  1153. } SMTPMESSAGE;
  1154. typedef struct tagSMTPMESSAGE *LPSMTPMESSAGE;
  1155. EXTERN_C const IID IID_ISMTPTransport;
  1156. #if defined(__cplusplus) && !defined(CINTERFACE)
  1157. MIDL_INTERFACE("0DF2C7E2-3435-11d0-81D0-00C04FD85AB4")
  1158. ISMTPTransport : public IInternetTransport
  1159. {
  1160. public:
  1161. virtual HRESULT STDMETHODCALLTYPE InitNew(
  1162. /* [in] */ LPSTR pszLogFilePath,
  1163. /* [in] */ ISMTPCallback *pCallback) = 0;
  1164. virtual HRESULT STDMETHODCALLTYPE SendMessage(
  1165. /* [in] */ LPSMTPMESSAGE pMessage) = 0;
  1166. virtual HRESULT STDMETHODCALLTYPE CommandMAIL(
  1167. /* [in] */ LPSTR pszEmailFrom) = 0;
  1168. virtual HRESULT STDMETHODCALLTYPE CommandRCPT(
  1169. /* [in] */ LPSTR pszEmailTo) = 0;
  1170. virtual HRESULT STDMETHODCALLTYPE CommandEHLO( void) = 0;
  1171. virtual HRESULT STDMETHODCALLTYPE CommandHELO( void) = 0;
  1172. virtual HRESULT STDMETHODCALLTYPE CommandAUTH(
  1173. /* [in] */ LPSTR pszAuthType) = 0;
  1174. virtual HRESULT STDMETHODCALLTYPE CommandQUIT( void) = 0;
  1175. virtual HRESULT STDMETHODCALLTYPE CommandRSET( void) = 0;
  1176. virtual HRESULT STDMETHODCALLTYPE CommandDATA( void) = 0;
  1177. virtual HRESULT STDMETHODCALLTYPE CommandDOT( void) = 0;
  1178. virtual HRESULT STDMETHODCALLTYPE SendDataStream(
  1179. /* [in] */ IStream *pStream,
  1180. /* [in] */ ULONG cbSize) = 0;
  1181. };
  1182. #else /* C style interface */
  1183. typedef struct ISMTPTransportVtbl
  1184. {
  1185. BEGIN_INTERFACE
  1186. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1187. ISMTPTransport * This,
  1188. /* [in] */ REFIID riid,
  1189. /* [iid_is][out] */ void **ppvObject);
  1190. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1191. ISMTPTransport * This);
  1192. ULONG ( STDMETHODCALLTYPE *Release )(
  1193. ISMTPTransport * This);
  1194. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  1195. ISMTPTransport * This,
  1196. /* [out][in] */ LPINETSERVER pInetServer);
  1197. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  1198. ISMTPTransport * This);
  1199. HRESULT ( STDMETHODCALLTYPE *IsState )(
  1200. ISMTPTransport * This,
  1201. /* [in] */ IXPISSTATE isstate);
  1202. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  1203. ISMTPTransport * This,
  1204. /* [in] */ IImnAccount *pAccount,
  1205. /* [out][in] */ LPINETSERVER pInetServer);
  1206. HRESULT ( STDMETHODCALLTYPE *Connect )(
  1207. ISMTPTransport * This,
  1208. /* [in] */ LPINETSERVER pInetServer,
  1209. /* [in] */ boolean fAuthenticate,
  1210. /* [in] */ boolean fCommandLogging);
  1211. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  1212. ISMTPTransport * This);
  1213. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  1214. ISMTPTransport * This);
  1215. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  1216. ISMTPTransport * This);
  1217. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  1218. ISMTPTransport * This,
  1219. /* [out] */ IXPSTATUS *pCurrentStatus);
  1220. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  1221. ISMTPTransport * This,
  1222. /* [in] */ LPSTR pszLogFilePath,
  1223. /* [in] */ ISMTPCallback *pCallback);
  1224. HRESULT ( STDMETHODCALLTYPE *SendMessage )(
  1225. ISMTPTransport * This,
  1226. /* [in] */ LPSMTPMESSAGE pMessage);
  1227. HRESULT ( STDMETHODCALLTYPE *CommandMAIL )(
  1228. ISMTPTransport * This,
  1229. /* [in] */ LPSTR pszEmailFrom);
  1230. HRESULT ( STDMETHODCALLTYPE *CommandRCPT )(
  1231. ISMTPTransport * This,
  1232. /* [in] */ LPSTR pszEmailTo);
  1233. HRESULT ( STDMETHODCALLTYPE *CommandEHLO )(
  1234. ISMTPTransport * This);
  1235. HRESULT ( STDMETHODCALLTYPE *CommandHELO )(
  1236. ISMTPTransport * This);
  1237. HRESULT ( STDMETHODCALLTYPE *CommandAUTH )(
  1238. ISMTPTransport * This,
  1239. /* [in] */ LPSTR pszAuthType);
  1240. HRESULT ( STDMETHODCALLTYPE *CommandQUIT )(
  1241. ISMTPTransport * This);
  1242. HRESULT ( STDMETHODCALLTYPE *CommandRSET )(
  1243. ISMTPTransport * This);
  1244. HRESULT ( STDMETHODCALLTYPE *CommandDATA )(
  1245. ISMTPTransport * This);
  1246. HRESULT ( STDMETHODCALLTYPE *CommandDOT )(
  1247. ISMTPTransport * This);
  1248. HRESULT ( STDMETHODCALLTYPE *SendDataStream )(
  1249. ISMTPTransport * This,
  1250. /* [in] */ IStream *pStream,
  1251. /* [in] */ ULONG cbSize);
  1252. END_INTERFACE
  1253. } ISMTPTransportVtbl;
  1254. interface ISMTPTransport
  1255. {
  1256. CONST_VTBL struct ISMTPTransportVtbl *lpVtbl;
  1257. };
  1258. #ifdef COBJMACROS
  1259. #define ISMTPTransport_QueryInterface(This,riid,ppvObject) \
  1260. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1261. #define ISMTPTransport_AddRef(This) \
  1262. (This)->lpVtbl -> AddRef(This)
  1263. #define ISMTPTransport_Release(This) \
  1264. (This)->lpVtbl -> Release(This)
  1265. #define ISMTPTransport_GetServerInfo(This,pInetServer) \
  1266. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  1267. #define ISMTPTransport_GetIXPType(This) \
  1268. (This)->lpVtbl -> GetIXPType(This)
  1269. #define ISMTPTransport_IsState(This,isstate) \
  1270. (This)->lpVtbl -> IsState(This,isstate)
  1271. #define ISMTPTransport_InetServerFromAccount(This,pAccount,pInetServer) \
  1272. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  1273. #define ISMTPTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  1274. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  1275. #define ISMTPTransport_HandsOffCallback(This) \
  1276. (This)->lpVtbl -> HandsOffCallback(This)
  1277. #define ISMTPTransport_Disconnect(This) \
  1278. (This)->lpVtbl -> Disconnect(This)
  1279. #define ISMTPTransport_DropConnection(This) \
  1280. (This)->lpVtbl -> DropConnection(This)
  1281. #define ISMTPTransport_GetStatus(This,pCurrentStatus) \
  1282. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  1283. #define ISMTPTransport_InitNew(This,pszLogFilePath,pCallback) \
  1284. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCallback)
  1285. #define ISMTPTransport_SendMessage(This,pMessage) \
  1286. (This)->lpVtbl -> SendMessage(This,pMessage)
  1287. #define ISMTPTransport_CommandMAIL(This,pszEmailFrom) \
  1288. (This)->lpVtbl -> CommandMAIL(This,pszEmailFrom)
  1289. #define ISMTPTransport_CommandRCPT(This,pszEmailTo) \
  1290. (This)->lpVtbl -> CommandRCPT(This,pszEmailTo)
  1291. #define ISMTPTransport_CommandEHLO(This) \
  1292. (This)->lpVtbl -> CommandEHLO(This)
  1293. #define ISMTPTransport_CommandHELO(This) \
  1294. (This)->lpVtbl -> CommandHELO(This)
  1295. #define ISMTPTransport_CommandAUTH(This,pszAuthType) \
  1296. (This)->lpVtbl -> CommandAUTH(This,pszAuthType)
  1297. #define ISMTPTransport_CommandQUIT(This) \
  1298. (This)->lpVtbl -> CommandQUIT(This)
  1299. #define ISMTPTransport_CommandRSET(This) \
  1300. (This)->lpVtbl -> CommandRSET(This)
  1301. #define ISMTPTransport_CommandDATA(This) \
  1302. (This)->lpVtbl -> CommandDATA(This)
  1303. #define ISMTPTransport_CommandDOT(This) \
  1304. (This)->lpVtbl -> CommandDOT(This)
  1305. #define ISMTPTransport_SendDataStream(This,pStream,cbSize) \
  1306. (This)->lpVtbl -> SendDataStream(This,pStream,cbSize)
  1307. #endif /* COBJMACROS */
  1308. #endif /* C style interface */
  1309. HRESULT STDMETHODCALLTYPE ISMTPTransport_InitNew_Proxy(
  1310. ISMTPTransport * This,
  1311. /* [in] */ LPSTR pszLogFilePath,
  1312. /* [in] */ ISMTPCallback *pCallback);
  1313. void __RPC_STUB ISMTPTransport_InitNew_Stub(
  1314. IRpcStubBuffer *This,
  1315. IRpcChannelBuffer *_pRpcChannelBuffer,
  1316. PRPC_MESSAGE _pRpcMessage,
  1317. DWORD *_pdwStubPhase);
  1318. HRESULT STDMETHODCALLTYPE ISMTPTransport_SendMessage_Proxy(
  1319. ISMTPTransport * This,
  1320. /* [in] */ LPSMTPMESSAGE pMessage);
  1321. void __RPC_STUB ISMTPTransport_SendMessage_Stub(
  1322. IRpcStubBuffer *This,
  1323. IRpcChannelBuffer *_pRpcChannelBuffer,
  1324. PRPC_MESSAGE _pRpcMessage,
  1325. DWORD *_pdwStubPhase);
  1326. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandMAIL_Proxy(
  1327. ISMTPTransport * This,
  1328. /* [in] */ LPSTR pszEmailFrom);
  1329. void __RPC_STUB ISMTPTransport_CommandMAIL_Stub(
  1330. IRpcStubBuffer *This,
  1331. IRpcChannelBuffer *_pRpcChannelBuffer,
  1332. PRPC_MESSAGE _pRpcMessage,
  1333. DWORD *_pdwStubPhase);
  1334. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandRCPT_Proxy(
  1335. ISMTPTransport * This,
  1336. /* [in] */ LPSTR pszEmailTo);
  1337. void __RPC_STUB ISMTPTransport_CommandRCPT_Stub(
  1338. IRpcStubBuffer *This,
  1339. IRpcChannelBuffer *_pRpcChannelBuffer,
  1340. PRPC_MESSAGE _pRpcMessage,
  1341. DWORD *_pdwStubPhase);
  1342. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandEHLO_Proxy(
  1343. ISMTPTransport * This);
  1344. void __RPC_STUB ISMTPTransport_CommandEHLO_Stub(
  1345. IRpcStubBuffer *This,
  1346. IRpcChannelBuffer *_pRpcChannelBuffer,
  1347. PRPC_MESSAGE _pRpcMessage,
  1348. DWORD *_pdwStubPhase);
  1349. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandHELO_Proxy(
  1350. ISMTPTransport * This);
  1351. void __RPC_STUB ISMTPTransport_CommandHELO_Stub(
  1352. IRpcStubBuffer *This,
  1353. IRpcChannelBuffer *_pRpcChannelBuffer,
  1354. PRPC_MESSAGE _pRpcMessage,
  1355. DWORD *_pdwStubPhase);
  1356. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandAUTH_Proxy(
  1357. ISMTPTransport * This,
  1358. /* [in] */ LPSTR pszAuthType);
  1359. void __RPC_STUB ISMTPTransport_CommandAUTH_Stub(
  1360. IRpcStubBuffer *This,
  1361. IRpcChannelBuffer *_pRpcChannelBuffer,
  1362. PRPC_MESSAGE _pRpcMessage,
  1363. DWORD *_pdwStubPhase);
  1364. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandQUIT_Proxy(
  1365. ISMTPTransport * This);
  1366. void __RPC_STUB ISMTPTransport_CommandQUIT_Stub(
  1367. IRpcStubBuffer *This,
  1368. IRpcChannelBuffer *_pRpcChannelBuffer,
  1369. PRPC_MESSAGE _pRpcMessage,
  1370. DWORD *_pdwStubPhase);
  1371. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandRSET_Proxy(
  1372. ISMTPTransport * This);
  1373. void __RPC_STUB ISMTPTransport_CommandRSET_Stub(
  1374. IRpcStubBuffer *This,
  1375. IRpcChannelBuffer *_pRpcChannelBuffer,
  1376. PRPC_MESSAGE _pRpcMessage,
  1377. DWORD *_pdwStubPhase);
  1378. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandDATA_Proxy(
  1379. ISMTPTransport * This);
  1380. void __RPC_STUB ISMTPTransport_CommandDATA_Stub(
  1381. IRpcStubBuffer *This,
  1382. IRpcChannelBuffer *_pRpcChannelBuffer,
  1383. PRPC_MESSAGE _pRpcMessage,
  1384. DWORD *_pdwStubPhase);
  1385. HRESULT STDMETHODCALLTYPE ISMTPTransport_CommandDOT_Proxy(
  1386. ISMTPTransport * This);
  1387. void __RPC_STUB ISMTPTransport_CommandDOT_Stub(
  1388. IRpcStubBuffer *This,
  1389. IRpcChannelBuffer *_pRpcChannelBuffer,
  1390. PRPC_MESSAGE _pRpcMessage,
  1391. DWORD *_pdwStubPhase);
  1392. HRESULT STDMETHODCALLTYPE ISMTPTransport_SendDataStream_Proxy(
  1393. ISMTPTransport * This,
  1394. /* [in] */ IStream *pStream,
  1395. /* [in] */ ULONG cbSize);
  1396. void __RPC_STUB ISMTPTransport_SendDataStream_Stub(
  1397. IRpcStubBuffer *This,
  1398. IRpcChannelBuffer *_pRpcChannelBuffer,
  1399. PRPC_MESSAGE _pRpcMessage,
  1400. DWORD *_pdwStubPhase);
  1401. #endif /* __ISMTPTransport_INTERFACE_DEFINED__ */
  1402. #ifndef __ISMTPTransport2_INTERFACE_DEFINED__
  1403. #define __ISMTPTransport2_INTERFACE_DEFINED__
  1404. /* interface ISMTPTransport2 */
  1405. /* [object][local][helpstring][uuid] */
  1406. typedef struct tagSMTPMESSAGE2
  1407. {
  1408. SMTPMESSAGE smtpMsg;
  1409. LPSTR pszDSNENVID;
  1410. DSNRET dsnRet;
  1411. DWORD dwReserved;
  1412. DWORD dwReserved2;
  1413. } SMTPMESSAGE2;
  1414. typedef struct tagSMTPMESSAGE2 *LPSMTPMESSAGE2;
  1415. EXTERN_C const IID IID_ISMTPTransport2;
  1416. #if defined(__cplusplus) && !defined(CINTERFACE)
  1417. MIDL_INTERFACE("0DF2C7EC-3435-11d0-81D0-00C04FD85AB4")
  1418. ISMTPTransport2 : public ISMTPTransport
  1419. {
  1420. public:
  1421. virtual HRESULT STDMETHODCALLTYPE SetWindow( void) = 0;
  1422. virtual HRESULT STDMETHODCALLTYPE ResetWindow( void) = 0;
  1423. virtual HRESULT STDMETHODCALLTYPE SendMessage2(
  1424. /* [in] */ LPSMTPMESSAGE2 pMessage) = 0;
  1425. virtual HRESULT STDMETHODCALLTYPE CommandRCPT2(
  1426. /* [in] */ LPSTR pszEmailTo,
  1427. /* [in] */ INETADDRTYPE atDSN) = 0;
  1428. };
  1429. #else /* C style interface */
  1430. typedef struct ISMTPTransport2Vtbl
  1431. {
  1432. BEGIN_INTERFACE
  1433. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1434. ISMTPTransport2 * This,
  1435. /* [in] */ REFIID riid,
  1436. /* [iid_is][out] */ void **ppvObject);
  1437. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1438. ISMTPTransport2 * This);
  1439. ULONG ( STDMETHODCALLTYPE *Release )(
  1440. ISMTPTransport2 * This);
  1441. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  1442. ISMTPTransport2 * This,
  1443. /* [out][in] */ LPINETSERVER pInetServer);
  1444. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  1445. ISMTPTransport2 * This);
  1446. HRESULT ( STDMETHODCALLTYPE *IsState )(
  1447. ISMTPTransport2 * This,
  1448. /* [in] */ IXPISSTATE isstate);
  1449. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  1450. ISMTPTransport2 * This,
  1451. /* [in] */ IImnAccount *pAccount,
  1452. /* [out][in] */ LPINETSERVER pInetServer);
  1453. HRESULT ( STDMETHODCALLTYPE *Connect )(
  1454. ISMTPTransport2 * This,
  1455. /* [in] */ LPINETSERVER pInetServer,
  1456. /* [in] */ boolean fAuthenticate,
  1457. /* [in] */ boolean fCommandLogging);
  1458. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  1459. ISMTPTransport2 * This);
  1460. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  1461. ISMTPTransport2 * This);
  1462. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  1463. ISMTPTransport2 * This);
  1464. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  1465. ISMTPTransport2 * This,
  1466. /* [out] */ IXPSTATUS *pCurrentStatus);
  1467. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  1468. ISMTPTransport2 * This,
  1469. /* [in] */ LPSTR pszLogFilePath,
  1470. /* [in] */ ISMTPCallback *pCallback);
  1471. HRESULT ( STDMETHODCALLTYPE *SendMessage )(
  1472. ISMTPTransport2 * This,
  1473. /* [in] */ LPSMTPMESSAGE pMessage);
  1474. HRESULT ( STDMETHODCALLTYPE *CommandMAIL )(
  1475. ISMTPTransport2 * This,
  1476. /* [in] */ LPSTR pszEmailFrom);
  1477. HRESULT ( STDMETHODCALLTYPE *CommandRCPT )(
  1478. ISMTPTransport2 * This,
  1479. /* [in] */ LPSTR pszEmailTo);
  1480. HRESULT ( STDMETHODCALLTYPE *CommandEHLO )(
  1481. ISMTPTransport2 * This);
  1482. HRESULT ( STDMETHODCALLTYPE *CommandHELO )(
  1483. ISMTPTransport2 * This);
  1484. HRESULT ( STDMETHODCALLTYPE *CommandAUTH )(
  1485. ISMTPTransport2 * This,
  1486. /* [in] */ LPSTR pszAuthType);
  1487. HRESULT ( STDMETHODCALLTYPE *CommandQUIT )(
  1488. ISMTPTransport2 * This);
  1489. HRESULT ( STDMETHODCALLTYPE *CommandRSET )(
  1490. ISMTPTransport2 * This);
  1491. HRESULT ( STDMETHODCALLTYPE *CommandDATA )(
  1492. ISMTPTransport2 * This);
  1493. HRESULT ( STDMETHODCALLTYPE *CommandDOT )(
  1494. ISMTPTransport2 * This);
  1495. HRESULT ( STDMETHODCALLTYPE *SendDataStream )(
  1496. ISMTPTransport2 * This,
  1497. /* [in] */ IStream *pStream,
  1498. /* [in] */ ULONG cbSize);
  1499. HRESULT ( STDMETHODCALLTYPE *SetWindow )(
  1500. ISMTPTransport2 * This);
  1501. HRESULT ( STDMETHODCALLTYPE *ResetWindow )(
  1502. ISMTPTransport2 * This);
  1503. HRESULT ( STDMETHODCALLTYPE *SendMessage2 )(
  1504. ISMTPTransport2 * This,
  1505. /* [in] */ LPSMTPMESSAGE2 pMessage);
  1506. HRESULT ( STDMETHODCALLTYPE *CommandRCPT2 )(
  1507. ISMTPTransport2 * This,
  1508. /* [in] */ LPSTR pszEmailTo,
  1509. /* [in] */ INETADDRTYPE atDSN);
  1510. END_INTERFACE
  1511. } ISMTPTransport2Vtbl;
  1512. interface ISMTPTransport2
  1513. {
  1514. CONST_VTBL struct ISMTPTransport2Vtbl *lpVtbl;
  1515. };
  1516. #ifdef COBJMACROS
  1517. #define ISMTPTransport2_QueryInterface(This,riid,ppvObject) \
  1518. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1519. #define ISMTPTransport2_AddRef(This) \
  1520. (This)->lpVtbl -> AddRef(This)
  1521. #define ISMTPTransport2_Release(This) \
  1522. (This)->lpVtbl -> Release(This)
  1523. #define ISMTPTransport2_GetServerInfo(This,pInetServer) \
  1524. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  1525. #define ISMTPTransport2_GetIXPType(This) \
  1526. (This)->lpVtbl -> GetIXPType(This)
  1527. #define ISMTPTransport2_IsState(This,isstate) \
  1528. (This)->lpVtbl -> IsState(This,isstate)
  1529. #define ISMTPTransport2_InetServerFromAccount(This,pAccount,pInetServer) \
  1530. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  1531. #define ISMTPTransport2_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  1532. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  1533. #define ISMTPTransport2_HandsOffCallback(This) \
  1534. (This)->lpVtbl -> HandsOffCallback(This)
  1535. #define ISMTPTransport2_Disconnect(This) \
  1536. (This)->lpVtbl -> Disconnect(This)
  1537. #define ISMTPTransport2_DropConnection(This) \
  1538. (This)->lpVtbl -> DropConnection(This)
  1539. #define ISMTPTransport2_GetStatus(This,pCurrentStatus) \
  1540. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  1541. #define ISMTPTransport2_InitNew(This,pszLogFilePath,pCallback) \
  1542. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCallback)
  1543. #define ISMTPTransport2_SendMessage(This,pMessage) \
  1544. (This)->lpVtbl -> SendMessage(This,pMessage)
  1545. #define ISMTPTransport2_CommandMAIL(This,pszEmailFrom) \
  1546. (This)->lpVtbl -> CommandMAIL(This,pszEmailFrom)
  1547. #define ISMTPTransport2_CommandRCPT(This,pszEmailTo) \
  1548. (This)->lpVtbl -> CommandRCPT(This,pszEmailTo)
  1549. #define ISMTPTransport2_CommandEHLO(This) \
  1550. (This)->lpVtbl -> CommandEHLO(This)
  1551. #define ISMTPTransport2_CommandHELO(This) \
  1552. (This)->lpVtbl -> CommandHELO(This)
  1553. #define ISMTPTransport2_CommandAUTH(This,pszAuthType) \
  1554. (This)->lpVtbl -> CommandAUTH(This,pszAuthType)
  1555. #define ISMTPTransport2_CommandQUIT(This) \
  1556. (This)->lpVtbl -> CommandQUIT(This)
  1557. #define ISMTPTransport2_CommandRSET(This) \
  1558. (This)->lpVtbl -> CommandRSET(This)
  1559. #define ISMTPTransport2_CommandDATA(This) \
  1560. (This)->lpVtbl -> CommandDATA(This)
  1561. #define ISMTPTransport2_CommandDOT(This) \
  1562. (This)->lpVtbl -> CommandDOT(This)
  1563. #define ISMTPTransport2_SendDataStream(This,pStream,cbSize) \
  1564. (This)->lpVtbl -> SendDataStream(This,pStream,cbSize)
  1565. #define ISMTPTransport2_SetWindow(This) \
  1566. (This)->lpVtbl -> SetWindow(This)
  1567. #define ISMTPTransport2_ResetWindow(This) \
  1568. (This)->lpVtbl -> ResetWindow(This)
  1569. #define ISMTPTransport2_SendMessage2(This,pMessage) \
  1570. (This)->lpVtbl -> SendMessage2(This,pMessage)
  1571. #define ISMTPTransport2_CommandRCPT2(This,pszEmailTo,atDSN) \
  1572. (This)->lpVtbl -> CommandRCPT2(This,pszEmailTo,atDSN)
  1573. #endif /* COBJMACROS */
  1574. #endif /* C style interface */
  1575. HRESULT STDMETHODCALLTYPE ISMTPTransport2_SetWindow_Proxy(
  1576. ISMTPTransport2 * This);
  1577. void __RPC_STUB ISMTPTransport2_SetWindow_Stub(
  1578. IRpcStubBuffer *This,
  1579. IRpcChannelBuffer *_pRpcChannelBuffer,
  1580. PRPC_MESSAGE _pRpcMessage,
  1581. DWORD *_pdwStubPhase);
  1582. HRESULT STDMETHODCALLTYPE ISMTPTransport2_ResetWindow_Proxy(
  1583. ISMTPTransport2 * This);
  1584. void __RPC_STUB ISMTPTransport2_ResetWindow_Stub(
  1585. IRpcStubBuffer *This,
  1586. IRpcChannelBuffer *_pRpcChannelBuffer,
  1587. PRPC_MESSAGE _pRpcMessage,
  1588. DWORD *_pdwStubPhase);
  1589. HRESULT STDMETHODCALLTYPE ISMTPTransport2_SendMessage2_Proxy(
  1590. ISMTPTransport2 * This,
  1591. /* [in] */ LPSMTPMESSAGE2 pMessage);
  1592. void __RPC_STUB ISMTPTransport2_SendMessage2_Stub(
  1593. IRpcStubBuffer *This,
  1594. IRpcChannelBuffer *_pRpcChannelBuffer,
  1595. PRPC_MESSAGE _pRpcMessage,
  1596. DWORD *_pdwStubPhase);
  1597. HRESULT STDMETHODCALLTYPE ISMTPTransport2_CommandRCPT2_Proxy(
  1598. ISMTPTransport2 * This,
  1599. /* [in] */ LPSTR pszEmailTo,
  1600. /* [in] */ INETADDRTYPE atDSN);
  1601. void __RPC_STUB ISMTPTransport2_CommandRCPT2_Stub(
  1602. IRpcStubBuffer *This,
  1603. IRpcChannelBuffer *_pRpcChannelBuffer,
  1604. PRPC_MESSAGE _pRpcMessage,
  1605. DWORD *_pdwStubPhase);
  1606. #endif /* __ISMTPTransport2_INTERFACE_DEFINED__ */
  1607. #ifndef __IDAVNamespaceArbiter_INTERFACE_DEFINED__
  1608. #define __IDAVNamespaceArbiter_INTERFACE_DEFINED__
  1609. /* interface IDAVNamespaceArbiter */
  1610. /* [object][local][helpstring][uuid] */
  1611. EXTERN_C const IID IID_IDAVNamespaceArbiter;
  1612. #if defined(__cplusplus) && !defined(CINTERFACE)
  1613. MIDL_INTERFACE("72A58FF8-227D-11d2-A8B5-0000F8084F96")
  1614. IDAVNamespaceArbiter : public IUnknown
  1615. {
  1616. public:
  1617. virtual HRESULT STDMETHODCALLTYPE AddNamespace(
  1618. /* [in] */ LPCSTR pszNamespace,
  1619. /* [out] */ DWORD *pdwNamespaceID) = 0;
  1620. virtual HRESULT STDMETHODCALLTYPE GetNamespaceID(
  1621. /* [in] */ LPCSTR pszNamespace,
  1622. /* [out] */ DWORD *pdwNamespaceID) = 0;
  1623. virtual HRESULT STDMETHODCALLTYPE GetNamespacePrefix(
  1624. /* [in] */ DWORD dwNamespaceID,
  1625. /* [out] */ LPSTR *ppszNamespacePrefix) = 0;
  1626. };
  1627. #else /* C style interface */
  1628. typedef struct IDAVNamespaceArbiterVtbl
  1629. {
  1630. BEGIN_INTERFACE
  1631. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1632. IDAVNamespaceArbiter * This,
  1633. /* [in] */ REFIID riid,
  1634. /* [iid_is][out] */ void **ppvObject);
  1635. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1636. IDAVNamespaceArbiter * This);
  1637. ULONG ( STDMETHODCALLTYPE *Release )(
  1638. IDAVNamespaceArbiter * This);
  1639. HRESULT ( STDMETHODCALLTYPE *AddNamespace )(
  1640. IDAVNamespaceArbiter * This,
  1641. /* [in] */ LPCSTR pszNamespace,
  1642. /* [out] */ DWORD *pdwNamespaceID);
  1643. HRESULT ( STDMETHODCALLTYPE *GetNamespaceID )(
  1644. IDAVNamespaceArbiter * This,
  1645. /* [in] */ LPCSTR pszNamespace,
  1646. /* [out] */ DWORD *pdwNamespaceID);
  1647. HRESULT ( STDMETHODCALLTYPE *GetNamespacePrefix )(
  1648. IDAVNamespaceArbiter * This,
  1649. /* [in] */ DWORD dwNamespaceID,
  1650. /* [out] */ LPSTR *ppszNamespacePrefix);
  1651. END_INTERFACE
  1652. } IDAVNamespaceArbiterVtbl;
  1653. interface IDAVNamespaceArbiter
  1654. {
  1655. CONST_VTBL struct IDAVNamespaceArbiterVtbl *lpVtbl;
  1656. };
  1657. #ifdef COBJMACROS
  1658. #define IDAVNamespaceArbiter_QueryInterface(This,riid,ppvObject) \
  1659. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1660. #define IDAVNamespaceArbiter_AddRef(This) \
  1661. (This)->lpVtbl -> AddRef(This)
  1662. #define IDAVNamespaceArbiter_Release(This) \
  1663. (This)->lpVtbl -> Release(This)
  1664. #define IDAVNamespaceArbiter_AddNamespace(This,pszNamespace,pdwNamespaceID) \
  1665. (This)->lpVtbl -> AddNamespace(This,pszNamespace,pdwNamespaceID)
  1666. #define IDAVNamespaceArbiter_GetNamespaceID(This,pszNamespace,pdwNamespaceID) \
  1667. (This)->lpVtbl -> GetNamespaceID(This,pszNamespace,pdwNamespaceID)
  1668. #define IDAVNamespaceArbiter_GetNamespacePrefix(This,dwNamespaceID,ppszNamespacePrefix) \
  1669. (This)->lpVtbl -> GetNamespacePrefix(This,dwNamespaceID,ppszNamespacePrefix)
  1670. #endif /* COBJMACROS */
  1671. #endif /* C style interface */
  1672. HRESULT STDMETHODCALLTYPE IDAVNamespaceArbiter_AddNamespace_Proxy(
  1673. IDAVNamespaceArbiter * This,
  1674. /* [in] */ LPCSTR pszNamespace,
  1675. /* [out] */ DWORD *pdwNamespaceID);
  1676. void __RPC_STUB IDAVNamespaceArbiter_AddNamespace_Stub(
  1677. IRpcStubBuffer *This,
  1678. IRpcChannelBuffer *_pRpcChannelBuffer,
  1679. PRPC_MESSAGE _pRpcMessage,
  1680. DWORD *_pdwStubPhase);
  1681. HRESULT STDMETHODCALLTYPE IDAVNamespaceArbiter_GetNamespaceID_Proxy(
  1682. IDAVNamespaceArbiter * This,
  1683. /* [in] */ LPCSTR pszNamespace,
  1684. /* [out] */ DWORD *pdwNamespaceID);
  1685. void __RPC_STUB IDAVNamespaceArbiter_GetNamespaceID_Stub(
  1686. IRpcStubBuffer *This,
  1687. IRpcChannelBuffer *_pRpcChannelBuffer,
  1688. PRPC_MESSAGE _pRpcMessage,
  1689. DWORD *_pdwStubPhase);
  1690. HRESULT STDMETHODCALLTYPE IDAVNamespaceArbiter_GetNamespacePrefix_Proxy(
  1691. IDAVNamespaceArbiter * This,
  1692. /* [in] */ DWORD dwNamespaceID,
  1693. /* [out] */ LPSTR *ppszNamespacePrefix);
  1694. void __RPC_STUB IDAVNamespaceArbiter_GetNamespacePrefix_Stub(
  1695. IRpcStubBuffer *This,
  1696. IRpcChannelBuffer *_pRpcChannelBuffer,
  1697. PRPC_MESSAGE _pRpcMessage,
  1698. DWORD *_pdwStubPhase);
  1699. #endif /* __IDAVNamespaceArbiter_INTERFACE_DEFINED__ */
  1700. #ifndef __IPropPatchRequest_INTERFACE_DEFINED__
  1701. #define __IPropPatchRequest_INTERFACE_DEFINED__
  1702. /* interface IPropPatchRequest */
  1703. /* [object][local][helpstring][uuid] */
  1704. EXTERN_C const IID IID_IPropPatchRequest;
  1705. #if defined(__cplusplus) && !defined(CINTERFACE)
  1706. MIDL_INTERFACE("AB8B8D2A-227F-11d2-A8B5-0000F8084F96")
  1707. IPropPatchRequest : public IDAVNamespaceArbiter
  1708. {
  1709. public:
  1710. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  1711. /* [in] */ DWORD dwNamespaceID,
  1712. /* [in] */ LPCSTR pszPropertyName,
  1713. /* [in] */ LPCSTR pszNewValue) = 0;
  1714. virtual HRESULT STDMETHODCALLTYPE RemoveProperty(
  1715. /* [in] */ DWORD dwNamespaceID,
  1716. /* [in] */ LPCSTR pszPropertyName) = 0;
  1717. virtual HRESULT STDMETHODCALLTYPE GenerateXML(
  1718. /* [out] */ LPSTR *pszXML) = 0;
  1719. };
  1720. #else /* C style interface */
  1721. typedef struct IPropPatchRequestVtbl
  1722. {
  1723. BEGIN_INTERFACE
  1724. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1725. IPropPatchRequest * This,
  1726. /* [in] */ REFIID riid,
  1727. /* [iid_is][out] */ void **ppvObject);
  1728. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1729. IPropPatchRequest * This);
  1730. ULONG ( STDMETHODCALLTYPE *Release )(
  1731. IPropPatchRequest * This);
  1732. HRESULT ( STDMETHODCALLTYPE *AddNamespace )(
  1733. IPropPatchRequest * This,
  1734. /* [in] */ LPCSTR pszNamespace,
  1735. /* [out] */ DWORD *pdwNamespaceID);
  1736. HRESULT ( STDMETHODCALLTYPE *GetNamespaceID )(
  1737. IPropPatchRequest * This,
  1738. /* [in] */ LPCSTR pszNamespace,
  1739. /* [out] */ DWORD *pdwNamespaceID);
  1740. HRESULT ( STDMETHODCALLTYPE *GetNamespacePrefix )(
  1741. IPropPatchRequest * This,
  1742. /* [in] */ DWORD dwNamespaceID,
  1743. /* [out] */ LPSTR *ppszNamespacePrefix);
  1744. HRESULT ( STDMETHODCALLTYPE *SetProperty )(
  1745. IPropPatchRequest * This,
  1746. /* [in] */ DWORD dwNamespaceID,
  1747. /* [in] */ LPCSTR pszPropertyName,
  1748. /* [in] */ LPCSTR pszNewValue);
  1749. HRESULT ( STDMETHODCALLTYPE *RemoveProperty )(
  1750. IPropPatchRequest * This,
  1751. /* [in] */ DWORD dwNamespaceID,
  1752. /* [in] */ LPCSTR pszPropertyName);
  1753. HRESULT ( STDMETHODCALLTYPE *GenerateXML )(
  1754. IPropPatchRequest * This,
  1755. /* [out] */ LPSTR *pszXML);
  1756. END_INTERFACE
  1757. } IPropPatchRequestVtbl;
  1758. interface IPropPatchRequest
  1759. {
  1760. CONST_VTBL struct IPropPatchRequestVtbl *lpVtbl;
  1761. };
  1762. #ifdef COBJMACROS
  1763. #define IPropPatchRequest_QueryInterface(This,riid,ppvObject) \
  1764. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1765. #define IPropPatchRequest_AddRef(This) \
  1766. (This)->lpVtbl -> AddRef(This)
  1767. #define IPropPatchRequest_Release(This) \
  1768. (This)->lpVtbl -> Release(This)
  1769. #define IPropPatchRequest_AddNamespace(This,pszNamespace,pdwNamespaceID) \
  1770. (This)->lpVtbl -> AddNamespace(This,pszNamespace,pdwNamespaceID)
  1771. #define IPropPatchRequest_GetNamespaceID(This,pszNamespace,pdwNamespaceID) \
  1772. (This)->lpVtbl -> GetNamespaceID(This,pszNamespace,pdwNamespaceID)
  1773. #define IPropPatchRequest_GetNamespacePrefix(This,dwNamespaceID,ppszNamespacePrefix) \
  1774. (This)->lpVtbl -> GetNamespacePrefix(This,dwNamespaceID,ppszNamespacePrefix)
  1775. #define IPropPatchRequest_SetProperty(This,dwNamespaceID,pszPropertyName,pszNewValue) \
  1776. (This)->lpVtbl -> SetProperty(This,dwNamespaceID,pszPropertyName,pszNewValue)
  1777. #define IPropPatchRequest_RemoveProperty(This,dwNamespaceID,pszPropertyName) \
  1778. (This)->lpVtbl -> RemoveProperty(This,dwNamespaceID,pszPropertyName)
  1779. #define IPropPatchRequest_GenerateXML(This,pszXML) \
  1780. (This)->lpVtbl -> GenerateXML(This,pszXML)
  1781. #endif /* COBJMACROS */
  1782. #endif /* C style interface */
  1783. HRESULT STDMETHODCALLTYPE IPropPatchRequest_SetProperty_Proxy(
  1784. IPropPatchRequest * This,
  1785. /* [in] */ DWORD dwNamespaceID,
  1786. /* [in] */ LPCSTR pszPropertyName,
  1787. /* [in] */ LPCSTR pszNewValue);
  1788. void __RPC_STUB IPropPatchRequest_SetProperty_Stub(
  1789. IRpcStubBuffer *This,
  1790. IRpcChannelBuffer *_pRpcChannelBuffer,
  1791. PRPC_MESSAGE _pRpcMessage,
  1792. DWORD *_pdwStubPhase);
  1793. HRESULT STDMETHODCALLTYPE IPropPatchRequest_RemoveProperty_Proxy(
  1794. IPropPatchRequest * This,
  1795. /* [in] */ DWORD dwNamespaceID,
  1796. /* [in] */ LPCSTR pszPropertyName);
  1797. void __RPC_STUB IPropPatchRequest_RemoveProperty_Stub(
  1798. IRpcStubBuffer *This,
  1799. IRpcChannelBuffer *_pRpcChannelBuffer,
  1800. PRPC_MESSAGE _pRpcMessage,
  1801. DWORD *_pdwStubPhase);
  1802. HRESULT STDMETHODCALLTYPE IPropPatchRequest_GenerateXML_Proxy(
  1803. IPropPatchRequest * This,
  1804. /* [out] */ LPSTR *pszXML);
  1805. void __RPC_STUB IPropPatchRequest_GenerateXML_Stub(
  1806. IRpcStubBuffer *This,
  1807. IRpcChannelBuffer *_pRpcChannelBuffer,
  1808. PRPC_MESSAGE _pRpcMessage,
  1809. DWORD *_pdwStubPhase);
  1810. #endif /* __IPropPatchRequest_INTERFACE_DEFINED__ */
  1811. #ifndef __IPropFindRequest_INTERFACE_DEFINED__
  1812. #define __IPropFindRequest_INTERFACE_DEFINED__
  1813. /* interface IPropFindRequest */
  1814. /* [object][local][helpstring][uuid] */
  1815. EXTERN_C const IID IID_IPropFindRequest;
  1816. #if defined(__cplusplus) && !defined(CINTERFACE)
  1817. MIDL_INTERFACE("5CFC6308-0544-11d2-A894-0000F8084F96")
  1818. IPropFindRequest : public IDAVNamespaceArbiter
  1819. {
  1820. public:
  1821. virtual HRESULT STDMETHODCALLTYPE AddProperty(
  1822. /* [in] */ DWORD dwNamespaceID,
  1823. /* [in] */ LPCSTR pszPropertyName) = 0;
  1824. virtual HRESULT STDMETHODCALLTYPE GenerateXML(
  1825. /* [out] */ LPSTR *pszXML) = 0;
  1826. };
  1827. #else /* C style interface */
  1828. typedef struct IPropFindRequestVtbl
  1829. {
  1830. BEGIN_INTERFACE
  1831. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1832. IPropFindRequest * This,
  1833. /* [in] */ REFIID riid,
  1834. /* [iid_is][out] */ void **ppvObject);
  1835. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1836. IPropFindRequest * This);
  1837. ULONG ( STDMETHODCALLTYPE *Release )(
  1838. IPropFindRequest * This);
  1839. HRESULT ( STDMETHODCALLTYPE *AddNamespace )(
  1840. IPropFindRequest * This,
  1841. /* [in] */ LPCSTR pszNamespace,
  1842. /* [out] */ DWORD *pdwNamespaceID);
  1843. HRESULT ( STDMETHODCALLTYPE *GetNamespaceID )(
  1844. IPropFindRequest * This,
  1845. /* [in] */ LPCSTR pszNamespace,
  1846. /* [out] */ DWORD *pdwNamespaceID);
  1847. HRESULT ( STDMETHODCALLTYPE *GetNamespacePrefix )(
  1848. IPropFindRequest * This,
  1849. /* [in] */ DWORD dwNamespaceID,
  1850. /* [out] */ LPSTR *ppszNamespacePrefix);
  1851. HRESULT ( STDMETHODCALLTYPE *AddProperty )(
  1852. IPropFindRequest * This,
  1853. /* [in] */ DWORD dwNamespaceID,
  1854. /* [in] */ LPCSTR pszPropertyName);
  1855. HRESULT ( STDMETHODCALLTYPE *GenerateXML )(
  1856. IPropFindRequest * This,
  1857. /* [out] */ LPSTR *pszXML);
  1858. END_INTERFACE
  1859. } IPropFindRequestVtbl;
  1860. interface IPropFindRequest
  1861. {
  1862. CONST_VTBL struct IPropFindRequestVtbl *lpVtbl;
  1863. };
  1864. #ifdef COBJMACROS
  1865. #define IPropFindRequest_QueryInterface(This,riid,ppvObject) \
  1866. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1867. #define IPropFindRequest_AddRef(This) \
  1868. (This)->lpVtbl -> AddRef(This)
  1869. #define IPropFindRequest_Release(This) \
  1870. (This)->lpVtbl -> Release(This)
  1871. #define IPropFindRequest_AddNamespace(This,pszNamespace,pdwNamespaceID) \
  1872. (This)->lpVtbl -> AddNamespace(This,pszNamespace,pdwNamespaceID)
  1873. #define IPropFindRequest_GetNamespaceID(This,pszNamespace,pdwNamespaceID) \
  1874. (This)->lpVtbl -> GetNamespaceID(This,pszNamespace,pdwNamespaceID)
  1875. #define IPropFindRequest_GetNamespacePrefix(This,dwNamespaceID,ppszNamespacePrefix) \
  1876. (This)->lpVtbl -> GetNamespacePrefix(This,dwNamespaceID,ppszNamespacePrefix)
  1877. #define IPropFindRequest_AddProperty(This,dwNamespaceID,pszPropertyName) \
  1878. (This)->lpVtbl -> AddProperty(This,dwNamespaceID,pszPropertyName)
  1879. #define IPropFindRequest_GenerateXML(This,pszXML) \
  1880. (This)->lpVtbl -> GenerateXML(This,pszXML)
  1881. #endif /* COBJMACROS */
  1882. #endif /* C style interface */
  1883. HRESULT STDMETHODCALLTYPE IPropFindRequest_AddProperty_Proxy(
  1884. IPropFindRequest * This,
  1885. /* [in] */ DWORD dwNamespaceID,
  1886. /* [in] */ LPCSTR pszPropertyName);
  1887. void __RPC_STUB IPropFindRequest_AddProperty_Stub(
  1888. IRpcStubBuffer *This,
  1889. IRpcChannelBuffer *_pRpcChannelBuffer,
  1890. PRPC_MESSAGE _pRpcMessage,
  1891. DWORD *_pdwStubPhase);
  1892. HRESULT STDMETHODCALLTYPE IPropFindRequest_GenerateXML_Proxy(
  1893. IPropFindRequest * This,
  1894. /* [out] */ LPSTR *pszXML);
  1895. void __RPC_STUB IPropFindRequest_GenerateXML_Stub(
  1896. IRpcStubBuffer *This,
  1897. IRpcChannelBuffer *_pRpcChannelBuffer,
  1898. PRPC_MESSAGE _pRpcMessage,
  1899. DWORD *_pdwStubPhase);
  1900. #endif /* __IPropFindRequest_INTERFACE_DEFINED__ */
  1901. #ifndef __IPropFindMultiResponse_INTERFACE_DEFINED__
  1902. #define __IPropFindMultiResponse_INTERFACE_DEFINED__
  1903. /* interface IPropFindMultiResponse */
  1904. /* [object][local][helpstring][uuid] */
  1905. EXTERN_C const IID IID_IPropFindMultiResponse;
  1906. #if defined(__cplusplus) && !defined(CINTERFACE)
  1907. MIDL_INTERFACE("0DEE87DE-0547-11d2-A894-0000F8084F96")
  1908. IPropFindMultiResponse : public IUnknown
  1909. {
  1910. public:
  1911. virtual BOOL STDMETHODCALLTYPE IsComplete( void) = 0;
  1912. virtual HRESULT STDMETHODCALLTYPE GetLength(
  1913. /* [out] */ ULONG *pulLength) = 0;
  1914. virtual HRESULT STDMETHODCALLTYPE GetResponse(
  1915. /* [in] */ ULONG ulIndex,
  1916. /* [out] */ IPropFindResponse **ppResponse) = 0;
  1917. };
  1918. #else /* C style interface */
  1919. typedef struct IPropFindMultiResponseVtbl
  1920. {
  1921. BEGIN_INTERFACE
  1922. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1923. IPropFindMultiResponse * This,
  1924. /* [in] */ REFIID riid,
  1925. /* [iid_is][out] */ void **ppvObject);
  1926. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1927. IPropFindMultiResponse * This);
  1928. ULONG ( STDMETHODCALLTYPE *Release )(
  1929. IPropFindMultiResponse * This);
  1930. BOOL ( STDMETHODCALLTYPE *IsComplete )(
  1931. IPropFindMultiResponse * This);
  1932. HRESULT ( STDMETHODCALLTYPE *GetLength )(
  1933. IPropFindMultiResponse * This,
  1934. /* [out] */ ULONG *pulLength);
  1935. HRESULT ( STDMETHODCALLTYPE *GetResponse )(
  1936. IPropFindMultiResponse * This,
  1937. /* [in] */ ULONG ulIndex,
  1938. /* [out] */ IPropFindResponse **ppResponse);
  1939. END_INTERFACE
  1940. } IPropFindMultiResponseVtbl;
  1941. interface IPropFindMultiResponse
  1942. {
  1943. CONST_VTBL struct IPropFindMultiResponseVtbl *lpVtbl;
  1944. };
  1945. #ifdef COBJMACROS
  1946. #define IPropFindMultiResponse_QueryInterface(This,riid,ppvObject) \
  1947. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1948. #define IPropFindMultiResponse_AddRef(This) \
  1949. (This)->lpVtbl -> AddRef(This)
  1950. #define IPropFindMultiResponse_Release(This) \
  1951. (This)->lpVtbl -> Release(This)
  1952. #define IPropFindMultiResponse_IsComplete(This) \
  1953. (This)->lpVtbl -> IsComplete(This)
  1954. #define IPropFindMultiResponse_GetLength(This,pulLength) \
  1955. (This)->lpVtbl -> GetLength(This,pulLength)
  1956. #define IPropFindMultiResponse_GetResponse(This,ulIndex,ppResponse) \
  1957. (This)->lpVtbl -> GetResponse(This,ulIndex,ppResponse)
  1958. #endif /* COBJMACROS */
  1959. #endif /* C style interface */
  1960. BOOL STDMETHODCALLTYPE IPropFindMultiResponse_IsComplete_Proxy(
  1961. IPropFindMultiResponse * This);
  1962. void __RPC_STUB IPropFindMultiResponse_IsComplete_Stub(
  1963. IRpcStubBuffer *This,
  1964. IRpcChannelBuffer *_pRpcChannelBuffer,
  1965. PRPC_MESSAGE _pRpcMessage,
  1966. DWORD *_pdwStubPhase);
  1967. HRESULT STDMETHODCALLTYPE IPropFindMultiResponse_GetLength_Proxy(
  1968. IPropFindMultiResponse * This,
  1969. /* [out] */ ULONG *pulLength);
  1970. void __RPC_STUB IPropFindMultiResponse_GetLength_Stub(
  1971. IRpcStubBuffer *This,
  1972. IRpcChannelBuffer *_pRpcChannelBuffer,
  1973. PRPC_MESSAGE _pRpcMessage,
  1974. DWORD *_pdwStubPhase);
  1975. HRESULT STDMETHODCALLTYPE IPropFindMultiResponse_GetResponse_Proxy(
  1976. IPropFindMultiResponse * This,
  1977. /* [in] */ ULONG ulIndex,
  1978. /* [out] */ IPropFindResponse **ppResponse);
  1979. void __RPC_STUB IPropFindMultiResponse_GetResponse_Stub(
  1980. IRpcStubBuffer *This,
  1981. IRpcChannelBuffer *_pRpcChannelBuffer,
  1982. PRPC_MESSAGE _pRpcMessage,
  1983. DWORD *_pdwStubPhase);
  1984. #endif /* __IPropFindMultiResponse_INTERFACE_DEFINED__ */
  1985. #ifndef __IPropFindResponse_INTERFACE_DEFINED__
  1986. #define __IPropFindResponse_INTERFACE_DEFINED__
  1987. /* interface IPropFindResponse */
  1988. /* [object][local][helpstring][uuid] */
  1989. EXTERN_C const IID IID_IPropFindResponse;
  1990. #if defined(__cplusplus) && !defined(CINTERFACE)
  1991. MIDL_INTERFACE("8A523716-0548-11d2-A894-0000F8084F96")
  1992. IPropFindResponse : public IUnknown
  1993. {
  1994. public:
  1995. virtual BOOL STDMETHODCALLTYPE IsComplete( void) = 0;
  1996. virtual HRESULT STDMETHODCALLTYPE GetHref(
  1997. /* [out] */ LPSTR *ppszHref) = 0;
  1998. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  1999. /* [in] */ DWORD dwNamespaceID,
  2000. /* [in] */ LPCSTR pszPropertyName,
  2001. /* [out] */ LPSTR *ppszPropertyValue) = 0;
  2002. };
  2003. #else /* C style interface */
  2004. typedef struct IPropFindResponseVtbl
  2005. {
  2006. BEGIN_INTERFACE
  2007. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2008. IPropFindResponse * This,
  2009. /* [in] */ REFIID riid,
  2010. /* [iid_is][out] */ void **ppvObject);
  2011. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2012. IPropFindResponse * This);
  2013. ULONG ( STDMETHODCALLTYPE *Release )(
  2014. IPropFindResponse * This);
  2015. BOOL ( STDMETHODCALLTYPE *IsComplete )(
  2016. IPropFindResponse * This);
  2017. HRESULT ( STDMETHODCALLTYPE *GetHref )(
  2018. IPropFindResponse * This,
  2019. /* [out] */ LPSTR *ppszHref);
  2020. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  2021. IPropFindResponse * This,
  2022. /* [in] */ DWORD dwNamespaceID,
  2023. /* [in] */ LPCSTR pszPropertyName,
  2024. /* [out] */ LPSTR *ppszPropertyValue);
  2025. END_INTERFACE
  2026. } IPropFindResponseVtbl;
  2027. interface IPropFindResponse
  2028. {
  2029. CONST_VTBL struct IPropFindResponseVtbl *lpVtbl;
  2030. };
  2031. #ifdef COBJMACROS
  2032. #define IPropFindResponse_QueryInterface(This,riid,ppvObject) \
  2033. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2034. #define IPropFindResponse_AddRef(This) \
  2035. (This)->lpVtbl -> AddRef(This)
  2036. #define IPropFindResponse_Release(This) \
  2037. (This)->lpVtbl -> Release(This)
  2038. #define IPropFindResponse_IsComplete(This) \
  2039. (This)->lpVtbl -> IsComplete(This)
  2040. #define IPropFindResponse_GetHref(This,ppszHref) \
  2041. (This)->lpVtbl -> GetHref(This,ppszHref)
  2042. #define IPropFindResponse_GetProperty(This,dwNamespaceID,pszPropertyName,ppszPropertyValue) \
  2043. (This)->lpVtbl -> GetProperty(This,dwNamespaceID,pszPropertyName,ppszPropertyValue)
  2044. #endif /* COBJMACROS */
  2045. #endif /* C style interface */
  2046. BOOL STDMETHODCALLTYPE IPropFindResponse_IsComplete_Proxy(
  2047. IPropFindResponse * This);
  2048. void __RPC_STUB IPropFindResponse_IsComplete_Stub(
  2049. IRpcStubBuffer *This,
  2050. IRpcChannelBuffer *_pRpcChannelBuffer,
  2051. PRPC_MESSAGE _pRpcMessage,
  2052. DWORD *_pdwStubPhase);
  2053. HRESULT STDMETHODCALLTYPE IPropFindResponse_GetHref_Proxy(
  2054. IPropFindResponse * This,
  2055. /* [out] */ LPSTR *ppszHref);
  2056. void __RPC_STUB IPropFindResponse_GetHref_Stub(
  2057. IRpcStubBuffer *This,
  2058. IRpcChannelBuffer *_pRpcChannelBuffer,
  2059. PRPC_MESSAGE _pRpcMessage,
  2060. DWORD *_pdwStubPhase);
  2061. HRESULT STDMETHODCALLTYPE IPropFindResponse_GetProperty_Proxy(
  2062. IPropFindResponse * This,
  2063. /* [in] */ DWORD dwNamespaceID,
  2064. /* [in] */ LPCSTR pszPropertyName,
  2065. /* [out] */ LPSTR *ppszPropertyValue);
  2066. void __RPC_STUB IPropFindResponse_GetProperty_Stub(
  2067. IRpcStubBuffer *This,
  2068. IRpcChannelBuffer *_pRpcChannelBuffer,
  2069. PRPC_MESSAGE _pRpcMessage,
  2070. DWORD *_pdwStubPhase);
  2071. #endif /* __IPropFindResponse_INTERFACE_DEFINED__ */
  2072. #ifndef __IHTTPMailCallback_INTERFACE_DEFINED__
  2073. #define __IHTTPMailCallback_INTERFACE_DEFINED__
  2074. /* interface IHTTPMailCallback */
  2075. /* [object][local][helpstring][uuid] */
  2076. typedef
  2077. enum tagHTTPMAILCOMMAND
  2078. { HTTPMAIL_NONE = 0,
  2079. HTTPMAIL_GETPROP = HTTPMAIL_NONE + 1,
  2080. HTTPMAIL_GET = HTTPMAIL_GETPROP + 1,
  2081. HTTPMAIL_PUT = HTTPMAIL_GET + 1,
  2082. HTTPMAIL_POST = HTTPMAIL_PUT + 1,
  2083. HTTPMAIL_DELETE = HTTPMAIL_POST + 1,
  2084. HTTPMAIL_BDELETE = HTTPMAIL_DELETE + 1,
  2085. HTTPMAIL_PROPFIND = HTTPMAIL_BDELETE + 1,
  2086. HTTPMAIL_PROPPATCH = HTTPMAIL_PROPFIND + 1,
  2087. HTTPMAIL_MKCOL = HTTPMAIL_PROPPATCH + 1,
  2088. HTTPMAIL_COPY = HTTPMAIL_MKCOL + 1,
  2089. HTTPMAIL_BCOPY = HTTPMAIL_COPY + 1,
  2090. HTTPMAIL_MOVE = HTTPMAIL_BCOPY + 1,
  2091. HTTPMAIL_BMOVE = HTTPMAIL_MOVE + 1,
  2092. HTTPMAIL_MEMBERINFO = HTTPMAIL_BMOVE + 1,
  2093. HTTPMAIL_FINDFOLDERS = HTTPMAIL_MEMBERINFO + 1,
  2094. HTTPMAIL_MARKREAD = HTTPMAIL_FINDFOLDERS + 1,
  2095. HTTPMAIL_SENDMESSAGE = HTTPMAIL_MARKREAD + 1,
  2096. HTTPMAIL_LISTCONTACTS = HTTPMAIL_SENDMESSAGE + 1,
  2097. HTTPMAIL_CONTACTINFO = HTTPMAIL_LISTCONTACTS + 1,
  2098. HTTPMAIL_POSTCONTACT = HTTPMAIL_CONTACTINFO + 1,
  2099. HTTPMAIL_PATCHCONTACT = HTTPMAIL_POSTCONTACT + 1
  2100. } HTTPMAILCOMMAND;
  2101. typedef struct tagHTTPMAILGETPROP
  2102. {
  2103. HTTPMAILPROPTYPE type;
  2104. LPSTR pszProp;
  2105. } HTTPMAILGETPROP;
  2106. typedef struct tagHTTPMAILGETPROP *LPHTTPMAILGETPROP;
  2107. typedef struct tagHTTPMAILGET
  2108. {
  2109. BOOL fTotalKnown;
  2110. DWORD cbIncrement;
  2111. DWORD cbCurrent;
  2112. DWORD cbTotal;
  2113. LPVOID pvBody;
  2114. LPSTR pszContentType;
  2115. } HTTPMAILGET;
  2116. typedef struct tagHTTPMAILGET *LPHTTPMAILGET;
  2117. typedef struct tagHTTPMAILPOST
  2118. {
  2119. LPSTR pszLocation;
  2120. BOOL fResend;
  2121. DWORD cbIncrement;
  2122. DWORD cbCurrent;
  2123. DWORD cbTotal;
  2124. } HTTPMAILPOST;
  2125. typedef struct tagHTTPMAILPOST *LPHTTPMAILPOST;
  2126. typedef struct tagHTTPMAILPROPFIND
  2127. {
  2128. IPropFindMultiResponse *pMultiResponse;
  2129. } HTTPMAILPROPFIND;
  2130. typedef struct tagHTTPMAILPROPFIND *LPHTTPMAILPROPFIND;
  2131. typedef struct tagHTTPMAILLOCATION
  2132. {
  2133. LPSTR pszLocation;
  2134. } HTTPMAILLOCATION;
  2135. typedef struct tagHTTPMAILLOCATION *LPHTTPMAILLOCATION;
  2136. typedef struct tagHTTPMAILBCOPYMOVE
  2137. {
  2138. LPSTR pszHref;
  2139. LPSTR pszLocation;
  2140. HRESULT hrResult;
  2141. } HTTPMAILBCOPYMOVE;
  2142. typedef struct tagHTTPMAILBCOPYMOVE *LPHTTPMAILBCOPYMOVE;
  2143. typedef struct tagHTTPMAILBCOPYMOVELIST
  2144. {
  2145. ULONG cBCopyMove;
  2146. LPHTTPMAILBCOPYMOVE prgBCopyMove;
  2147. } HTTPMAILBCOPYMOVELIST;
  2148. typedef struct tagHTTPMAILBCOPYMOVELIST *LPHTTPMAILBCOPYMOVELIST;
  2149. typedef struct tagHTTPMEMBERINFO
  2150. {
  2151. LPSTR pszHref;
  2152. BOOL fIsFolder;
  2153. LPSTR pszDisplayName;
  2154. BOOL fHasSubs;
  2155. BOOL fNoSubs;
  2156. DWORD dwUnreadCount;
  2157. DWORD dwVisibleCount;
  2158. HTTPMAILSPECIALFOLDER tySpecial;
  2159. BOOL fRead;
  2160. BOOL fHasAttachment;
  2161. LPSTR pszTo;
  2162. LPSTR pszFrom;
  2163. LPSTR pszSubject;
  2164. LPSTR pszDate;
  2165. DWORD dwContentLength;
  2166. } HTTPMEMBERINFO;
  2167. typedef struct tagHTTPMEMBERINFO *LPHTTPMEMBERINFO;
  2168. typedef struct tagHTTPMEMBERINFOLIST
  2169. {
  2170. ULONG cMemberInfo;
  2171. LPHTTPMEMBERINFO prgMemberInfo;
  2172. } HTTPMEMBERINFOLIST;
  2173. typedef struct tagHTTPMEMBERINFOLIST *LPHTTPMEMBERINFOLIST;
  2174. typedef struct tagHTTPMEMBERERROR
  2175. {
  2176. LPSTR pszHref;
  2177. HRESULT hrResult;
  2178. } HTTPMEMBERERROR;
  2179. typedef struct tagHTTPMEMBERERROR *LPHTTPMEMBERERROR;
  2180. typedef struct tagHTTPMEMBERERRORLIST
  2181. {
  2182. ULONG cMemberError;
  2183. LPHTTPMEMBERERROR prgMemberError;
  2184. } HTTPMEMBERERRORLIST;
  2185. typedef struct tagHTTPMEMBERERRORLIST *LPHTTPMEMBERERRORLIST;
  2186. typedef struct tagHTTPCONTACTID
  2187. {
  2188. LPSTR pszHref;
  2189. LPSTR pszId;
  2190. HTTPMAILCONTACTTYPE tyContact;
  2191. LPSTR pszModified;
  2192. } HTTPCONTACTID;
  2193. typedef struct tagHTTPCONTACTID *LPHTTPCONTACTID;
  2194. typedef struct tagHTTPCONTACTIDLIST
  2195. {
  2196. ULONG cContactId;
  2197. LPHTTPCONTACTID prgContactId;
  2198. } HTTPCONTACTIDLIST;
  2199. typedef struct tagHTTPCONTACTIDLIST *LPHTTPCONTACTIDLIST;
  2200. typedef struct tagHTTPCONTACTINFO
  2201. {
  2202. LPSTR pszHref;
  2203. LPSTR pszId;
  2204. HTTPMAILCONTACTTYPE tyContact;
  2205. LPSTR pszModified;
  2206. LPSTR pszDisplayName;
  2207. LPSTR pszGivenName;
  2208. LPSTR pszSurname;
  2209. LPSTR pszNickname;
  2210. LPSTR pszEmail;
  2211. LPSTR pszHomeStreet;
  2212. LPSTR pszHomeCity;
  2213. LPSTR pszHomeState;
  2214. LPSTR pszHomePostalCode;
  2215. LPSTR pszHomeCountry;
  2216. LPSTR pszCompany;
  2217. LPSTR pszWorkStreet;
  2218. LPSTR pszWorkCity;
  2219. LPSTR pszWorkState;
  2220. LPSTR pszWorkPostalCode;
  2221. LPSTR pszWorkCountry;
  2222. LPSTR pszHomePhone;
  2223. LPSTR pszHomeFax;
  2224. LPSTR pszWorkPhone;
  2225. LPSTR pszWorkFax;
  2226. LPSTR pszMobilePhone;
  2227. LPSTR pszOtherPhone;
  2228. LPSTR pszBday;
  2229. LPSTR pszPager;
  2230. } HTTPCONTACTINFO;
  2231. typedef struct tagHTTPCONTACTINFO *LPHTTPCONTACTINFO;
  2232. typedef struct tagHTTPCONTACTINFOLIST
  2233. {
  2234. ULONG cContactInfo;
  2235. LPHTTPCONTACTINFO prgContactInfo;
  2236. } HTTPCONTACTINFOLIST;
  2237. typedef struct tagHTTPCONTACTINFOLIST *LPHTTPCONTACTINFOLIST;
  2238. typedef struct tagHTTPMAILRESPONSE
  2239. {
  2240. HTTPMAILCOMMAND command;
  2241. DWORD dwContext;
  2242. BOOL fDone;
  2243. IXPRESULT rIxpResult;
  2244. IHTTPMailTransport *pTransport;
  2245. /* [switch_is][switch_type] */ union
  2246. {
  2247. /* [case()] */ HTTPMAILGETPROP rGetPropInfo;
  2248. /* [case()] */ HTTPMAILGET rGetInfo;
  2249. /* [case()] */ HTTPMAILPOST rPutInfo;
  2250. /* [case()] */ HTTPMAILPOST rPostInfo;
  2251. /* [case()] */ HTTPMAILPROPFIND rPropFindInfo;
  2252. /* [case()] */ HTTPMAILLOCATION rMkColInfo;
  2253. /* [case()] */ HTTPMAILLOCATION rCopyMoveInfo;
  2254. /* [case()] */ HTTPMAILBCOPYMOVELIST rBCopyMoveList;
  2255. /* [case()] */ HTTPMEMBERINFOLIST rMemberInfoList;
  2256. /* [case()] */ HTTPMEMBERERRORLIST rMemberErrorList;
  2257. /* [case()] */ HTTPMAILPOST rSendMessageInfo;
  2258. /* [case()] */ HTTPCONTACTIDLIST rContactIdList;
  2259. /* [case()] */ HTTPCONTACTINFOLIST rContactInfoList;
  2260. /* [case()] */ HTTPCONTACTID rPostContactInfo;
  2261. /* [case()] */ HTTPCONTACTID rPatchContactInfo;
  2262. /* [default] */ /* Empty union arm */
  2263. } ;
  2264. } HTTPMAILRESPONSE;
  2265. typedef struct tagHTTPMAILRESPONSE *LPHTTPMAILRESPONSE;
  2266. EXTERN_C const IID IID_IHTTPMailCallback;
  2267. #if defined(__cplusplus) && !defined(CINTERFACE)
  2268. MIDL_INTERFACE("19F6481C-E5F0-11d1-A86E-0000F8084F96")
  2269. IHTTPMailCallback : public ITransportCallback
  2270. {
  2271. public:
  2272. virtual HRESULT STDMETHODCALLTYPE OnResponse(
  2273. /* [in] */ LPHTTPMAILRESPONSE pResponse) = 0;
  2274. virtual HRESULT STDMETHODCALLTYPE GetParentWindow(
  2275. /* [out] */ HWND *phwndParent) = 0;
  2276. };
  2277. #else /* C style interface */
  2278. typedef struct IHTTPMailCallbackVtbl
  2279. {
  2280. BEGIN_INTERFACE
  2281. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2282. IHTTPMailCallback * This,
  2283. /* [in] */ REFIID riid,
  2284. /* [iid_is][out] */ void **ppvObject);
  2285. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2286. IHTTPMailCallback * This);
  2287. ULONG ( STDMETHODCALLTYPE *Release )(
  2288. IHTTPMailCallback * This);
  2289. HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
  2290. IHTTPMailCallback * This,
  2291. /* [out][in] */ DWORD *pdwTimeout,
  2292. /* [in] */ IInternetTransport *pTransport);
  2293. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  2294. IHTTPMailCallback * This,
  2295. /* [out][in] */ LPINETSERVER pInetServer,
  2296. /* [in] */ IInternetTransport *pTransport);
  2297. INT ( STDMETHODCALLTYPE *OnPrompt )(
  2298. IHTTPMailCallback * This,
  2299. /* [in] */ HRESULT hrError,
  2300. /* [in] */ LPCTSTR pszText,
  2301. /* [in] */ LPCTSTR pszCaption,
  2302. /* [in] */ UINT uType,
  2303. /* [in] */ IInternetTransport *pTransport);
  2304. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  2305. IHTTPMailCallback * This,
  2306. /* [in] */ IXPSTATUS ixpstatus,
  2307. /* [in] */ IInternetTransport *pTransport);
  2308. HRESULT ( STDMETHODCALLTYPE *OnError )(
  2309. IHTTPMailCallback * This,
  2310. /* [in] */ IXPSTATUS ixpstatus,
  2311. /* [in] */ LPIXPRESULT pResult,
  2312. /* [in] */ IInternetTransport *pTransport);
  2313. HRESULT ( STDMETHODCALLTYPE *OnCommand )(
  2314. IHTTPMailCallback * This,
  2315. /* [in] */ CMDTYPE cmdtype,
  2316. /* [in] */ LPSTR pszLine,
  2317. /* [in] */ HRESULT hrResponse,
  2318. /* [in] */ IInternetTransport *pTransport);
  2319. HRESULT ( STDMETHODCALLTYPE *OnResponse )(
  2320. IHTTPMailCallback * This,
  2321. /* [in] */ LPHTTPMAILRESPONSE pResponse);
  2322. HRESULT ( STDMETHODCALLTYPE *GetParentWindow )(
  2323. IHTTPMailCallback * This,
  2324. /* [out] */ HWND *phwndParent);
  2325. END_INTERFACE
  2326. } IHTTPMailCallbackVtbl;
  2327. interface IHTTPMailCallback
  2328. {
  2329. CONST_VTBL struct IHTTPMailCallbackVtbl *lpVtbl;
  2330. };
  2331. #ifdef COBJMACROS
  2332. #define IHTTPMailCallback_QueryInterface(This,riid,ppvObject) \
  2333. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2334. #define IHTTPMailCallback_AddRef(This) \
  2335. (This)->lpVtbl -> AddRef(This)
  2336. #define IHTTPMailCallback_Release(This) \
  2337. (This)->lpVtbl -> Release(This)
  2338. #define IHTTPMailCallback_OnTimeout(This,pdwTimeout,pTransport) \
  2339. (This)->lpVtbl -> OnTimeout(This,pdwTimeout,pTransport)
  2340. #define IHTTPMailCallback_OnLogonPrompt(This,pInetServer,pTransport) \
  2341. (This)->lpVtbl -> OnLogonPrompt(This,pInetServer,pTransport)
  2342. #define IHTTPMailCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) \
  2343. (This)->lpVtbl -> OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport)
  2344. #define IHTTPMailCallback_OnStatus(This,ixpstatus,pTransport) \
  2345. (This)->lpVtbl -> OnStatus(This,ixpstatus,pTransport)
  2346. #define IHTTPMailCallback_OnError(This,ixpstatus,pResult,pTransport) \
  2347. (This)->lpVtbl -> OnError(This,ixpstatus,pResult,pTransport)
  2348. #define IHTTPMailCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) \
  2349. (This)->lpVtbl -> OnCommand(This,cmdtype,pszLine,hrResponse,pTransport)
  2350. #define IHTTPMailCallback_OnResponse(This,pResponse) \
  2351. (This)->lpVtbl -> OnResponse(This,pResponse)
  2352. #define IHTTPMailCallback_GetParentWindow(This,phwndParent) \
  2353. (This)->lpVtbl -> GetParentWindow(This,phwndParent)
  2354. #endif /* COBJMACROS */
  2355. #endif /* C style interface */
  2356. HRESULT STDMETHODCALLTYPE IHTTPMailCallback_OnResponse_Proxy(
  2357. IHTTPMailCallback * This,
  2358. /* [in] */ LPHTTPMAILRESPONSE pResponse);
  2359. void __RPC_STUB IHTTPMailCallback_OnResponse_Stub(
  2360. IRpcStubBuffer *This,
  2361. IRpcChannelBuffer *_pRpcChannelBuffer,
  2362. PRPC_MESSAGE _pRpcMessage,
  2363. DWORD *_pdwStubPhase);
  2364. HRESULT STDMETHODCALLTYPE IHTTPMailCallback_GetParentWindow_Proxy(
  2365. IHTTPMailCallback * This,
  2366. /* [out] */ HWND *phwndParent);
  2367. void __RPC_STUB IHTTPMailCallback_GetParentWindow_Stub(
  2368. IRpcStubBuffer *This,
  2369. IRpcChannelBuffer *_pRpcChannelBuffer,
  2370. PRPC_MESSAGE _pRpcMessage,
  2371. DWORD *_pdwStubPhase);
  2372. #endif /* __IHTTPMailCallback_INTERFACE_DEFINED__ */
  2373. #ifndef __IHTTPMailTransport_INTERFACE_DEFINED__
  2374. #define __IHTTPMailTransport_INTERFACE_DEFINED__
  2375. /* interface IHTTPMailTransport */
  2376. /* [object][local][helpstring][uuid] */
  2377. typedef struct tagHTTPTARGETLIST
  2378. {
  2379. ULONG cTarget;
  2380. LPCSTR *prgTarget;
  2381. } HTTPTARGETLIST;
  2382. typedef struct tagHTTPTARGETLIST *LPHTTPTARGETLIST;
  2383. EXTERN_C const IID IID_IHTTPMailTransport;
  2384. #if defined(__cplusplus) && !defined(CINTERFACE)
  2385. MIDL_INTERFACE("B8BDE03C-E548-11d1-A86E-0000F8084F96")
  2386. IHTTPMailTransport : public IInternetTransport
  2387. {
  2388. public:
  2389. virtual HRESULT STDMETHODCALLTYPE InitNew(
  2390. /* [in] */ LPCSTR pszUserAgent,
  2391. /* [in] */ LPCSTR pszLogFilePath,
  2392. /* [in] */ IHTTPMailCallback *pCallback) = 0;
  2393. virtual HRESULT STDMETHODCALLTYPE CommandGET(
  2394. /* [in] */ LPCSTR pszPath,
  2395. /* [in] */ LPCSTR *rgszAcceptTypes,
  2396. /* [in] */ BOOL fTranslate,
  2397. /* [in] */ DWORD dwContext) = 0;
  2398. virtual HRESULT STDMETHODCALLTYPE CommandPUT(
  2399. /* [in] */ LPCSTR pszPath,
  2400. /* [in] */ LPVOID lpvData,
  2401. /* [in] */ ULONG cbSize,
  2402. /* [in] */ DWORD dwContext) = 0;
  2403. virtual HRESULT STDMETHODCALLTYPE CommandPOST(
  2404. /* [in] */ LPCSTR pszPath,
  2405. /* [in] */ IStream *pStream,
  2406. /* [in] */ LPCSTR pszContentType,
  2407. /* [in] */ DWORD dwContext) = 0;
  2408. virtual HRESULT STDMETHODCALLTYPE CommandDELETE(
  2409. /* [in] */ LPCSTR pszPath,
  2410. /* [in] */ DWORD dwContext) = 0;
  2411. virtual HRESULT STDMETHODCALLTYPE CommandBDELETE(
  2412. /* [in] */ LPCSTR pszSourceCollection,
  2413. /* [in] */ LPHTTPTARGETLIST pTargets,
  2414. /* [in] */ DWORD dwContext) = 0;
  2415. virtual HRESULT STDMETHODCALLTYPE CommandPROPFIND(
  2416. /* [in] */ LPCSTR pszPath,
  2417. /* [in] */ IPropFindRequest *pRequest,
  2418. /* [in] */ DWORD dwDepth,
  2419. /* [in] */ DWORD dwContext) = 0;
  2420. virtual HRESULT STDMETHODCALLTYPE CommandPROPPATCH(
  2421. /* [in] */ LPCSTR pszPath,
  2422. /* [in] */ IPropPatchRequest *pRequest,
  2423. /* [in] */ DWORD dwContext) = 0;
  2424. virtual HRESULT STDMETHODCALLTYPE CommandMKCOL(
  2425. /* [in] */ LPCSTR pszPath,
  2426. /* [in] */ DWORD dwContext) = 0;
  2427. virtual HRESULT STDMETHODCALLTYPE CommandCOPY(
  2428. /* [in] */ LPCSTR pszPath,
  2429. /* [in] */ LPCSTR pszDestination,
  2430. /* [in] */ BOOL fAllowRename,
  2431. /* [in] */ DWORD dwContext) = 0;
  2432. virtual HRESULT STDMETHODCALLTYPE CommandBCOPY(
  2433. /* [in] */ LPCSTR pszSourceCollection,
  2434. /* [in] */ LPHTTPTARGETLIST pTargets,
  2435. /* [in] */ LPCSTR pszDestCollection,
  2436. /* [in] */ LPHTTPTARGETLIST pDestinations,
  2437. /* [in] */ BOOL fAllowRename,
  2438. /* [in] */ DWORD dwContext) = 0;
  2439. virtual HRESULT STDMETHODCALLTYPE CommandMOVE(
  2440. /* [in] */ LPCSTR pszPath,
  2441. /* [in] */ LPCSTR pszDestination,
  2442. /* [in] */ BOOL fAllowRename,
  2443. /* [in] */ DWORD dwContext) = 0;
  2444. virtual HRESULT STDMETHODCALLTYPE CommandBMOVE(
  2445. /* [in] */ LPCSTR pszSourceCollection,
  2446. /* [in] */ LPHTTPTARGETLIST pTargets,
  2447. /* [in] */ LPCSTR pszDestCollection,
  2448. /* [in] */ LPHTTPTARGETLIST pDestinations,
  2449. /* [in] */ BOOL fAllowRename,
  2450. /* [in] */ DWORD dwContext) = 0;
  2451. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  2452. /* [in] */ HTTPMAILPROPTYPE proptype,
  2453. /* [out] */ LPSTR *ppszProp) = 0;
  2454. virtual HRESULT STDMETHODCALLTYPE MemberInfo(
  2455. /* [in] */ LPCSTR pszPath,
  2456. /* [in] */ MEMBERINFOFLAGS flags,
  2457. /* [in] */ DWORD dwDepth,
  2458. /* [in] */ BOOL fIncludeRoot,
  2459. /* [in] */ DWORD dwContext) = 0;
  2460. virtual HRESULT STDMETHODCALLTYPE FindFolders(
  2461. /* [in] */ LPCSTR pszPath,
  2462. /* [in] */ DWORD dwContext) = 0;
  2463. virtual HRESULT STDMETHODCALLTYPE MarkRead(
  2464. /* [in] */ LPCSTR pszPath,
  2465. /* [in] */ LPHTTPTARGETLIST pTargets,
  2466. /* [in] */ BOOL fMarkRead,
  2467. /* [in] */ DWORD dwContext) = 0;
  2468. virtual HRESULT STDMETHODCALLTYPE SendMessage(
  2469. /* [in] */ LPCSTR pszPath,
  2470. /* [in] */ LPCSTR pszFrom,
  2471. /* [in] */ LPHTTPTARGETLIST pTargets,
  2472. /* [in] */ BOOL fSaveInSent,
  2473. /* [in] */ IStream *pMessageStream,
  2474. /* [in] */ DWORD dwContext) = 0;
  2475. virtual HRESULT STDMETHODCALLTYPE ListContacts(
  2476. /* [in] */ LPCSTR pszPath,
  2477. /* [in] */ DWORD dwContext) = 0;
  2478. virtual HRESULT STDMETHODCALLTYPE ListContactInfos(
  2479. /* [in] */ LPCSTR pszCollectionPath,
  2480. /* [in] */ DWORD dwContext) = 0;
  2481. virtual HRESULT STDMETHODCALLTYPE ContactInfo(
  2482. /* [in] */ LPCSTR pszPath,
  2483. /* [in] */ DWORD dwContext) = 0;
  2484. virtual HRESULT STDMETHODCALLTYPE PostContact(
  2485. /* [in] */ LPCSTR pszPath,
  2486. /* [in] */ LPHTTPCONTACTINFO pciInfo,
  2487. /* [in] */ DWORD dwContext) = 0;
  2488. virtual HRESULT STDMETHODCALLTYPE PatchContact(
  2489. /* [in] */ LPCSTR pszPath,
  2490. /* [in] */ LPHTTPCONTACTINFO pciInfo,
  2491. /* [in] */ DWORD dwContext) = 0;
  2492. };
  2493. #else /* C style interface */
  2494. typedef struct IHTTPMailTransportVtbl
  2495. {
  2496. BEGIN_INTERFACE
  2497. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2498. IHTTPMailTransport * This,
  2499. /* [in] */ REFIID riid,
  2500. /* [iid_is][out] */ void **ppvObject);
  2501. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2502. IHTTPMailTransport * This);
  2503. ULONG ( STDMETHODCALLTYPE *Release )(
  2504. IHTTPMailTransport * This);
  2505. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  2506. IHTTPMailTransport * This,
  2507. /* [out][in] */ LPINETSERVER pInetServer);
  2508. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  2509. IHTTPMailTransport * This);
  2510. HRESULT ( STDMETHODCALLTYPE *IsState )(
  2511. IHTTPMailTransport * This,
  2512. /* [in] */ IXPISSTATE isstate);
  2513. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  2514. IHTTPMailTransport * This,
  2515. /* [in] */ IImnAccount *pAccount,
  2516. /* [out][in] */ LPINETSERVER pInetServer);
  2517. HRESULT ( STDMETHODCALLTYPE *Connect )(
  2518. IHTTPMailTransport * This,
  2519. /* [in] */ LPINETSERVER pInetServer,
  2520. /* [in] */ boolean fAuthenticate,
  2521. /* [in] */ boolean fCommandLogging);
  2522. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  2523. IHTTPMailTransport * This);
  2524. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  2525. IHTTPMailTransport * This);
  2526. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  2527. IHTTPMailTransport * This);
  2528. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  2529. IHTTPMailTransport * This,
  2530. /* [out] */ IXPSTATUS *pCurrentStatus);
  2531. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  2532. IHTTPMailTransport * This,
  2533. /* [in] */ LPCSTR pszUserAgent,
  2534. /* [in] */ LPCSTR pszLogFilePath,
  2535. /* [in] */ IHTTPMailCallback *pCallback);
  2536. HRESULT ( STDMETHODCALLTYPE *CommandGET )(
  2537. IHTTPMailTransport * This,
  2538. /* [in] */ LPCSTR pszPath,
  2539. /* [in] */ LPCSTR *rgszAcceptTypes,
  2540. /* [in] */ BOOL fTranslate,
  2541. /* [in] */ DWORD dwContext);
  2542. HRESULT ( STDMETHODCALLTYPE *CommandPUT )(
  2543. IHTTPMailTransport * This,
  2544. /* [in] */ LPCSTR pszPath,
  2545. /* [in] */ LPVOID lpvData,
  2546. /* [in] */ ULONG cbSize,
  2547. /* [in] */ DWORD dwContext);
  2548. HRESULT ( STDMETHODCALLTYPE *CommandPOST )(
  2549. IHTTPMailTransport * This,
  2550. /* [in] */ LPCSTR pszPath,
  2551. /* [in] */ IStream *pStream,
  2552. /* [in] */ LPCSTR pszContentType,
  2553. /* [in] */ DWORD dwContext);
  2554. HRESULT ( STDMETHODCALLTYPE *CommandDELETE )(
  2555. IHTTPMailTransport * This,
  2556. /* [in] */ LPCSTR pszPath,
  2557. /* [in] */ DWORD dwContext);
  2558. HRESULT ( STDMETHODCALLTYPE *CommandBDELETE )(
  2559. IHTTPMailTransport * This,
  2560. /* [in] */ LPCSTR pszSourceCollection,
  2561. /* [in] */ LPHTTPTARGETLIST pTargets,
  2562. /* [in] */ DWORD dwContext);
  2563. HRESULT ( STDMETHODCALLTYPE *CommandPROPFIND )(
  2564. IHTTPMailTransport * This,
  2565. /* [in] */ LPCSTR pszPath,
  2566. /* [in] */ IPropFindRequest *pRequest,
  2567. /* [in] */ DWORD dwDepth,
  2568. /* [in] */ DWORD dwContext);
  2569. HRESULT ( STDMETHODCALLTYPE *CommandPROPPATCH )(
  2570. IHTTPMailTransport * This,
  2571. /* [in] */ LPCSTR pszPath,
  2572. /* [in] */ IPropPatchRequest *pRequest,
  2573. /* [in] */ DWORD dwContext);
  2574. HRESULT ( STDMETHODCALLTYPE *CommandMKCOL )(
  2575. IHTTPMailTransport * This,
  2576. /* [in] */ LPCSTR pszPath,
  2577. /* [in] */ DWORD dwContext);
  2578. HRESULT ( STDMETHODCALLTYPE *CommandCOPY )(
  2579. IHTTPMailTransport * This,
  2580. /* [in] */ LPCSTR pszPath,
  2581. /* [in] */ LPCSTR pszDestination,
  2582. /* [in] */ BOOL fAllowRename,
  2583. /* [in] */ DWORD dwContext);
  2584. HRESULT ( STDMETHODCALLTYPE *CommandBCOPY )(
  2585. IHTTPMailTransport * This,
  2586. /* [in] */ LPCSTR pszSourceCollection,
  2587. /* [in] */ LPHTTPTARGETLIST pTargets,
  2588. /* [in] */ LPCSTR pszDestCollection,
  2589. /* [in] */ LPHTTPTARGETLIST pDestinations,
  2590. /* [in] */ BOOL fAllowRename,
  2591. /* [in] */ DWORD dwContext);
  2592. HRESULT ( STDMETHODCALLTYPE *CommandMOVE )(
  2593. IHTTPMailTransport * This,
  2594. /* [in] */ LPCSTR pszPath,
  2595. /* [in] */ LPCSTR pszDestination,
  2596. /* [in] */ BOOL fAllowRename,
  2597. /* [in] */ DWORD dwContext);
  2598. HRESULT ( STDMETHODCALLTYPE *CommandBMOVE )(
  2599. IHTTPMailTransport * This,
  2600. /* [in] */ LPCSTR pszSourceCollection,
  2601. /* [in] */ LPHTTPTARGETLIST pTargets,
  2602. /* [in] */ LPCSTR pszDestCollection,
  2603. /* [in] */ LPHTTPTARGETLIST pDestinations,
  2604. /* [in] */ BOOL fAllowRename,
  2605. /* [in] */ DWORD dwContext);
  2606. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  2607. IHTTPMailTransport * This,
  2608. /* [in] */ HTTPMAILPROPTYPE proptype,
  2609. /* [out] */ LPSTR *ppszProp);
  2610. HRESULT ( STDMETHODCALLTYPE *MemberInfo )(
  2611. IHTTPMailTransport * This,
  2612. /* [in] */ LPCSTR pszPath,
  2613. /* [in] */ MEMBERINFOFLAGS flags,
  2614. /* [in] */ DWORD dwDepth,
  2615. /* [in] */ BOOL fIncludeRoot,
  2616. /* [in] */ DWORD dwContext);
  2617. HRESULT ( STDMETHODCALLTYPE *FindFolders )(
  2618. IHTTPMailTransport * This,
  2619. /* [in] */ LPCSTR pszPath,
  2620. /* [in] */ DWORD dwContext);
  2621. HRESULT ( STDMETHODCALLTYPE *MarkRead )(
  2622. IHTTPMailTransport * This,
  2623. /* [in] */ LPCSTR pszPath,
  2624. /* [in] */ LPHTTPTARGETLIST pTargets,
  2625. /* [in] */ BOOL fMarkRead,
  2626. /* [in] */ DWORD dwContext);
  2627. HRESULT ( STDMETHODCALLTYPE *SendMessage )(
  2628. IHTTPMailTransport * This,
  2629. /* [in] */ LPCSTR pszPath,
  2630. /* [in] */ LPCSTR pszFrom,
  2631. /* [in] */ LPHTTPTARGETLIST pTargets,
  2632. /* [in] */ BOOL fSaveInSent,
  2633. /* [in] */ IStream *pMessageStream,
  2634. /* [in] */ DWORD dwContext);
  2635. HRESULT ( STDMETHODCALLTYPE *ListContacts )(
  2636. IHTTPMailTransport * This,
  2637. /* [in] */ LPCSTR pszPath,
  2638. /* [in] */ DWORD dwContext);
  2639. HRESULT ( STDMETHODCALLTYPE *ListContactInfos )(
  2640. IHTTPMailTransport * This,
  2641. /* [in] */ LPCSTR pszCollectionPath,
  2642. /* [in] */ DWORD dwContext);
  2643. HRESULT ( STDMETHODCALLTYPE *ContactInfo )(
  2644. IHTTPMailTransport * This,
  2645. /* [in] */ LPCSTR pszPath,
  2646. /* [in] */ DWORD dwContext);
  2647. HRESULT ( STDMETHODCALLTYPE *PostContact )(
  2648. IHTTPMailTransport * This,
  2649. /* [in] */ LPCSTR pszPath,
  2650. /* [in] */ LPHTTPCONTACTINFO pciInfo,
  2651. /* [in] */ DWORD dwContext);
  2652. HRESULT ( STDMETHODCALLTYPE *PatchContact )(
  2653. IHTTPMailTransport * This,
  2654. /* [in] */ LPCSTR pszPath,
  2655. /* [in] */ LPHTTPCONTACTINFO pciInfo,
  2656. /* [in] */ DWORD dwContext);
  2657. END_INTERFACE
  2658. } IHTTPMailTransportVtbl;
  2659. interface IHTTPMailTransport
  2660. {
  2661. CONST_VTBL struct IHTTPMailTransportVtbl *lpVtbl;
  2662. };
  2663. #ifdef COBJMACROS
  2664. #define IHTTPMailTransport_QueryInterface(This,riid,ppvObject) \
  2665. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2666. #define IHTTPMailTransport_AddRef(This) \
  2667. (This)->lpVtbl -> AddRef(This)
  2668. #define IHTTPMailTransport_Release(This) \
  2669. (This)->lpVtbl -> Release(This)
  2670. #define IHTTPMailTransport_GetServerInfo(This,pInetServer) \
  2671. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  2672. #define IHTTPMailTransport_GetIXPType(This) \
  2673. (This)->lpVtbl -> GetIXPType(This)
  2674. #define IHTTPMailTransport_IsState(This,isstate) \
  2675. (This)->lpVtbl -> IsState(This,isstate)
  2676. #define IHTTPMailTransport_InetServerFromAccount(This,pAccount,pInetServer) \
  2677. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  2678. #define IHTTPMailTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  2679. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  2680. #define IHTTPMailTransport_HandsOffCallback(This) \
  2681. (This)->lpVtbl -> HandsOffCallback(This)
  2682. #define IHTTPMailTransport_Disconnect(This) \
  2683. (This)->lpVtbl -> Disconnect(This)
  2684. #define IHTTPMailTransport_DropConnection(This) \
  2685. (This)->lpVtbl -> DropConnection(This)
  2686. #define IHTTPMailTransport_GetStatus(This,pCurrentStatus) \
  2687. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  2688. #define IHTTPMailTransport_InitNew(This,pszUserAgent,pszLogFilePath,pCallback) \
  2689. (This)->lpVtbl -> InitNew(This,pszUserAgent,pszLogFilePath,pCallback)
  2690. #define IHTTPMailTransport_CommandGET(This,pszPath,rgszAcceptTypes,fTranslate,dwContext) \
  2691. (This)->lpVtbl -> CommandGET(This,pszPath,rgszAcceptTypes,fTranslate,dwContext)
  2692. #define IHTTPMailTransport_CommandPUT(This,pszPath,lpvData,cbSize,dwContext) \
  2693. (This)->lpVtbl -> CommandPUT(This,pszPath,lpvData,cbSize,dwContext)
  2694. #define IHTTPMailTransport_CommandPOST(This,pszPath,pStream,pszContentType,dwContext) \
  2695. (This)->lpVtbl -> CommandPOST(This,pszPath,pStream,pszContentType,dwContext)
  2696. #define IHTTPMailTransport_CommandDELETE(This,pszPath,dwContext) \
  2697. (This)->lpVtbl -> CommandDELETE(This,pszPath,dwContext)
  2698. #define IHTTPMailTransport_CommandBDELETE(This,pszSourceCollection,pTargets,dwContext) \
  2699. (This)->lpVtbl -> CommandBDELETE(This,pszSourceCollection,pTargets,dwContext)
  2700. #define IHTTPMailTransport_CommandPROPFIND(This,pszPath,pRequest,dwDepth,dwContext) \
  2701. (This)->lpVtbl -> CommandPROPFIND(This,pszPath,pRequest,dwDepth,dwContext)
  2702. #define IHTTPMailTransport_CommandPROPPATCH(This,pszPath,pRequest,dwContext) \
  2703. (This)->lpVtbl -> CommandPROPPATCH(This,pszPath,pRequest,dwContext)
  2704. #define IHTTPMailTransport_CommandMKCOL(This,pszPath,dwContext) \
  2705. (This)->lpVtbl -> CommandMKCOL(This,pszPath,dwContext)
  2706. #define IHTTPMailTransport_CommandCOPY(This,pszPath,pszDestination,fAllowRename,dwContext) \
  2707. (This)->lpVtbl -> CommandCOPY(This,pszPath,pszDestination,fAllowRename,dwContext)
  2708. #define IHTTPMailTransport_CommandBCOPY(This,pszSourceCollection,pTargets,pszDestCollection,pDestinations,fAllowRename,dwContext) \
  2709. (This)->lpVtbl -> CommandBCOPY(This,pszSourceCollection,pTargets,pszDestCollection,pDestinations,fAllowRename,dwContext)
  2710. #define IHTTPMailTransport_CommandMOVE(This,pszPath,pszDestination,fAllowRename,dwContext) \
  2711. (This)->lpVtbl -> CommandMOVE(This,pszPath,pszDestination,fAllowRename,dwContext)
  2712. #define IHTTPMailTransport_CommandBMOVE(This,pszSourceCollection,pTargets,pszDestCollection,pDestinations,fAllowRename,dwContext) \
  2713. (This)->lpVtbl -> CommandBMOVE(This,pszSourceCollection,pTargets,pszDestCollection,pDestinations,fAllowRename,dwContext)
  2714. #define IHTTPMailTransport_GetProperty(This,proptype,ppszProp) \
  2715. (This)->lpVtbl -> GetProperty(This,proptype,ppszProp)
  2716. #define IHTTPMailTransport_MemberInfo(This,pszPath,flags,dwDepth,fIncludeRoot,dwContext) \
  2717. (This)->lpVtbl -> MemberInfo(This,pszPath,flags,dwDepth,fIncludeRoot,dwContext)
  2718. #define IHTTPMailTransport_FindFolders(This,pszPath,dwContext) \
  2719. (This)->lpVtbl -> FindFolders(This,pszPath,dwContext)
  2720. #define IHTTPMailTransport_MarkRead(This,pszPath,pTargets,fMarkRead,dwContext) \
  2721. (This)->lpVtbl -> MarkRead(This,pszPath,pTargets,fMarkRead,dwContext)
  2722. #define IHTTPMailTransport_SendMessage(This,pszPath,pszFrom,pTargets,fSaveInSent,pMessageStream,dwContext) \
  2723. (This)->lpVtbl -> SendMessage(This,pszPath,pszFrom,pTargets,fSaveInSent,pMessageStream,dwContext)
  2724. #define IHTTPMailTransport_ListContacts(This,pszPath,dwContext) \
  2725. (This)->lpVtbl -> ListContacts(This,pszPath,dwContext)
  2726. #define IHTTPMailTransport_ListContactInfos(This,pszCollectionPath,dwContext) \
  2727. (This)->lpVtbl -> ListContactInfos(This,pszCollectionPath,dwContext)
  2728. #define IHTTPMailTransport_ContactInfo(This,pszPath,dwContext) \
  2729. (This)->lpVtbl -> ContactInfo(This,pszPath,dwContext)
  2730. #define IHTTPMailTransport_PostContact(This,pszPath,pciInfo,dwContext) \
  2731. (This)->lpVtbl -> PostContact(This,pszPath,pciInfo,dwContext)
  2732. #define IHTTPMailTransport_PatchContact(This,pszPath,pciInfo,dwContext) \
  2733. (This)->lpVtbl -> PatchContact(This,pszPath,pciInfo,dwContext)
  2734. #endif /* COBJMACROS */
  2735. #endif /* C style interface */
  2736. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_InitNew_Proxy(
  2737. IHTTPMailTransport * This,
  2738. /* [in] */ LPCSTR pszUserAgent,
  2739. /* [in] */ LPCSTR pszLogFilePath,
  2740. /* [in] */ IHTTPMailCallback *pCallback);
  2741. void __RPC_STUB IHTTPMailTransport_InitNew_Stub(
  2742. IRpcStubBuffer *This,
  2743. IRpcChannelBuffer *_pRpcChannelBuffer,
  2744. PRPC_MESSAGE _pRpcMessage,
  2745. DWORD *_pdwStubPhase);
  2746. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandGET_Proxy(
  2747. IHTTPMailTransport * This,
  2748. /* [in] */ LPCSTR pszPath,
  2749. /* [in] */ LPCSTR *rgszAcceptTypes,
  2750. /* [in] */ BOOL fTranslate,
  2751. /* [in] */ DWORD dwContext);
  2752. void __RPC_STUB IHTTPMailTransport_CommandGET_Stub(
  2753. IRpcStubBuffer *This,
  2754. IRpcChannelBuffer *_pRpcChannelBuffer,
  2755. PRPC_MESSAGE _pRpcMessage,
  2756. DWORD *_pdwStubPhase);
  2757. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandPUT_Proxy(
  2758. IHTTPMailTransport * This,
  2759. /* [in] */ LPCSTR pszPath,
  2760. /* [in] */ LPVOID lpvData,
  2761. /* [in] */ ULONG cbSize,
  2762. /* [in] */ DWORD dwContext);
  2763. void __RPC_STUB IHTTPMailTransport_CommandPUT_Stub(
  2764. IRpcStubBuffer *This,
  2765. IRpcChannelBuffer *_pRpcChannelBuffer,
  2766. PRPC_MESSAGE _pRpcMessage,
  2767. DWORD *_pdwStubPhase);
  2768. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandPOST_Proxy(
  2769. IHTTPMailTransport * This,
  2770. /* [in] */ LPCSTR pszPath,
  2771. /* [in] */ IStream *pStream,
  2772. /* [in] */ LPCSTR pszContentType,
  2773. /* [in] */ DWORD dwContext);
  2774. void __RPC_STUB IHTTPMailTransport_CommandPOST_Stub(
  2775. IRpcStubBuffer *This,
  2776. IRpcChannelBuffer *_pRpcChannelBuffer,
  2777. PRPC_MESSAGE _pRpcMessage,
  2778. DWORD *_pdwStubPhase);
  2779. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandDELETE_Proxy(
  2780. IHTTPMailTransport * This,
  2781. /* [in] */ LPCSTR pszPath,
  2782. /* [in] */ DWORD dwContext);
  2783. void __RPC_STUB IHTTPMailTransport_CommandDELETE_Stub(
  2784. IRpcStubBuffer *This,
  2785. IRpcChannelBuffer *_pRpcChannelBuffer,
  2786. PRPC_MESSAGE _pRpcMessage,
  2787. DWORD *_pdwStubPhase);
  2788. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandBDELETE_Proxy(
  2789. IHTTPMailTransport * This,
  2790. /* [in] */ LPCSTR pszSourceCollection,
  2791. /* [in] */ LPHTTPTARGETLIST pTargets,
  2792. /* [in] */ DWORD dwContext);
  2793. void __RPC_STUB IHTTPMailTransport_CommandBDELETE_Stub(
  2794. IRpcStubBuffer *This,
  2795. IRpcChannelBuffer *_pRpcChannelBuffer,
  2796. PRPC_MESSAGE _pRpcMessage,
  2797. DWORD *_pdwStubPhase);
  2798. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandPROPFIND_Proxy(
  2799. IHTTPMailTransport * This,
  2800. /* [in] */ LPCSTR pszPath,
  2801. /* [in] */ IPropFindRequest *pRequest,
  2802. /* [in] */ DWORD dwDepth,
  2803. /* [in] */ DWORD dwContext);
  2804. void __RPC_STUB IHTTPMailTransport_CommandPROPFIND_Stub(
  2805. IRpcStubBuffer *This,
  2806. IRpcChannelBuffer *_pRpcChannelBuffer,
  2807. PRPC_MESSAGE _pRpcMessage,
  2808. DWORD *_pdwStubPhase);
  2809. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandPROPPATCH_Proxy(
  2810. IHTTPMailTransport * This,
  2811. /* [in] */ LPCSTR pszPath,
  2812. /* [in] */ IPropPatchRequest *pRequest,
  2813. /* [in] */ DWORD dwContext);
  2814. void __RPC_STUB IHTTPMailTransport_CommandPROPPATCH_Stub(
  2815. IRpcStubBuffer *This,
  2816. IRpcChannelBuffer *_pRpcChannelBuffer,
  2817. PRPC_MESSAGE _pRpcMessage,
  2818. DWORD *_pdwStubPhase);
  2819. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandMKCOL_Proxy(
  2820. IHTTPMailTransport * This,
  2821. /* [in] */ LPCSTR pszPath,
  2822. /* [in] */ DWORD dwContext);
  2823. void __RPC_STUB IHTTPMailTransport_CommandMKCOL_Stub(
  2824. IRpcStubBuffer *This,
  2825. IRpcChannelBuffer *_pRpcChannelBuffer,
  2826. PRPC_MESSAGE _pRpcMessage,
  2827. DWORD *_pdwStubPhase);
  2828. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandCOPY_Proxy(
  2829. IHTTPMailTransport * This,
  2830. /* [in] */ LPCSTR pszPath,
  2831. /* [in] */ LPCSTR pszDestination,
  2832. /* [in] */ BOOL fAllowRename,
  2833. /* [in] */ DWORD dwContext);
  2834. void __RPC_STUB IHTTPMailTransport_CommandCOPY_Stub(
  2835. IRpcStubBuffer *This,
  2836. IRpcChannelBuffer *_pRpcChannelBuffer,
  2837. PRPC_MESSAGE _pRpcMessage,
  2838. DWORD *_pdwStubPhase);
  2839. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandBCOPY_Proxy(
  2840. IHTTPMailTransport * This,
  2841. /* [in] */ LPCSTR pszSourceCollection,
  2842. /* [in] */ LPHTTPTARGETLIST pTargets,
  2843. /* [in] */ LPCSTR pszDestCollection,
  2844. /* [in] */ LPHTTPTARGETLIST pDestinations,
  2845. /* [in] */ BOOL fAllowRename,
  2846. /* [in] */ DWORD dwContext);
  2847. void __RPC_STUB IHTTPMailTransport_CommandBCOPY_Stub(
  2848. IRpcStubBuffer *This,
  2849. IRpcChannelBuffer *_pRpcChannelBuffer,
  2850. PRPC_MESSAGE _pRpcMessage,
  2851. DWORD *_pdwStubPhase);
  2852. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandMOVE_Proxy(
  2853. IHTTPMailTransport * This,
  2854. /* [in] */ LPCSTR pszPath,
  2855. /* [in] */ LPCSTR pszDestination,
  2856. /* [in] */ BOOL fAllowRename,
  2857. /* [in] */ DWORD dwContext);
  2858. void __RPC_STUB IHTTPMailTransport_CommandMOVE_Stub(
  2859. IRpcStubBuffer *This,
  2860. IRpcChannelBuffer *_pRpcChannelBuffer,
  2861. PRPC_MESSAGE _pRpcMessage,
  2862. DWORD *_pdwStubPhase);
  2863. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_CommandBMOVE_Proxy(
  2864. IHTTPMailTransport * This,
  2865. /* [in] */ LPCSTR pszSourceCollection,
  2866. /* [in] */ LPHTTPTARGETLIST pTargets,
  2867. /* [in] */ LPCSTR pszDestCollection,
  2868. /* [in] */ LPHTTPTARGETLIST pDestinations,
  2869. /* [in] */ BOOL fAllowRename,
  2870. /* [in] */ DWORD dwContext);
  2871. void __RPC_STUB IHTTPMailTransport_CommandBMOVE_Stub(
  2872. IRpcStubBuffer *This,
  2873. IRpcChannelBuffer *_pRpcChannelBuffer,
  2874. PRPC_MESSAGE _pRpcMessage,
  2875. DWORD *_pdwStubPhase);
  2876. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_GetProperty_Proxy(
  2877. IHTTPMailTransport * This,
  2878. /* [in] */ HTTPMAILPROPTYPE proptype,
  2879. /* [out] */ LPSTR *ppszProp);
  2880. void __RPC_STUB IHTTPMailTransport_GetProperty_Stub(
  2881. IRpcStubBuffer *This,
  2882. IRpcChannelBuffer *_pRpcChannelBuffer,
  2883. PRPC_MESSAGE _pRpcMessage,
  2884. DWORD *_pdwStubPhase);
  2885. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_MemberInfo_Proxy(
  2886. IHTTPMailTransport * This,
  2887. /* [in] */ LPCSTR pszPath,
  2888. /* [in] */ MEMBERINFOFLAGS flags,
  2889. /* [in] */ DWORD dwDepth,
  2890. /* [in] */ BOOL fIncludeRoot,
  2891. /* [in] */ DWORD dwContext);
  2892. void __RPC_STUB IHTTPMailTransport_MemberInfo_Stub(
  2893. IRpcStubBuffer *This,
  2894. IRpcChannelBuffer *_pRpcChannelBuffer,
  2895. PRPC_MESSAGE _pRpcMessage,
  2896. DWORD *_pdwStubPhase);
  2897. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_FindFolders_Proxy(
  2898. IHTTPMailTransport * This,
  2899. /* [in] */ LPCSTR pszPath,
  2900. /* [in] */ DWORD dwContext);
  2901. void __RPC_STUB IHTTPMailTransport_FindFolders_Stub(
  2902. IRpcStubBuffer *This,
  2903. IRpcChannelBuffer *_pRpcChannelBuffer,
  2904. PRPC_MESSAGE _pRpcMessage,
  2905. DWORD *_pdwStubPhase);
  2906. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_MarkRead_Proxy(
  2907. IHTTPMailTransport * This,
  2908. /* [in] */ LPCSTR pszPath,
  2909. /* [in] */ LPHTTPTARGETLIST pTargets,
  2910. /* [in] */ BOOL fMarkRead,
  2911. /* [in] */ DWORD dwContext);
  2912. void __RPC_STUB IHTTPMailTransport_MarkRead_Stub(
  2913. IRpcStubBuffer *This,
  2914. IRpcChannelBuffer *_pRpcChannelBuffer,
  2915. PRPC_MESSAGE _pRpcMessage,
  2916. DWORD *_pdwStubPhase);
  2917. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_SendMessage_Proxy(
  2918. IHTTPMailTransport * This,
  2919. /* [in] */ LPCSTR pszPath,
  2920. /* [in] */ LPCSTR pszFrom,
  2921. /* [in] */ LPHTTPTARGETLIST pTargets,
  2922. /* [in] */ BOOL fSaveInSent,
  2923. /* [in] */ IStream *pMessageStream,
  2924. /* [in] */ DWORD dwContext);
  2925. void __RPC_STUB IHTTPMailTransport_SendMessage_Stub(
  2926. IRpcStubBuffer *This,
  2927. IRpcChannelBuffer *_pRpcChannelBuffer,
  2928. PRPC_MESSAGE _pRpcMessage,
  2929. DWORD *_pdwStubPhase);
  2930. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_ListContacts_Proxy(
  2931. IHTTPMailTransport * This,
  2932. /* [in] */ LPCSTR pszPath,
  2933. /* [in] */ DWORD dwContext);
  2934. void __RPC_STUB IHTTPMailTransport_ListContacts_Stub(
  2935. IRpcStubBuffer *This,
  2936. IRpcChannelBuffer *_pRpcChannelBuffer,
  2937. PRPC_MESSAGE _pRpcMessage,
  2938. DWORD *_pdwStubPhase);
  2939. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_ListContactInfos_Proxy(
  2940. IHTTPMailTransport * This,
  2941. /* [in] */ LPCSTR pszCollectionPath,
  2942. /* [in] */ DWORD dwContext);
  2943. void __RPC_STUB IHTTPMailTransport_ListContactInfos_Stub(
  2944. IRpcStubBuffer *This,
  2945. IRpcChannelBuffer *_pRpcChannelBuffer,
  2946. PRPC_MESSAGE _pRpcMessage,
  2947. DWORD *_pdwStubPhase);
  2948. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_ContactInfo_Proxy(
  2949. IHTTPMailTransport * This,
  2950. /* [in] */ LPCSTR pszPath,
  2951. /* [in] */ DWORD dwContext);
  2952. void __RPC_STUB IHTTPMailTransport_ContactInfo_Stub(
  2953. IRpcStubBuffer *This,
  2954. IRpcChannelBuffer *_pRpcChannelBuffer,
  2955. PRPC_MESSAGE _pRpcMessage,
  2956. DWORD *_pdwStubPhase);
  2957. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_PostContact_Proxy(
  2958. IHTTPMailTransport * This,
  2959. /* [in] */ LPCSTR pszPath,
  2960. /* [in] */ LPHTTPCONTACTINFO pciInfo,
  2961. /* [in] */ DWORD dwContext);
  2962. void __RPC_STUB IHTTPMailTransport_PostContact_Stub(
  2963. IRpcStubBuffer *This,
  2964. IRpcChannelBuffer *_pRpcChannelBuffer,
  2965. PRPC_MESSAGE _pRpcMessage,
  2966. DWORD *_pdwStubPhase);
  2967. HRESULT STDMETHODCALLTYPE IHTTPMailTransport_PatchContact_Proxy(
  2968. IHTTPMailTransport * This,
  2969. /* [in] */ LPCSTR pszPath,
  2970. /* [in] */ LPHTTPCONTACTINFO pciInfo,
  2971. /* [in] */ DWORD dwContext);
  2972. void __RPC_STUB IHTTPMailTransport_PatchContact_Stub(
  2973. IRpcStubBuffer *This,
  2974. IRpcChannelBuffer *_pRpcChannelBuffer,
  2975. PRPC_MESSAGE _pRpcMessage,
  2976. DWORD *_pdwStubPhase);
  2977. #endif /* __IHTTPMailTransport_INTERFACE_DEFINED__ */
  2978. #ifndef __IPOP3Callback_INTERFACE_DEFINED__
  2979. #define __IPOP3Callback_INTERFACE_DEFINED__
  2980. /* interface IPOP3Callback */
  2981. /* [object][local][helpstring][uuid] */
  2982. typedef
  2983. enum tagPOP3COMMAND
  2984. { POP3_NONE = 0,
  2985. POP3_BANNER = POP3_NONE + 1,
  2986. POP3_CONNECTED = POP3_BANNER + 1,
  2987. POP3_USER = POP3_CONNECTED + 1,
  2988. POP3_PASS = POP3_USER + 1,
  2989. POP3_AUTH = POP3_PASS + 1,
  2990. POP3_UIDL = POP3_AUTH + 1,
  2991. POP3_STAT = POP3_UIDL + 1,
  2992. POP3_LIST = POP3_STAT + 1,
  2993. POP3_DELE = POP3_LIST + 1,
  2994. POP3_RETR = POP3_DELE + 1,
  2995. POP3_TOP = POP3_RETR + 1,
  2996. POP3_NOOP = POP3_TOP + 1,
  2997. POP3_QUIT = POP3_NOOP + 1,
  2998. POP3_RSET = POP3_QUIT + 1,
  2999. POP3_CUSTOM = POP3_RSET + 1
  3000. } POP3COMMAND;
  3001. typedef struct tagPOP3RETR
  3002. {
  3003. BOOL fHeader;
  3004. BOOL fBody;
  3005. DWORD dwPopId;
  3006. DWORD cbSoFar;
  3007. LPSTR pszLines;
  3008. ULONG cbLines;
  3009. } POP3RETR;
  3010. typedef struct tagPOP3RETR *LPPOP3RETR;
  3011. typedef struct tagPOP3TOP
  3012. {
  3013. BOOL fHeader;
  3014. BOOL fBody;
  3015. DWORD dwPopId;
  3016. DWORD cPreviewLines;
  3017. DWORD cbSoFar;
  3018. LPSTR pszLines;
  3019. ULONG cbLines;
  3020. } POP3TOP;
  3021. typedef struct tagPOP3TOP *LPPOP3TOP;
  3022. typedef struct tagPOP3LIST
  3023. {
  3024. DWORD dwPopId;
  3025. DWORD cbSize;
  3026. } POP3LIST;
  3027. typedef struct tagPOP3LIST *LPPOP3LIST;
  3028. typedef struct tagPOP3UIDL
  3029. {
  3030. DWORD dwPopId;
  3031. LPSTR pszUidl;
  3032. } POP3UIDL;
  3033. typedef struct tagPOP3UIDL *LPPOP3UIDL;
  3034. typedef struct tagPOP3STAT
  3035. {
  3036. DWORD cMessages;
  3037. DWORD cbMessages;
  3038. } POP3STAT;
  3039. typedef struct tagPOP3STAT *LPPOP3STAT;
  3040. typedef struct tagPOP3RESPONSE
  3041. {
  3042. POP3COMMAND command;
  3043. BOOL fDone;
  3044. IXPRESULT rIxpResult;
  3045. IPOP3Transport *pTransport;
  3046. BOOL fValidInfo;
  3047. /* [switch_is][switch_type] */ union
  3048. {
  3049. /* [case()] */ POP3UIDL rUidlInfo;
  3050. /* [case()] */ POP3STAT rStatInfo;
  3051. /* [case()] */ POP3LIST rListInfo;
  3052. /* [case()] */ DWORD dwPopId;
  3053. /* [case()] */ POP3RETR rRetrInfo;
  3054. /* [case()] */ POP3TOP rTopInfo;
  3055. /* [default] */ /* Empty union arm */
  3056. } ;
  3057. } POP3RESPONSE;
  3058. typedef struct tagPOP3RESPONSE *LPPOP3RESPONSE;
  3059. EXTERN_C const IID IID_IPOP3Callback;
  3060. #if defined(__cplusplus) && !defined(CINTERFACE)
  3061. MIDL_INTERFACE("0DF2C7E3-3435-11d0-81D0-00C04FD85AB4")
  3062. IPOP3Callback : public ITransportCallback
  3063. {
  3064. public:
  3065. virtual HRESULT STDMETHODCALLTYPE OnResponse(
  3066. /* [in] */ LPPOP3RESPONSE pResponse) = 0;
  3067. };
  3068. #else /* C style interface */
  3069. typedef struct IPOP3CallbackVtbl
  3070. {
  3071. BEGIN_INTERFACE
  3072. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3073. IPOP3Callback * This,
  3074. /* [in] */ REFIID riid,
  3075. /* [iid_is][out] */ void **ppvObject);
  3076. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3077. IPOP3Callback * This);
  3078. ULONG ( STDMETHODCALLTYPE *Release )(
  3079. IPOP3Callback * This);
  3080. HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
  3081. IPOP3Callback * This,
  3082. /* [out][in] */ DWORD *pdwTimeout,
  3083. /* [in] */ IInternetTransport *pTransport);
  3084. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  3085. IPOP3Callback * This,
  3086. /* [out][in] */ LPINETSERVER pInetServer,
  3087. /* [in] */ IInternetTransport *pTransport);
  3088. INT ( STDMETHODCALLTYPE *OnPrompt )(
  3089. IPOP3Callback * This,
  3090. /* [in] */ HRESULT hrError,
  3091. /* [in] */ LPCTSTR pszText,
  3092. /* [in] */ LPCTSTR pszCaption,
  3093. /* [in] */ UINT uType,
  3094. /* [in] */ IInternetTransport *pTransport);
  3095. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  3096. IPOP3Callback * This,
  3097. /* [in] */ IXPSTATUS ixpstatus,
  3098. /* [in] */ IInternetTransport *pTransport);
  3099. HRESULT ( STDMETHODCALLTYPE *OnError )(
  3100. IPOP3Callback * This,
  3101. /* [in] */ IXPSTATUS ixpstatus,
  3102. /* [in] */ LPIXPRESULT pResult,
  3103. /* [in] */ IInternetTransport *pTransport);
  3104. HRESULT ( STDMETHODCALLTYPE *OnCommand )(
  3105. IPOP3Callback * This,
  3106. /* [in] */ CMDTYPE cmdtype,
  3107. /* [in] */ LPSTR pszLine,
  3108. /* [in] */ HRESULT hrResponse,
  3109. /* [in] */ IInternetTransport *pTransport);
  3110. HRESULT ( STDMETHODCALLTYPE *OnResponse )(
  3111. IPOP3Callback * This,
  3112. /* [in] */ LPPOP3RESPONSE pResponse);
  3113. END_INTERFACE
  3114. } IPOP3CallbackVtbl;
  3115. interface IPOP3Callback
  3116. {
  3117. CONST_VTBL struct IPOP3CallbackVtbl *lpVtbl;
  3118. };
  3119. #ifdef COBJMACROS
  3120. #define IPOP3Callback_QueryInterface(This,riid,ppvObject) \
  3121. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3122. #define IPOP3Callback_AddRef(This) \
  3123. (This)->lpVtbl -> AddRef(This)
  3124. #define IPOP3Callback_Release(This) \
  3125. (This)->lpVtbl -> Release(This)
  3126. #define IPOP3Callback_OnTimeout(This,pdwTimeout,pTransport) \
  3127. (This)->lpVtbl -> OnTimeout(This,pdwTimeout,pTransport)
  3128. #define IPOP3Callback_OnLogonPrompt(This,pInetServer,pTransport) \
  3129. (This)->lpVtbl -> OnLogonPrompt(This,pInetServer,pTransport)
  3130. #define IPOP3Callback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) \
  3131. (This)->lpVtbl -> OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport)
  3132. #define IPOP3Callback_OnStatus(This,ixpstatus,pTransport) \
  3133. (This)->lpVtbl -> OnStatus(This,ixpstatus,pTransport)
  3134. #define IPOP3Callback_OnError(This,ixpstatus,pResult,pTransport) \
  3135. (This)->lpVtbl -> OnError(This,ixpstatus,pResult,pTransport)
  3136. #define IPOP3Callback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) \
  3137. (This)->lpVtbl -> OnCommand(This,cmdtype,pszLine,hrResponse,pTransport)
  3138. #define IPOP3Callback_OnResponse(This,pResponse) \
  3139. (This)->lpVtbl -> OnResponse(This,pResponse)
  3140. #endif /* COBJMACROS */
  3141. #endif /* C style interface */
  3142. HRESULT STDMETHODCALLTYPE IPOP3Callback_OnResponse_Proxy(
  3143. IPOP3Callback * This,
  3144. /* [in] */ LPPOP3RESPONSE pResponse);
  3145. void __RPC_STUB IPOP3Callback_OnResponse_Stub(
  3146. IRpcStubBuffer *This,
  3147. IRpcChannelBuffer *_pRpcChannelBuffer,
  3148. PRPC_MESSAGE _pRpcMessage,
  3149. DWORD *_pdwStubPhase);
  3150. #endif /* __IPOP3Callback_INTERFACE_DEFINED__ */
  3151. #ifndef __IPOP3Transport_INTERFACE_DEFINED__
  3152. #define __IPOP3Transport_INTERFACE_DEFINED__
  3153. /* interface IPOP3Transport */
  3154. /* [object][local][helpstring][uuid] */
  3155. typedef
  3156. enum tagPOP3CMDTYPE
  3157. { POP3CMD_GET_POPID = 0,
  3158. POP3CMD_GET_MARKED = POP3CMD_GET_POPID + 1,
  3159. POP3CMD_GET_ALL = POP3CMD_GET_MARKED + 1
  3160. } POP3CMDTYPE;
  3161. typedef
  3162. enum tagPOP3MARKTYPE
  3163. { POP3_MARK_FOR_TOP = 0x1,
  3164. POP3_MARK_FOR_RETR = 0x2,
  3165. POP3_MARK_FOR_DELE = 0x4,
  3166. POP3_MARK_FOR_UIDL = 0x8,
  3167. POP3_MARK_FOR_LIST = 0x10
  3168. } POP3MARKTYPE;
  3169. EXTERN_C const IID IID_IPOP3Transport;
  3170. #if defined(__cplusplus) && !defined(CINTERFACE)
  3171. MIDL_INTERFACE("0DF2C7E4-3435-11d0-81D0-00C04FD85AB4")
  3172. IPOP3Transport : public IInternetTransport
  3173. {
  3174. public:
  3175. virtual HRESULT STDMETHODCALLTYPE InitNew(
  3176. /* [in] */ LPSTR pszLogFilePath,
  3177. /* [in] */ IPOP3Callback *pCallback) = 0;
  3178. virtual HRESULT STDMETHODCALLTYPE MarkItem(
  3179. /* [in] */ POP3MARKTYPE marktype,
  3180. /* [in] */ DWORD dwPopId,
  3181. /* [in] */ boolean fMarked) = 0;
  3182. virtual HRESULT STDMETHODCALLTYPE CommandAUTH(
  3183. /* [in] */ LPSTR pszAuthType) = 0;
  3184. virtual HRESULT STDMETHODCALLTYPE CommandUSER(
  3185. /* [in] */ LPSTR pszUserName) = 0;
  3186. virtual HRESULT STDMETHODCALLTYPE CommandPASS(
  3187. /* [in] */ LPSTR pszPassword) = 0;
  3188. virtual HRESULT STDMETHODCALLTYPE CommandLIST(
  3189. /* [in] */ POP3CMDTYPE cmdtype,
  3190. /* [in] */ DWORD dwPopId) = 0;
  3191. virtual HRESULT STDMETHODCALLTYPE CommandTOP(
  3192. /* [in] */ POP3CMDTYPE cmdtype,
  3193. /* [in] */ DWORD dwPopId,
  3194. /* [in] */ DWORD cPreviewLines) = 0;
  3195. virtual HRESULT STDMETHODCALLTYPE CommandQUIT( void) = 0;
  3196. virtual HRESULT STDMETHODCALLTYPE CommandSTAT( void) = 0;
  3197. virtual HRESULT STDMETHODCALLTYPE CommandNOOP( void) = 0;
  3198. virtual HRESULT STDMETHODCALLTYPE CommandRSET( void) = 0;
  3199. virtual HRESULT STDMETHODCALLTYPE CommandUIDL(
  3200. /* [in] */ POP3CMDTYPE cmdtype,
  3201. /* [in] */ DWORD dwPopId) = 0;
  3202. virtual HRESULT STDMETHODCALLTYPE CommandDELE(
  3203. /* [in] */ POP3CMDTYPE cmdtype,
  3204. /* [in] */ DWORD dwPopId) = 0;
  3205. virtual HRESULT STDMETHODCALLTYPE CommandRETR(
  3206. /* [in] */ POP3CMDTYPE cmdtype,
  3207. /* [in] */ DWORD dwPopId) = 0;
  3208. };
  3209. #else /* C style interface */
  3210. typedef struct IPOP3TransportVtbl
  3211. {
  3212. BEGIN_INTERFACE
  3213. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3214. IPOP3Transport * This,
  3215. /* [in] */ REFIID riid,
  3216. /* [iid_is][out] */ void **ppvObject);
  3217. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3218. IPOP3Transport * This);
  3219. ULONG ( STDMETHODCALLTYPE *Release )(
  3220. IPOP3Transport * This);
  3221. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  3222. IPOP3Transport * This,
  3223. /* [out][in] */ LPINETSERVER pInetServer);
  3224. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  3225. IPOP3Transport * This);
  3226. HRESULT ( STDMETHODCALLTYPE *IsState )(
  3227. IPOP3Transport * This,
  3228. /* [in] */ IXPISSTATE isstate);
  3229. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  3230. IPOP3Transport * This,
  3231. /* [in] */ IImnAccount *pAccount,
  3232. /* [out][in] */ LPINETSERVER pInetServer);
  3233. HRESULT ( STDMETHODCALLTYPE *Connect )(
  3234. IPOP3Transport * This,
  3235. /* [in] */ LPINETSERVER pInetServer,
  3236. /* [in] */ boolean fAuthenticate,
  3237. /* [in] */ boolean fCommandLogging);
  3238. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  3239. IPOP3Transport * This);
  3240. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  3241. IPOP3Transport * This);
  3242. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  3243. IPOP3Transport * This);
  3244. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  3245. IPOP3Transport * This,
  3246. /* [out] */ IXPSTATUS *pCurrentStatus);
  3247. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  3248. IPOP3Transport * This,
  3249. /* [in] */ LPSTR pszLogFilePath,
  3250. /* [in] */ IPOP3Callback *pCallback);
  3251. HRESULT ( STDMETHODCALLTYPE *MarkItem )(
  3252. IPOP3Transport * This,
  3253. /* [in] */ POP3MARKTYPE marktype,
  3254. /* [in] */ DWORD dwPopId,
  3255. /* [in] */ boolean fMarked);
  3256. HRESULT ( STDMETHODCALLTYPE *CommandAUTH )(
  3257. IPOP3Transport * This,
  3258. /* [in] */ LPSTR pszAuthType);
  3259. HRESULT ( STDMETHODCALLTYPE *CommandUSER )(
  3260. IPOP3Transport * This,
  3261. /* [in] */ LPSTR pszUserName);
  3262. HRESULT ( STDMETHODCALLTYPE *CommandPASS )(
  3263. IPOP3Transport * This,
  3264. /* [in] */ LPSTR pszPassword);
  3265. HRESULT ( STDMETHODCALLTYPE *CommandLIST )(
  3266. IPOP3Transport * This,
  3267. /* [in] */ POP3CMDTYPE cmdtype,
  3268. /* [in] */ DWORD dwPopId);
  3269. HRESULT ( STDMETHODCALLTYPE *CommandTOP )(
  3270. IPOP3Transport * This,
  3271. /* [in] */ POP3CMDTYPE cmdtype,
  3272. /* [in] */ DWORD dwPopId,
  3273. /* [in] */ DWORD cPreviewLines);
  3274. HRESULT ( STDMETHODCALLTYPE *CommandQUIT )(
  3275. IPOP3Transport * This);
  3276. HRESULT ( STDMETHODCALLTYPE *CommandSTAT )(
  3277. IPOP3Transport * This);
  3278. HRESULT ( STDMETHODCALLTYPE *CommandNOOP )(
  3279. IPOP3Transport * This);
  3280. HRESULT ( STDMETHODCALLTYPE *CommandRSET )(
  3281. IPOP3Transport * This);
  3282. HRESULT ( STDMETHODCALLTYPE *CommandUIDL )(
  3283. IPOP3Transport * This,
  3284. /* [in] */ POP3CMDTYPE cmdtype,
  3285. /* [in] */ DWORD dwPopId);
  3286. HRESULT ( STDMETHODCALLTYPE *CommandDELE )(
  3287. IPOP3Transport * This,
  3288. /* [in] */ POP3CMDTYPE cmdtype,
  3289. /* [in] */ DWORD dwPopId);
  3290. HRESULT ( STDMETHODCALLTYPE *CommandRETR )(
  3291. IPOP3Transport * This,
  3292. /* [in] */ POP3CMDTYPE cmdtype,
  3293. /* [in] */ DWORD dwPopId);
  3294. END_INTERFACE
  3295. } IPOP3TransportVtbl;
  3296. interface IPOP3Transport
  3297. {
  3298. CONST_VTBL struct IPOP3TransportVtbl *lpVtbl;
  3299. };
  3300. #ifdef COBJMACROS
  3301. #define IPOP3Transport_QueryInterface(This,riid,ppvObject) \
  3302. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3303. #define IPOP3Transport_AddRef(This) \
  3304. (This)->lpVtbl -> AddRef(This)
  3305. #define IPOP3Transport_Release(This) \
  3306. (This)->lpVtbl -> Release(This)
  3307. #define IPOP3Transport_GetServerInfo(This,pInetServer) \
  3308. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  3309. #define IPOP3Transport_GetIXPType(This) \
  3310. (This)->lpVtbl -> GetIXPType(This)
  3311. #define IPOP3Transport_IsState(This,isstate) \
  3312. (This)->lpVtbl -> IsState(This,isstate)
  3313. #define IPOP3Transport_InetServerFromAccount(This,pAccount,pInetServer) \
  3314. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  3315. #define IPOP3Transport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  3316. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  3317. #define IPOP3Transport_HandsOffCallback(This) \
  3318. (This)->lpVtbl -> HandsOffCallback(This)
  3319. #define IPOP3Transport_Disconnect(This) \
  3320. (This)->lpVtbl -> Disconnect(This)
  3321. #define IPOP3Transport_DropConnection(This) \
  3322. (This)->lpVtbl -> DropConnection(This)
  3323. #define IPOP3Transport_GetStatus(This,pCurrentStatus) \
  3324. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  3325. #define IPOP3Transport_InitNew(This,pszLogFilePath,pCallback) \
  3326. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCallback)
  3327. #define IPOP3Transport_MarkItem(This,marktype,dwPopId,fMarked) \
  3328. (This)->lpVtbl -> MarkItem(This,marktype,dwPopId,fMarked)
  3329. #define IPOP3Transport_CommandAUTH(This,pszAuthType) \
  3330. (This)->lpVtbl -> CommandAUTH(This,pszAuthType)
  3331. #define IPOP3Transport_CommandUSER(This,pszUserName) \
  3332. (This)->lpVtbl -> CommandUSER(This,pszUserName)
  3333. #define IPOP3Transport_CommandPASS(This,pszPassword) \
  3334. (This)->lpVtbl -> CommandPASS(This,pszPassword)
  3335. #define IPOP3Transport_CommandLIST(This,cmdtype,dwPopId) \
  3336. (This)->lpVtbl -> CommandLIST(This,cmdtype,dwPopId)
  3337. #define IPOP3Transport_CommandTOP(This,cmdtype,dwPopId,cPreviewLines) \
  3338. (This)->lpVtbl -> CommandTOP(This,cmdtype,dwPopId,cPreviewLines)
  3339. #define IPOP3Transport_CommandQUIT(This) \
  3340. (This)->lpVtbl -> CommandQUIT(This)
  3341. #define IPOP3Transport_CommandSTAT(This) \
  3342. (This)->lpVtbl -> CommandSTAT(This)
  3343. #define IPOP3Transport_CommandNOOP(This) \
  3344. (This)->lpVtbl -> CommandNOOP(This)
  3345. #define IPOP3Transport_CommandRSET(This) \
  3346. (This)->lpVtbl -> CommandRSET(This)
  3347. #define IPOP3Transport_CommandUIDL(This,cmdtype,dwPopId) \
  3348. (This)->lpVtbl -> CommandUIDL(This,cmdtype,dwPopId)
  3349. #define IPOP3Transport_CommandDELE(This,cmdtype,dwPopId) \
  3350. (This)->lpVtbl -> CommandDELE(This,cmdtype,dwPopId)
  3351. #define IPOP3Transport_CommandRETR(This,cmdtype,dwPopId) \
  3352. (This)->lpVtbl -> CommandRETR(This,cmdtype,dwPopId)
  3353. #endif /* COBJMACROS */
  3354. #endif /* C style interface */
  3355. HRESULT STDMETHODCALLTYPE IPOP3Transport_InitNew_Proxy(
  3356. IPOP3Transport * This,
  3357. /* [in] */ LPSTR pszLogFilePath,
  3358. /* [in] */ IPOP3Callback *pCallback);
  3359. void __RPC_STUB IPOP3Transport_InitNew_Stub(
  3360. IRpcStubBuffer *This,
  3361. IRpcChannelBuffer *_pRpcChannelBuffer,
  3362. PRPC_MESSAGE _pRpcMessage,
  3363. DWORD *_pdwStubPhase);
  3364. HRESULT STDMETHODCALLTYPE IPOP3Transport_MarkItem_Proxy(
  3365. IPOP3Transport * This,
  3366. /* [in] */ POP3MARKTYPE marktype,
  3367. /* [in] */ DWORD dwPopId,
  3368. /* [in] */ boolean fMarked);
  3369. void __RPC_STUB IPOP3Transport_MarkItem_Stub(
  3370. IRpcStubBuffer *This,
  3371. IRpcChannelBuffer *_pRpcChannelBuffer,
  3372. PRPC_MESSAGE _pRpcMessage,
  3373. DWORD *_pdwStubPhase);
  3374. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandAUTH_Proxy(
  3375. IPOP3Transport * This,
  3376. /* [in] */ LPSTR pszAuthType);
  3377. void __RPC_STUB IPOP3Transport_CommandAUTH_Stub(
  3378. IRpcStubBuffer *This,
  3379. IRpcChannelBuffer *_pRpcChannelBuffer,
  3380. PRPC_MESSAGE _pRpcMessage,
  3381. DWORD *_pdwStubPhase);
  3382. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandUSER_Proxy(
  3383. IPOP3Transport * This,
  3384. /* [in] */ LPSTR pszUserName);
  3385. void __RPC_STUB IPOP3Transport_CommandUSER_Stub(
  3386. IRpcStubBuffer *This,
  3387. IRpcChannelBuffer *_pRpcChannelBuffer,
  3388. PRPC_MESSAGE _pRpcMessage,
  3389. DWORD *_pdwStubPhase);
  3390. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandPASS_Proxy(
  3391. IPOP3Transport * This,
  3392. /* [in] */ LPSTR pszPassword);
  3393. void __RPC_STUB IPOP3Transport_CommandPASS_Stub(
  3394. IRpcStubBuffer *This,
  3395. IRpcChannelBuffer *_pRpcChannelBuffer,
  3396. PRPC_MESSAGE _pRpcMessage,
  3397. DWORD *_pdwStubPhase);
  3398. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandLIST_Proxy(
  3399. IPOP3Transport * This,
  3400. /* [in] */ POP3CMDTYPE cmdtype,
  3401. /* [in] */ DWORD dwPopId);
  3402. void __RPC_STUB IPOP3Transport_CommandLIST_Stub(
  3403. IRpcStubBuffer *This,
  3404. IRpcChannelBuffer *_pRpcChannelBuffer,
  3405. PRPC_MESSAGE _pRpcMessage,
  3406. DWORD *_pdwStubPhase);
  3407. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandTOP_Proxy(
  3408. IPOP3Transport * This,
  3409. /* [in] */ POP3CMDTYPE cmdtype,
  3410. /* [in] */ DWORD dwPopId,
  3411. /* [in] */ DWORD cPreviewLines);
  3412. void __RPC_STUB IPOP3Transport_CommandTOP_Stub(
  3413. IRpcStubBuffer *This,
  3414. IRpcChannelBuffer *_pRpcChannelBuffer,
  3415. PRPC_MESSAGE _pRpcMessage,
  3416. DWORD *_pdwStubPhase);
  3417. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandQUIT_Proxy(
  3418. IPOP3Transport * This);
  3419. void __RPC_STUB IPOP3Transport_CommandQUIT_Stub(
  3420. IRpcStubBuffer *This,
  3421. IRpcChannelBuffer *_pRpcChannelBuffer,
  3422. PRPC_MESSAGE _pRpcMessage,
  3423. DWORD *_pdwStubPhase);
  3424. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandSTAT_Proxy(
  3425. IPOP3Transport * This);
  3426. void __RPC_STUB IPOP3Transport_CommandSTAT_Stub(
  3427. IRpcStubBuffer *This,
  3428. IRpcChannelBuffer *_pRpcChannelBuffer,
  3429. PRPC_MESSAGE _pRpcMessage,
  3430. DWORD *_pdwStubPhase);
  3431. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandNOOP_Proxy(
  3432. IPOP3Transport * This);
  3433. void __RPC_STUB IPOP3Transport_CommandNOOP_Stub(
  3434. IRpcStubBuffer *This,
  3435. IRpcChannelBuffer *_pRpcChannelBuffer,
  3436. PRPC_MESSAGE _pRpcMessage,
  3437. DWORD *_pdwStubPhase);
  3438. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandRSET_Proxy(
  3439. IPOP3Transport * This);
  3440. void __RPC_STUB IPOP3Transport_CommandRSET_Stub(
  3441. IRpcStubBuffer *This,
  3442. IRpcChannelBuffer *_pRpcChannelBuffer,
  3443. PRPC_MESSAGE _pRpcMessage,
  3444. DWORD *_pdwStubPhase);
  3445. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandUIDL_Proxy(
  3446. IPOP3Transport * This,
  3447. /* [in] */ POP3CMDTYPE cmdtype,
  3448. /* [in] */ DWORD dwPopId);
  3449. void __RPC_STUB IPOP3Transport_CommandUIDL_Stub(
  3450. IRpcStubBuffer *This,
  3451. IRpcChannelBuffer *_pRpcChannelBuffer,
  3452. PRPC_MESSAGE _pRpcMessage,
  3453. DWORD *_pdwStubPhase);
  3454. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandDELE_Proxy(
  3455. IPOP3Transport * This,
  3456. /* [in] */ POP3CMDTYPE cmdtype,
  3457. /* [in] */ DWORD dwPopId);
  3458. void __RPC_STUB IPOP3Transport_CommandDELE_Stub(
  3459. IRpcStubBuffer *This,
  3460. IRpcChannelBuffer *_pRpcChannelBuffer,
  3461. PRPC_MESSAGE _pRpcMessage,
  3462. DWORD *_pdwStubPhase);
  3463. HRESULT STDMETHODCALLTYPE IPOP3Transport_CommandRETR_Proxy(
  3464. IPOP3Transport * This,
  3465. /* [in] */ POP3CMDTYPE cmdtype,
  3466. /* [in] */ DWORD dwPopId);
  3467. void __RPC_STUB IPOP3Transport_CommandRETR_Stub(
  3468. IRpcStubBuffer *This,
  3469. IRpcChannelBuffer *_pRpcChannelBuffer,
  3470. PRPC_MESSAGE _pRpcMessage,
  3471. DWORD *_pdwStubPhase);
  3472. #endif /* __IPOP3Transport_INTERFACE_DEFINED__ */
  3473. #ifndef __INNTPCallback_INTERFACE_DEFINED__
  3474. #define __INNTPCallback_INTERFACE_DEFINED__
  3475. /* interface INNTPCallback */
  3476. /* [object][local][helpstring][uuid] */
  3477. typedef
  3478. enum tagNNTPSTATE
  3479. { NS_DISCONNECTED = 0,
  3480. NS_CONNECT = NS_DISCONNECTED + 1,
  3481. NS_AUTHINFO = NS_CONNECT + 1,
  3482. NS_POST = NS_AUTHINFO + 1,
  3483. NS_IDLE = NS_POST + 1,
  3484. NS_LIST = NS_IDLE + 1,
  3485. NS_LISTGROUP = NS_LIST + 1,
  3486. NS_NEWGROUPS = NS_LISTGROUP + 1,
  3487. NS_GROUP = NS_NEWGROUPS + 1,
  3488. NS_LAST = NS_GROUP + 1,
  3489. NS_NEXT = NS_LAST + 1,
  3490. NS_STAT = NS_NEXT + 1,
  3491. NS_ARTICLE = NS_STAT + 1,
  3492. NS_HEAD = NS_ARTICLE + 1,
  3493. NS_BODY = NS_HEAD + 1,
  3494. NS_DATE = NS_BODY + 1,
  3495. NS_MODE = NS_DATE + 1,
  3496. NS_QUIT = NS_MODE + 1,
  3497. NS_HEADERS = NS_QUIT + 1,
  3498. NS_XHDR = NS_HEADERS + 1
  3499. } NNTPSTATE;
  3500. typedef struct tagNNTPGROUP
  3501. {
  3502. DWORD dwCount;
  3503. DWORD dwFirst;
  3504. DWORD dwLast;
  3505. LPSTR pszGroup;
  3506. } NNTPGROUP;
  3507. typedef struct tagNNTPGROUP *LPNNTPGROUP;
  3508. typedef struct tagNNTPNEXT
  3509. {
  3510. DWORD dwArticleNum;
  3511. LPSTR pszMessageId;
  3512. } NNTPNEXT;
  3513. typedef struct tagNNTPNEXT *LPNNTPNEXT;
  3514. typedef struct tagNNTPARTICLE
  3515. {
  3516. DWORD dwArticleNum;
  3517. LPSTR pszMessageId;
  3518. LPSTR pszLines;
  3519. ULONG cbLines;
  3520. ULONG cLines;
  3521. DWORD dwReserved;
  3522. } NNTPARTICLE;
  3523. typedef struct tagNNTPARTICLE *LPNNTPARTICLE;
  3524. typedef struct tagNNTPLIST
  3525. {
  3526. DWORD cLines;
  3527. LPSTR *rgszLines;
  3528. } NNTPLIST;
  3529. typedef struct tagNNTPLIST *LPNNTPLIST;
  3530. typedef struct tagNNTPLISTGROUP
  3531. {
  3532. DWORD cArticles;
  3533. DWORD *rgArticles;
  3534. } NNTPLISTGROUP;
  3535. typedef struct tagNNTPLISTGROUP *LPNNTPLISTGROUP;
  3536. typedef struct tagNNTPHEADER
  3537. {
  3538. DWORD dwArticleNum;
  3539. LPSTR pszSubject;
  3540. LPSTR pszFrom;
  3541. LPSTR pszDate;
  3542. LPSTR pszMessageId;
  3543. LPSTR pszReferences;
  3544. DWORD dwBytes;
  3545. DWORD dwLines;
  3546. LPSTR pszXref;
  3547. } NNTPHEADER;
  3548. typedef struct tagNNTPHEADER *LPNNTPHEADER;
  3549. typedef struct tagNNTPHEADERRESP
  3550. {
  3551. DWORD cHeaders;
  3552. LPNNTPHEADER rgHeaders;
  3553. BOOL fSupportsXRef;
  3554. DWORD dwReserved;
  3555. } NNTPHEADERRESP;
  3556. typedef struct tagNNTPHEADERRESP *LPNNTPHEADERRESP;
  3557. typedef struct tagNNTPXHDR
  3558. {
  3559. DWORD dwArticleNum;
  3560. LPSTR pszHeader;
  3561. } NNTPXHDR;
  3562. typedef struct tagNNTPXHDR *LPNNTPXHDR;
  3563. typedef struct tagNNTPXHDRRESP
  3564. {
  3565. DWORD cHeaders;
  3566. LPNNTPXHDR rgHeaders;
  3567. DWORD dwReserved;
  3568. } NNTPXHDRRESP;
  3569. typedef struct tagNNTPXHDRRESP *LPNNTPXHDRRESP;
  3570. typedef struct tagNNTPRESPONSE
  3571. {
  3572. NNTPSTATE state;
  3573. BOOL fMustRelease;
  3574. BOOL fDone;
  3575. IXPRESULT rIxpResult;
  3576. INNTPTransport *pTransport;
  3577. /* [switch_is][switch_type] */ union
  3578. {
  3579. /* [case()] */ NNTPGROUP rGroup;
  3580. /* [case()] */ NNTPNEXT rLast;
  3581. /* [case()] */ NNTPNEXT rNext;
  3582. /* [case()] */ NNTPNEXT rStat;
  3583. /* [case()] */ NNTPARTICLE rArticle;
  3584. /* [case()] */ NNTPARTICLE rHead;
  3585. /* [case()] */ NNTPARTICLE rBody;
  3586. /* [case()] */ NNTPLIST rList;
  3587. /* [case()] */ NNTPLISTGROUP rListGroup;
  3588. /* [case()] */ NNTPLIST rNewgroups;
  3589. /* [case()] */ SYSTEMTIME rDate;
  3590. /* [case()] */ NNTPHEADERRESP rHeaders;
  3591. /* [case()] */ NNTPXHDRRESP rXhdr;
  3592. /* [default] */ /* Empty union arm */
  3593. } ;
  3594. } NNTPRESPONSE;
  3595. typedef struct tagNNTPRESPONSE *LPNNTPRESPONSE;
  3596. EXTERN_C const IID IID_INNTPCallback;
  3597. #if defined(__cplusplus) && !defined(CINTERFACE)
  3598. MIDL_INTERFACE("0DF2C7E6-3435-11d0-81D0-00C04FD85AB4")
  3599. INNTPCallback : public ITransportCallback
  3600. {
  3601. public:
  3602. virtual HRESULT STDMETHODCALLTYPE OnResponse(
  3603. /* [in] */ LPNNTPRESPONSE pResponse) = 0;
  3604. };
  3605. #else /* C style interface */
  3606. typedef struct INNTPCallbackVtbl
  3607. {
  3608. BEGIN_INTERFACE
  3609. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3610. INNTPCallback * This,
  3611. /* [in] */ REFIID riid,
  3612. /* [iid_is][out] */ void **ppvObject);
  3613. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3614. INNTPCallback * This);
  3615. ULONG ( STDMETHODCALLTYPE *Release )(
  3616. INNTPCallback * This);
  3617. HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
  3618. INNTPCallback * This,
  3619. /* [out][in] */ DWORD *pdwTimeout,
  3620. /* [in] */ IInternetTransport *pTransport);
  3621. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  3622. INNTPCallback * This,
  3623. /* [out][in] */ LPINETSERVER pInetServer,
  3624. /* [in] */ IInternetTransport *pTransport);
  3625. INT ( STDMETHODCALLTYPE *OnPrompt )(
  3626. INNTPCallback * This,
  3627. /* [in] */ HRESULT hrError,
  3628. /* [in] */ LPCTSTR pszText,
  3629. /* [in] */ LPCTSTR pszCaption,
  3630. /* [in] */ UINT uType,
  3631. /* [in] */ IInternetTransport *pTransport);
  3632. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  3633. INNTPCallback * This,
  3634. /* [in] */ IXPSTATUS ixpstatus,
  3635. /* [in] */ IInternetTransport *pTransport);
  3636. HRESULT ( STDMETHODCALLTYPE *OnError )(
  3637. INNTPCallback * This,
  3638. /* [in] */ IXPSTATUS ixpstatus,
  3639. /* [in] */ LPIXPRESULT pResult,
  3640. /* [in] */ IInternetTransport *pTransport);
  3641. HRESULT ( STDMETHODCALLTYPE *OnCommand )(
  3642. INNTPCallback * This,
  3643. /* [in] */ CMDTYPE cmdtype,
  3644. /* [in] */ LPSTR pszLine,
  3645. /* [in] */ HRESULT hrResponse,
  3646. /* [in] */ IInternetTransport *pTransport);
  3647. HRESULT ( STDMETHODCALLTYPE *OnResponse )(
  3648. INNTPCallback * This,
  3649. /* [in] */ LPNNTPRESPONSE pResponse);
  3650. END_INTERFACE
  3651. } INNTPCallbackVtbl;
  3652. interface INNTPCallback
  3653. {
  3654. CONST_VTBL struct INNTPCallbackVtbl *lpVtbl;
  3655. };
  3656. #ifdef COBJMACROS
  3657. #define INNTPCallback_QueryInterface(This,riid,ppvObject) \
  3658. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3659. #define INNTPCallback_AddRef(This) \
  3660. (This)->lpVtbl -> AddRef(This)
  3661. #define INNTPCallback_Release(This) \
  3662. (This)->lpVtbl -> Release(This)
  3663. #define INNTPCallback_OnTimeout(This,pdwTimeout,pTransport) \
  3664. (This)->lpVtbl -> OnTimeout(This,pdwTimeout,pTransport)
  3665. #define INNTPCallback_OnLogonPrompt(This,pInetServer,pTransport) \
  3666. (This)->lpVtbl -> OnLogonPrompt(This,pInetServer,pTransport)
  3667. #define INNTPCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) \
  3668. (This)->lpVtbl -> OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport)
  3669. #define INNTPCallback_OnStatus(This,ixpstatus,pTransport) \
  3670. (This)->lpVtbl -> OnStatus(This,ixpstatus,pTransport)
  3671. #define INNTPCallback_OnError(This,ixpstatus,pResult,pTransport) \
  3672. (This)->lpVtbl -> OnError(This,ixpstatus,pResult,pTransport)
  3673. #define INNTPCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) \
  3674. (This)->lpVtbl -> OnCommand(This,cmdtype,pszLine,hrResponse,pTransport)
  3675. #define INNTPCallback_OnResponse(This,pResponse) \
  3676. (This)->lpVtbl -> OnResponse(This,pResponse)
  3677. #endif /* COBJMACROS */
  3678. #endif /* C style interface */
  3679. HRESULT STDMETHODCALLTYPE INNTPCallback_OnResponse_Proxy(
  3680. INNTPCallback * This,
  3681. /* [in] */ LPNNTPRESPONSE pResponse);
  3682. void __RPC_STUB INNTPCallback_OnResponse_Stub(
  3683. IRpcStubBuffer *This,
  3684. IRpcChannelBuffer *_pRpcChannelBuffer,
  3685. PRPC_MESSAGE _pRpcMessage,
  3686. DWORD *_pdwStubPhase);
  3687. #endif /* __INNTPCallback_INTERFACE_DEFINED__ */
  3688. #ifndef __INNTPTransport_INTERFACE_DEFINED__
  3689. #define __INNTPTransport_INTERFACE_DEFINED__
  3690. /* interface INNTPTransport */
  3691. /* [object][local][helpstring][uuid] */
  3692. typedef
  3693. enum tagAUTHTYPE
  3694. { AUTHTYPE_USERPASS = 0,
  3695. AUTHTYPE_SIMPLE = AUTHTYPE_USERPASS + 1,
  3696. AUTHTYPE_SASL = AUTHTYPE_SIMPLE + 1
  3697. } AUTHTYPE;
  3698. typedef struct tagNNTPAUTHINFO
  3699. {
  3700. AUTHTYPE authtype;
  3701. LPSTR pszUser;
  3702. LPSTR pszPass;
  3703. } NNTPAUTHINFO;
  3704. typedef struct tagNNTPAUTHINFO *LPNNTPAUTHINFO;
  3705. typedef
  3706. enum tagARTICLEIDTYPE
  3707. { AID_MSGID = 0,
  3708. AID_ARTICLENUM = AID_MSGID + 1
  3709. } ARTICLEIDTYPE;
  3710. typedef struct ARTICLEID
  3711. {
  3712. ARTICLEIDTYPE idType;
  3713. /* [switch_is][switch_type] */ union
  3714. {
  3715. /* [case()] */ LPSTR pszMessageId;
  3716. /* [case()] */ DWORD dwArticleNum;
  3717. /* [default] */ /* Empty union arm */
  3718. } ;
  3719. } ARTICLEID;
  3720. typedef struct ARTICLEID *LPARTICLEID;
  3721. typedef struct tagNNTPMESSAGE
  3722. {
  3723. ULONG cbSize;
  3724. LPSTREAM pstmMsg;
  3725. } NNTPMESSAGE;
  3726. typedef struct tagNNTPMESSAGE *LPNNTPMESSAGE;
  3727. typedef
  3728. enum tagRANGETYPE
  3729. { RT_SINGLE = 0,
  3730. RT_RANGE = RT_SINGLE + 1
  3731. } RANGETYPE;
  3732. typedef struct tagRANGE
  3733. {
  3734. RANGETYPE idType;
  3735. DWORD dwFirst;
  3736. DWORD dwLast;
  3737. } RANGE;
  3738. typedef struct tagRANGE *LPRANGE;
  3739. EXTERN_C const IID IID_INNTPTransport;
  3740. #if defined(__cplusplus) && !defined(CINTERFACE)
  3741. MIDL_INTERFACE("0DF2C7E5-3435-11d0-81D0-00C04FD85AB4")
  3742. INNTPTransport : public IInternetTransport
  3743. {
  3744. public:
  3745. virtual HRESULT STDMETHODCALLTYPE InitNew(
  3746. /* [in] */ LPSTR pszLogFilePath,
  3747. /* [in] */ INNTPCallback *pCallback) = 0;
  3748. virtual HRESULT STDMETHODCALLTYPE CommandAUTHINFO(
  3749. /* [in] */ LPNNTPAUTHINFO pAuthInfo) = 0;
  3750. virtual HRESULT STDMETHODCALLTYPE CommandGROUP(
  3751. /* [in] */ LPSTR pszGroup) = 0;
  3752. virtual HRESULT STDMETHODCALLTYPE CommandLAST( void) = 0;
  3753. virtual HRESULT STDMETHODCALLTYPE CommandNEXT( void) = 0;
  3754. virtual HRESULT STDMETHODCALLTYPE CommandSTAT(
  3755. /* [in] */ LPARTICLEID pArticleId) = 0;
  3756. virtual HRESULT STDMETHODCALLTYPE CommandARTICLE(
  3757. /* [in] */ LPARTICLEID pArticleId) = 0;
  3758. virtual HRESULT STDMETHODCALLTYPE CommandHEAD(
  3759. /* [in] */ LPARTICLEID pArticleId) = 0;
  3760. virtual HRESULT STDMETHODCALLTYPE CommandBODY(
  3761. /* [in] */ LPARTICLEID pArticleId) = 0;
  3762. virtual HRESULT STDMETHODCALLTYPE CommandPOST(
  3763. /* [in] */ LPNNTPMESSAGE pMessage) = 0;
  3764. virtual HRESULT STDMETHODCALLTYPE CommandLIST(
  3765. /* [in] */ LPSTR pszArgs) = 0;
  3766. virtual HRESULT STDMETHODCALLTYPE CommandLISTGROUP(
  3767. /* [in] */ LPSTR pszGroup) = 0;
  3768. virtual HRESULT STDMETHODCALLTYPE CommandNEWGROUPS(
  3769. /* [in] */ SYSTEMTIME *pstLast,
  3770. /* [in] */ LPSTR pszDist) = 0;
  3771. virtual HRESULT STDMETHODCALLTYPE CommandDATE( void) = 0;
  3772. virtual HRESULT STDMETHODCALLTYPE CommandMODE(
  3773. /* [in] */ LPSTR pszMode) = 0;
  3774. virtual HRESULT STDMETHODCALLTYPE CommandXHDR(
  3775. /* [in] */ LPSTR pszHeader,
  3776. /* [in] */ LPRANGE pRange,
  3777. /* [in] */ LPSTR pszMessageId) = 0;
  3778. virtual HRESULT STDMETHODCALLTYPE CommandQUIT( void) = 0;
  3779. virtual HRESULT STDMETHODCALLTYPE GetHeaders(
  3780. /* [in] */ LPRANGE pRange) = 0;
  3781. virtual HRESULT STDMETHODCALLTYPE ReleaseResponse(
  3782. /* [in] */ LPNNTPRESPONSE pResponse) = 0;
  3783. };
  3784. #else /* C style interface */
  3785. typedef struct INNTPTransportVtbl
  3786. {
  3787. BEGIN_INTERFACE
  3788. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3789. INNTPTransport * This,
  3790. /* [in] */ REFIID riid,
  3791. /* [iid_is][out] */ void **ppvObject);
  3792. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3793. INNTPTransport * This);
  3794. ULONG ( STDMETHODCALLTYPE *Release )(
  3795. INNTPTransport * This);
  3796. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  3797. INNTPTransport * This,
  3798. /* [out][in] */ LPINETSERVER pInetServer);
  3799. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  3800. INNTPTransport * This);
  3801. HRESULT ( STDMETHODCALLTYPE *IsState )(
  3802. INNTPTransport * This,
  3803. /* [in] */ IXPISSTATE isstate);
  3804. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  3805. INNTPTransport * This,
  3806. /* [in] */ IImnAccount *pAccount,
  3807. /* [out][in] */ LPINETSERVER pInetServer);
  3808. HRESULT ( STDMETHODCALLTYPE *Connect )(
  3809. INNTPTransport * This,
  3810. /* [in] */ LPINETSERVER pInetServer,
  3811. /* [in] */ boolean fAuthenticate,
  3812. /* [in] */ boolean fCommandLogging);
  3813. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  3814. INNTPTransport * This);
  3815. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  3816. INNTPTransport * This);
  3817. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  3818. INNTPTransport * This);
  3819. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  3820. INNTPTransport * This,
  3821. /* [out] */ IXPSTATUS *pCurrentStatus);
  3822. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  3823. INNTPTransport * This,
  3824. /* [in] */ LPSTR pszLogFilePath,
  3825. /* [in] */ INNTPCallback *pCallback);
  3826. HRESULT ( STDMETHODCALLTYPE *CommandAUTHINFO )(
  3827. INNTPTransport * This,
  3828. /* [in] */ LPNNTPAUTHINFO pAuthInfo);
  3829. HRESULT ( STDMETHODCALLTYPE *CommandGROUP )(
  3830. INNTPTransport * This,
  3831. /* [in] */ LPSTR pszGroup);
  3832. HRESULT ( STDMETHODCALLTYPE *CommandLAST )(
  3833. INNTPTransport * This);
  3834. HRESULT ( STDMETHODCALLTYPE *CommandNEXT )(
  3835. INNTPTransport * This);
  3836. HRESULT ( STDMETHODCALLTYPE *CommandSTAT )(
  3837. INNTPTransport * This,
  3838. /* [in] */ LPARTICLEID pArticleId);
  3839. HRESULT ( STDMETHODCALLTYPE *CommandARTICLE )(
  3840. INNTPTransport * This,
  3841. /* [in] */ LPARTICLEID pArticleId);
  3842. HRESULT ( STDMETHODCALLTYPE *CommandHEAD )(
  3843. INNTPTransport * This,
  3844. /* [in] */ LPARTICLEID pArticleId);
  3845. HRESULT ( STDMETHODCALLTYPE *CommandBODY )(
  3846. INNTPTransport * This,
  3847. /* [in] */ LPARTICLEID pArticleId);
  3848. HRESULT ( STDMETHODCALLTYPE *CommandPOST )(
  3849. INNTPTransport * This,
  3850. /* [in] */ LPNNTPMESSAGE pMessage);
  3851. HRESULT ( STDMETHODCALLTYPE *CommandLIST )(
  3852. INNTPTransport * This,
  3853. /* [in] */ LPSTR pszArgs);
  3854. HRESULT ( STDMETHODCALLTYPE *CommandLISTGROUP )(
  3855. INNTPTransport * This,
  3856. /* [in] */ LPSTR pszGroup);
  3857. HRESULT ( STDMETHODCALLTYPE *CommandNEWGROUPS )(
  3858. INNTPTransport * This,
  3859. /* [in] */ SYSTEMTIME *pstLast,
  3860. /* [in] */ LPSTR pszDist);
  3861. HRESULT ( STDMETHODCALLTYPE *CommandDATE )(
  3862. INNTPTransport * This);
  3863. HRESULT ( STDMETHODCALLTYPE *CommandMODE )(
  3864. INNTPTransport * This,
  3865. /* [in] */ LPSTR pszMode);
  3866. HRESULT ( STDMETHODCALLTYPE *CommandXHDR )(
  3867. INNTPTransport * This,
  3868. /* [in] */ LPSTR pszHeader,
  3869. /* [in] */ LPRANGE pRange,
  3870. /* [in] */ LPSTR pszMessageId);
  3871. HRESULT ( STDMETHODCALLTYPE *CommandQUIT )(
  3872. INNTPTransport * This);
  3873. HRESULT ( STDMETHODCALLTYPE *GetHeaders )(
  3874. INNTPTransport * This,
  3875. /* [in] */ LPRANGE pRange);
  3876. HRESULT ( STDMETHODCALLTYPE *ReleaseResponse )(
  3877. INNTPTransport * This,
  3878. /* [in] */ LPNNTPRESPONSE pResponse);
  3879. END_INTERFACE
  3880. } INNTPTransportVtbl;
  3881. interface INNTPTransport
  3882. {
  3883. CONST_VTBL struct INNTPTransportVtbl *lpVtbl;
  3884. };
  3885. #ifdef COBJMACROS
  3886. #define INNTPTransport_QueryInterface(This,riid,ppvObject) \
  3887. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3888. #define INNTPTransport_AddRef(This) \
  3889. (This)->lpVtbl -> AddRef(This)
  3890. #define INNTPTransport_Release(This) \
  3891. (This)->lpVtbl -> Release(This)
  3892. #define INNTPTransport_GetServerInfo(This,pInetServer) \
  3893. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  3894. #define INNTPTransport_GetIXPType(This) \
  3895. (This)->lpVtbl -> GetIXPType(This)
  3896. #define INNTPTransport_IsState(This,isstate) \
  3897. (This)->lpVtbl -> IsState(This,isstate)
  3898. #define INNTPTransport_InetServerFromAccount(This,pAccount,pInetServer) \
  3899. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  3900. #define INNTPTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  3901. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  3902. #define INNTPTransport_HandsOffCallback(This) \
  3903. (This)->lpVtbl -> HandsOffCallback(This)
  3904. #define INNTPTransport_Disconnect(This) \
  3905. (This)->lpVtbl -> Disconnect(This)
  3906. #define INNTPTransport_DropConnection(This) \
  3907. (This)->lpVtbl -> DropConnection(This)
  3908. #define INNTPTransport_GetStatus(This,pCurrentStatus) \
  3909. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  3910. #define INNTPTransport_InitNew(This,pszLogFilePath,pCallback) \
  3911. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCallback)
  3912. #define INNTPTransport_CommandAUTHINFO(This,pAuthInfo) \
  3913. (This)->lpVtbl -> CommandAUTHINFO(This,pAuthInfo)
  3914. #define INNTPTransport_CommandGROUP(This,pszGroup) \
  3915. (This)->lpVtbl -> CommandGROUP(This,pszGroup)
  3916. #define INNTPTransport_CommandLAST(This) \
  3917. (This)->lpVtbl -> CommandLAST(This)
  3918. #define INNTPTransport_CommandNEXT(This) \
  3919. (This)->lpVtbl -> CommandNEXT(This)
  3920. #define INNTPTransport_CommandSTAT(This,pArticleId) \
  3921. (This)->lpVtbl -> CommandSTAT(This,pArticleId)
  3922. #define INNTPTransport_CommandARTICLE(This,pArticleId) \
  3923. (This)->lpVtbl -> CommandARTICLE(This,pArticleId)
  3924. #define INNTPTransport_CommandHEAD(This,pArticleId) \
  3925. (This)->lpVtbl -> CommandHEAD(This,pArticleId)
  3926. #define INNTPTransport_CommandBODY(This,pArticleId) \
  3927. (This)->lpVtbl -> CommandBODY(This,pArticleId)
  3928. #define INNTPTransport_CommandPOST(This,pMessage) \
  3929. (This)->lpVtbl -> CommandPOST(This,pMessage)
  3930. #define INNTPTransport_CommandLIST(This,pszArgs) \
  3931. (This)->lpVtbl -> CommandLIST(This,pszArgs)
  3932. #define INNTPTransport_CommandLISTGROUP(This,pszGroup) \
  3933. (This)->lpVtbl -> CommandLISTGROUP(This,pszGroup)
  3934. #define INNTPTransport_CommandNEWGROUPS(This,pstLast,pszDist) \
  3935. (This)->lpVtbl -> CommandNEWGROUPS(This,pstLast,pszDist)
  3936. #define INNTPTransport_CommandDATE(This) \
  3937. (This)->lpVtbl -> CommandDATE(This)
  3938. #define INNTPTransport_CommandMODE(This,pszMode) \
  3939. (This)->lpVtbl -> CommandMODE(This,pszMode)
  3940. #define INNTPTransport_CommandXHDR(This,pszHeader,pRange,pszMessageId) \
  3941. (This)->lpVtbl -> CommandXHDR(This,pszHeader,pRange,pszMessageId)
  3942. #define INNTPTransport_CommandQUIT(This) \
  3943. (This)->lpVtbl -> CommandQUIT(This)
  3944. #define INNTPTransport_GetHeaders(This,pRange) \
  3945. (This)->lpVtbl -> GetHeaders(This,pRange)
  3946. #define INNTPTransport_ReleaseResponse(This,pResponse) \
  3947. (This)->lpVtbl -> ReleaseResponse(This,pResponse)
  3948. #endif /* COBJMACROS */
  3949. #endif /* C style interface */
  3950. HRESULT STDMETHODCALLTYPE INNTPTransport_InitNew_Proxy(
  3951. INNTPTransport * This,
  3952. /* [in] */ LPSTR pszLogFilePath,
  3953. /* [in] */ INNTPCallback *pCallback);
  3954. void __RPC_STUB INNTPTransport_InitNew_Stub(
  3955. IRpcStubBuffer *This,
  3956. IRpcChannelBuffer *_pRpcChannelBuffer,
  3957. PRPC_MESSAGE _pRpcMessage,
  3958. DWORD *_pdwStubPhase);
  3959. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandAUTHINFO_Proxy(
  3960. INNTPTransport * This,
  3961. /* [in] */ LPNNTPAUTHINFO pAuthInfo);
  3962. void __RPC_STUB INNTPTransport_CommandAUTHINFO_Stub(
  3963. IRpcStubBuffer *This,
  3964. IRpcChannelBuffer *_pRpcChannelBuffer,
  3965. PRPC_MESSAGE _pRpcMessage,
  3966. DWORD *_pdwStubPhase);
  3967. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandGROUP_Proxy(
  3968. INNTPTransport * This,
  3969. /* [in] */ LPSTR pszGroup);
  3970. void __RPC_STUB INNTPTransport_CommandGROUP_Stub(
  3971. IRpcStubBuffer *This,
  3972. IRpcChannelBuffer *_pRpcChannelBuffer,
  3973. PRPC_MESSAGE _pRpcMessage,
  3974. DWORD *_pdwStubPhase);
  3975. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandLAST_Proxy(
  3976. INNTPTransport * This);
  3977. void __RPC_STUB INNTPTransport_CommandLAST_Stub(
  3978. IRpcStubBuffer *This,
  3979. IRpcChannelBuffer *_pRpcChannelBuffer,
  3980. PRPC_MESSAGE _pRpcMessage,
  3981. DWORD *_pdwStubPhase);
  3982. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandNEXT_Proxy(
  3983. INNTPTransport * This);
  3984. void __RPC_STUB INNTPTransport_CommandNEXT_Stub(
  3985. IRpcStubBuffer *This,
  3986. IRpcChannelBuffer *_pRpcChannelBuffer,
  3987. PRPC_MESSAGE _pRpcMessage,
  3988. DWORD *_pdwStubPhase);
  3989. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandSTAT_Proxy(
  3990. INNTPTransport * This,
  3991. /* [in] */ LPARTICLEID pArticleId);
  3992. void __RPC_STUB INNTPTransport_CommandSTAT_Stub(
  3993. IRpcStubBuffer *This,
  3994. IRpcChannelBuffer *_pRpcChannelBuffer,
  3995. PRPC_MESSAGE _pRpcMessage,
  3996. DWORD *_pdwStubPhase);
  3997. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandARTICLE_Proxy(
  3998. INNTPTransport * This,
  3999. /* [in] */ LPARTICLEID pArticleId);
  4000. void __RPC_STUB INNTPTransport_CommandARTICLE_Stub(
  4001. IRpcStubBuffer *This,
  4002. IRpcChannelBuffer *_pRpcChannelBuffer,
  4003. PRPC_MESSAGE _pRpcMessage,
  4004. DWORD *_pdwStubPhase);
  4005. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandHEAD_Proxy(
  4006. INNTPTransport * This,
  4007. /* [in] */ LPARTICLEID pArticleId);
  4008. void __RPC_STUB INNTPTransport_CommandHEAD_Stub(
  4009. IRpcStubBuffer *This,
  4010. IRpcChannelBuffer *_pRpcChannelBuffer,
  4011. PRPC_MESSAGE _pRpcMessage,
  4012. DWORD *_pdwStubPhase);
  4013. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandBODY_Proxy(
  4014. INNTPTransport * This,
  4015. /* [in] */ LPARTICLEID pArticleId);
  4016. void __RPC_STUB INNTPTransport_CommandBODY_Stub(
  4017. IRpcStubBuffer *This,
  4018. IRpcChannelBuffer *_pRpcChannelBuffer,
  4019. PRPC_MESSAGE _pRpcMessage,
  4020. DWORD *_pdwStubPhase);
  4021. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandPOST_Proxy(
  4022. INNTPTransport * This,
  4023. /* [in] */ LPNNTPMESSAGE pMessage);
  4024. void __RPC_STUB INNTPTransport_CommandPOST_Stub(
  4025. IRpcStubBuffer *This,
  4026. IRpcChannelBuffer *_pRpcChannelBuffer,
  4027. PRPC_MESSAGE _pRpcMessage,
  4028. DWORD *_pdwStubPhase);
  4029. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandLIST_Proxy(
  4030. INNTPTransport * This,
  4031. /* [in] */ LPSTR pszArgs);
  4032. void __RPC_STUB INNTPTransport_CommandLIST_Stub(
  4033. IRpcStubBuffer *This,
  4034. IRpcChannelBuffer *_pRpcChannelBuffer,
  4035. PRPC_MESSAGE _pRpcMessage,
  4036. DWORD *_pdwStubPhase);
  4037. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandLISTGROUP_Proxy(
  4038. INNTPTransport * This,
  4039. /* [in] */ LPSTR pszGroup);
  4040. void __RPC_STUB INNTPTransport_CommandLISTGROUP_Stub(
  4041. IRpcStubBuffer *This,
  4042. IRpcChannelBuffer *_pRpcChannelBuffer,
  4043. PRPC_MESSAGE _pRpcMessage,
  4044. DWORD *_pdwStubPhase);
  4045. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandNEWGROUPS_Proxy(
  4046. INNTPTransport * This,
  4047. /* [in] */ SYSTEMTIME *pstLast,
  4048. /* [in] */ LPSTR pszDist);
  4049. void __RPC_STUB INNTPTransport_CommandNEWGROUPS_Stub(
  4050. IRpcStubBuffer *This,
  4051. IRpcChannelBuffer *_pRpcChannelBuffer,
  4052. PRPC_MESSAGE _pRpcMessage,
  4053. DWORD *_pdwStubPhase);
  4054. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandDATE_Proxy(
  4055. INNTPTransport * This);
  4056. void __RPC_STUB INNTPTransport_CommandDATE_Stub(
  4057. IRpcStubBuffer *This,
  4058. IRpcChannelBuffer *_pRpcChannelBuffer,
  4059. PRPC_MESSAGE _pRpcMessage,
  4060. DWORD *_pdwStubPhase);
  4061. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandMODE_Proxy(
  4062. INNTPTransport * This,
  4063. /* [in] */ LPSTR pszMode);
  4064. void __RPC_STUB INNTPTransport_CommandMODE_Stub(
  4065. IRpcStubBuffer *This,
  4066. IRpcChannelBuffer *_pRpcChannelBuffer,
  4067. PRPC_MESSAGE _pRpcMessage,
  4068. DWORD *_pdwStubPhase);
  4069. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandXHDR_Proxy(
  4070. INNTPTransport * This,
  4071. /* [in] */ LPSTR pszHeader,
  4072. /* [in] */ LPRANGE pRange,
  4073. /* [in] */ LPSTR pszMessageId);
  4074. void __RPC_STUB INNTPTransport_CommandXHDR_Stub(
  4075. IRpcStubBuffer *This,
  4076. IRpcChannelBuffer *_pRpcChannelBuffer,
  4077. PRPC_MESSAGE _pRpcMessage,
  4078. DWORD *_pdwStubPhase);
  4079. HRESULT STDMETHODCALLTYPE INNTPTransport_CommandQUIT_Proxy(
  4080. INNTPTransport * This);
  4081. void __RPC_STUB INNTPTransport_CommandQUIT_Stub(
  4082. IRpcStubBuffer *This,
  4083. IRpcChannelBuffer *_pRpcChannelBuffer,
  4084. PRPC_MESSAGE _pRpcMessage,
  4085. DWORD *_pdwStubPhase);
  4086. HRESULT STDMETHODCALLTYPE INNTPTransport_GetHeaders_Proxy(
  4087. INNTPTransport * This,
  4088. /* [in] */ LPRANGE pRange);
  4089. void __RPC_STUB INNTPTransport_GetHeaders_Stub(
  4090. IRpcStubBuffer *This,
  4091. IRpcChannelBuffer *_pRpcChannelBuffer,
  4092. PRPC_MESSAGE _pRpcMessage,
  4093. DWORD *_pdwStubPhase);
  4094. HRESULT STDMETHODCALLTYPE INNTPTransport_ReleaseResponse_Proxy(
  4095. INNTPTransport * This,
  4096. /* [in] */ LPNNTPRESPONSE pResponse);
  4097. void __RPC_STUB INNTPTransport_ReleaseResponse_Stub(
  4098. IRpcStubBuffer *This,
  4099. IRpcChannelBuffer *_pRpcChannelBuffer,
  4100. PRPC_MESSAGE _pRpcMessage,
  4101. DWORD *_pdwStubPhase);
  4102. #endif /* __INNTPTransport_INTERFACE_DEFINED__ */
  4103. #ifndef __INNTPTransport2_INTERFACE_DEFINED__
  4104. #define __INNTPTransport2_INTERFACE_DEFINED__
  4105. /* interface INNTPTransport2 */
  4106. /* [object][local][helpstring][uuid] */
  4107. EXTERN_C const IID IID_INNTPTransport2;
  4108. #if defined(__cplusplus) && !defined(CINTERFACE)
  4109. MIDL_INTERFACE("0DF2C7ED-3435-11d0-81D0-00C04FD85AB4")
  4110. INNTPTransport2 : public INNTPTransport
  4111. {
  4112. public:
  4113. virtual HRESULT STDMETHODCALLTYPE SetWindow( void) = 0;
  4114. virtual HRESULT STDMETHODCALLTYPE ResetWindow( void) = 0;
  4115. };
  4116. #else /* C style interface */
  4117. typedef struct INNTPTransport2Vtbl
  4118. {
  4119. BEGIN_INTERFACE
  4120. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4121. INNTPTransport2 * This,
  4122. /* [in] */ REFIID riid,
  4123. /* [iid_is][out] */ void **ppvObject);
  4124. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4125. INNTPTransport2 * This);
  4126. ULONG ( STDMETHODCALLTYPE *Release )(
  4127. INNTPTransport2 * This);
  4128. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  4129. INNTPTransport2 * This,
  4130. /* [out][in] */ LPINETSERVER pInetServer);
  4131. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  4132. INNTPTransport2 * This);
  4133. HRESULT ( STDMETHODCALLTYPE *IsState )(
  4134. INNTPTransport2 * This,
  4135. /* [in] */ IXPISSTATE isstate);
  4136. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  4137. INNTPTransport2 * This,
  4138. /* [in] */ IImnAccount *pAccount,
  4139. /* [out][in] */ LPINETSERVER pInetServer);
  4140. HRESULT ( STDMETHODCALLTYPE *Connect )(
  4141. INNTPTransport2 * This,
  4142. /* [in] */ LPINETSERVER pInetServer,
  4143. /* [in] */ boolean fAuthenticate,
  4144. /* [in] */ boolean fCommandLogging);
  4145. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  4146. INNTPTransport2 * This);
  4147. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  4148. INNTPTransport2 * This);
  4149. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  4150. INNTPTransport2 * This);
  4151. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  4152. INNTPTransport2 * This,
  4153. /* [out] */ IXPSTATUS *pCurrentStatus);
  4154. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  4155. INNTPTransport2 * This,
  4156. /* [in] */ LPSTR pszLogFilePath,
  4157. /* [in] */ INNTPCallback *pCallback);
  4158. HRESULT ( STDMETHODCALLTYPE *CommandAUTHINFO )(
  4159. INNTPTransport2 * This,
  4160. /* [in] */ LPNNTPAUTHINFO pAuthInfo);
  4161. HRESULT ( STDMETHODCALLTYPE *CommandGROUP )(
  4162. INNTPTransport2 * This,
  4163. /* [in] */ LPSTR pszGroup);
  4164. HRESULT ( STDMETHODCALLTYPE *CommandLAST )(
  4165. INNTPTransport2 * This);
  4166. HRESULT ( STDMETHODCALLTYPE *CommandNEXT )(
  4167. INNTPTransport2 * This);
  4168. HRESULT ( STDMETHODCALLTYPE *CommandSTAT )(
  4169. INNTPTransport2 * This,
  4170. /* [in] */ LPARTICLEID pArticleId);
  4171. HRESULT ( STDMETHODCALLTYPE *CommandARTICLE )(
  4172. INNTPTransport2 * This,
  4173. /* [in] */ LPARTICLEID pArticleId);
  4174. HRESULT ( STDMETHODCALLTYPE *CommandHEAD )(
  4175. INNTPTransport2 * This,
  4176. /* [in] */ LPARTICLEID pArticleId);
  4177. HRESULT ( STDMETHODCALLTYPE *CommandBODY )(
  4178. INNTPTransport2 * This,
  4179. /* [in] */ LPARTICLEID pArticleId);
  4180. HRESULT ( STDMETHODCALLTYPE *CommandPOST )(
  4181. INNTPTransport2 * This,
  4182. /* [in] */ LPNNTPMESSAGE pMessage);
  4183. HRESULT ( STDMETHODCALLTYPE *CommandLIST )(
  4184. INNTPTransport2 * This,
  4185. /* [in] */ LPSTR pszArgs);
  4186. HRESULT ( STDMETHODCALLTYPE *CommandLISTGROUP )(
  4187. INNTPTransport2 * This,
  4188. /* [in] */ LPSTR pszGroup);
  4189. HRESULT ( STDMETHODCALLTYPE *CommandNEWGROUPS )(
  4190. INNTPTransport2 * This,
  4191. /* [in] */ SYSTEMTIME *pstLast,
  4192. /* [in] */ LPSTR pszDist);
  4193. HRESULT ( STDMETHODCALLTYPE *CommandDATE )(
  4194. INNTPTransport2 * This);
  4195. HRESULT ( STDMETHODCALLTYPE *CommandMODE )(
  4196. INNTPTransport2 * This,
  4197. /* [in] */ LPSTR pszMode);
  4198. HRESULT ( STDMETHODCALLTYPE *CommandXHDR )(
  4199. INNTPTransport2 * This,
  4200. /* [in] */ LPSTR pszHeader,
  4201. /* [in] */ LPRANGE pRange,
  4202. /* [in] */ LPSTR pszMessageId);
  4203. HRESULT ( STDMETHODCALLTYPE *CommandQUIT )(
  4204. INNTPTransport2 * This);
  4205. HRESULT ( STDMETHODCALLTYPE *GetHeaders )(
  4206. INNTPTransport2 * This,
  4207. /* [in] */ LPRANGE pRange);
  4208. HRESULT ( STDMETHODCALLTYPE *ReleaseResponse )(
  4209. INNTPTransport2 * This,
  4210. /* [in] */ LPNNTPRESPONSE pResponse);
  4211. HRESULT ( STDMETHODCALLTYPE *SetWindow )(
  4212. INNTPTransport2 * This);
  4213. HRESULT ( STDMETHODCALLTYPE *ResetWindow )(
  4214. INNTPTransport2 * This);
  4215. END_INTERFACE
  4216. } INNTPTransport2Vtbl;
  4217. interface INNTPTransport2
  4218. {
  4219. CONST_VTBL struct INNTPTransport2Vtbl *lpVtbl;
  4220. };
  4221. #ifdef COBJMACROS
  4222. #define INNTPTransport2_QueryInterface(This,riid,ppvObject) \
  4223. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4224. #define INNTPTransport2_AddRef(This) \
  4225. (This)->lpVtbl -> AddRef(This)
  4226. #define INNTPTransport2_Release(This) \
  4227. (This)->lpVtbl -> Release(This)
  4228. #define INNTPTransport2_GetServerInfo(This,pInetServer) \
  4229. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  4230. #define INNTPTransport2_GetIXPType(This) \
  4231. (This)->lpVtbl -> GetIXPType(This)
  4232. #define INNTPTransport2_IsState(This,isstate) \
  4233. (This)->lpVtbl -> IsState(This,isstate)
  4234. #define INNTPTransport2_InetServerFromAccount(This,pAccount,pInetServer) \
  4235. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  4236. #define INNTPTransport2_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  4237. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  4238. #define INNTPTransport2_HandsOffCallback(This) \
  4239. (This)->lpVtbl -> HandsOffCallback(This)
  4240. #define INNTPTransport2_Disconnect(This) \
  4241. (This)->lpVtbl -> Disconnect(This)
  4242. #define INNTPTransport2_DropConnection(This) \
  4243. (This)->lpVtbl -> DropConnection(This)
  4244. #define INNTPTransport2_GetStatus(This,pCurrentStatus) \
  4245. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  4246. #define INNTPTransport2_InitNew(This,pszLogFilePath,pCallback) \
  4247. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCallback)
  4248. #define INNTPTransport2_CommandAUTHINFO(This,pAuthInfo) \
  4249. (This)->lpVtbl -> CommandAUTHINFO(This,pAuthInfo)
  4250. #define INNTPTransport2_CommandGROUP(This,pszGroup) \
  4251. (This)->lpVtbl -> CommandGROUP(This,pszGroup)
  4252. #define INNTPTransport2_CommandLAST(This) \
  4253. (This)->lpVtbl -> CommandLAST(This)
  4254. #define INNTPTransport2_CommandNEXT(This) \
  4255. (This)->lpVtbl -> CommandNEXT(This)
  4256. #define INNTPTransport2_CommandSTAT(This,pArticleId) \
  4257. (This)->lpVtbl -> CommandSTAT(This,pArticleId)
  4258. #define INNTPTransport2_CommandARTICLE(This,pArticleId) \
  4259. (This)->lpVtbl -> CommandARTICLE(This,pArticleId)
  4260. #define INNTPTransport2_CommandHEAD(This,pArticleId) \
  4261. (This)->lpVtbl -> CommandHEAD(This,pArticleId)
  4262. #define INNTPTransport2_CommandBODY(This,pArticleId) \
  4263. (This)->lpVtbl -> CommandBODY(This,pArticleId)
  4264. #define INNTPTransport2_CommandPOST(This,pMessage) \
  4265. (This)->lpVtbl -> CommandPOST(This,pMessage)
  4266. #define INNTPTransport2_CommandLIST(This,pszArgs) \
  4267. (This)->lpVtbl -> CommandLIST(This,pszArgs)
  4268. #define INNTPTransport2_CommandLISTGROUP(This,pszGroup) \
  4269. (This)->lpVtbl -> CommandLISTGROUP(This,pszGroup)
  4270. #define INNTPTransport2_CommandNEWGROUPS(This,pstLast,pszDist) \
  4271. (This)->lpVtbl -> CommandNEWGROUPS(This,pstLast,pszDist)
  4272. #define INNTPTransport2_CommandDATE(This) \
  4273. (This)->lpVtbl -> CommandDATE(This)
  4274. #define INNTPTransport2_CommandMODE(This,pszMode) \
  4275. (This)->lpVtbl -> CommandMODE(This,pszMode)
  4276. #define INNTPTransport2_CommandXHDR(This,pszHeader,pRange,pszMessageId) \
  4277. (This)->lpVtbl -> CommandXHDR(This,pszHeader,pRange,pszMessageId)
  4278. #define INNTPTransport2_CommandQUIT(This) \
  4279. (This)->lpVtbl -> CommandQUIT(This)
  4280. #define INNTPTransport2_GetHeaders(This,pRange) \
  4281. (This)->lpVtbl -> GetHeaders(This,pRange)
  4282. #define INNTPTransport2_ReleaseResponse(This,pResponse) \
  4283. (This)->lpVtbl -> ReleaseResponse(This,pResponse)
  4284. #define INNTPTransport2_SetWindow(This) \
  4285. (This)->lpVtbl -> SetWindow(This)
  4286. #define INNTPTransport2_ResetWindow(This) \
  4287. (This)->lpVtbl -> ResetWindow(This)
  4288. #endif /* COBJMACROS */
  4289. #endif /* C style interface */
  4290. HRESULT STDMETHODCALLTYPE INNTPTransport2_SetWindow_Proxy(
  4291. INNTPTransport2 * This);
  4292. void __RPC_STUB INNTPTransport2_SetWindow_Stub(
  4293. IRpcStubBuffer *This,
  4294. IRpcChannelBuffer *_pRpcChannelBuffer,
  4295. PRPC_MESSAGE _pRpcMessage,
  4296. DWORD *_pdwStubPhase);
  4297. HRESULT STDMETHODCALLTYPE INNTPTransport2_ResetWindow_Proxy(
  4298. INNTPTransport2 * This);
  4299. void __RPC_STUB INNTPTransport2_ResetWindow_Stub(
  4300. IRpcStubBuffer *This,
  4301. IRpcChannelBuffer *_pRpcChannelBuffer,
  4302. PRPC_MESSAGE _pRpcMessage,
  4303. DWORD *_pdwStubPhase);
  4304. #endif /* __INNTPTransport2_INTERFACE_DEFINED__ */
  4305. #ifndef __IRASCallback_INTERFACE_DEFINED__
  4306. #define __IRASCallback_INTERFACE_DEFINED__
  4307. /* interface IRASCallback */
  4308. /* [object][local][helpstring][uuid] */
  4309. typedef struct tagIXPRASLOGON
  4310. {
  4311. CHAR szConnectoid[ 256 ];
  4312. CHAR szUserName[ 256 ];
  4313. CHAR szPassword[ 256 ];
  4314. CHAR szDomain[ 256 ];
  4315. CHAR szPhoneNumber[ 128 ];
  4316. BOOL fSavePassword;
  4317. } IXPRASLOGON;
  4318. typedef struct tagIXPRASLOGON *LPIXPRASLOGON;
  4319. #ifndef RASCONNSTATE
  4320. typedef DWORD RASCONNSTATE;
  4321. #endif
  4322. EXTERN_C const IID IID_IRASCallback;
  4323. #if defined(__cplusplus) && !defined(CINTERFACE)
  4324. MIDL_INTERFACE("36D88911-3CD6-11d0-81DF-00C04FD85AB4")
  4325. IRASCallback : public IUnknown
  4326. {
  4327. public:
  4328. virtual HRESULT STDMETHODCALLTYPE OnReconnect(
  4329. /* [in] */ LPSTR pszCurrentConnectoid,
  4330. /* [in] */ LPSTR pszNewConnectoid,
  4331. /* [in] */ IRASTransport *pTransport) = 0;
  4332. virtual HRESULT STDMETHODCALLTYPE OnLogonPrompt(
  4333. /* [out][in] */ LPIXPRASLOGON pRasLogon,
  4334. /* [in] */ IRASTransport *pTransport) = 0;
  4335. virtual HRESULT STDMETHODCALLTYPE OnRasDialStatus(
  4336. /* [in] */ RASCONNSTATE rasconnstate,
  4337. /* [in] */ DWORD dwError,
  4338. /* [in] */ IRASTransport *pTransport) = 0;
  4339. virtual HRESULT STDMETHODCALLTYPE OnDisconnect(
  4340. /* [in] */ LPSTR pszCurrentConnectoid,
  4341. /* [in] */ boolean fConnectionOwner,
  4342. /* [in] */ IRASTransport *pTransport) = 0;
  4343. };
  4344. #else /* C style interface */
  4345. typedef struct IRASCallbackVtbl
  4346. {
  4347. BEGIN_INTERFACE
  4348. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4349. IRASCallback * This,
  4350. /* [in] */ REFIID riid,
  4351. /* [iid_is][out] */ void **ppvObject);
  4352. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4353. IRASCallback * This);
  4354. ULONG ( STDMETHODCALLTYPE *Release )(
  4355. IRASCallback * This);
  4356. HRESULT ( STDMETHODCALLTYPE *OnReconnect )(
  4357. IRASCallback * This,
  4358. /* [in] */ LPSTR pszCurrentConnectoid,
  4359. /* [in] */ LPSTR pszNewConnectoid,
  4360. /* [in] */ IRASTransport *pTransport);
  4361. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  4362. IRASCallback * This,
  4363. /* [out][in] */ LPIXPRASLOGON pRasLogon,
  4364. /* [in] */ IRASTransport *pTransport);
  4365. HRESULT ( STDMETHODCALLTYPE *OnRasDialStatus )(
  4366. IRASCallback * This,
  4367. /* [in] */ RASCONNSTATE rasconnstate,
  4368. /* [in] */ DWORD dwError,
  4369. /* [in] */ IRASTransport *pTransport);
  4370. HRESULT ( STDMETHODCALLTYPE *OnDisconnect )(
  4371. IRASCallback * This,
  4372. /* [in] */ LPSTR pszCurrentConnectoid,
  4373. /* [in] */ boolean fConnectionOwner,
  4374. /* [in] */ IRASTransport *pTransport);
  4375. END_INTERFACE
  4376. } IRASCallbackVtbl;
  4377. interface IRASCallback
  4378. {
  4379. CONST_VTBL struct IRASCallbackVtbl *lpVtbl;
  4380. };
  4381. #ifdef COBJMACROS
  4382. #define IRASCallback_QueryInterface(This,riid,ppvObject) \
  4383. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4384. #define IRASCallback_AddRef(This) \
  4385. (This)->lpVtbl -> AddRef(This)
  4386. #define IRASCallback_Release(This) \
  4387. (This)->lpVtbl -> Release(This)
  4388. #define IRASCallback_OnReconnect(This,pszCurrentConnectoid,pszNewConnectoid,pTransport) \
  4389. (This)->lpVtbl -> OnReconnect(This,pszCurrentConnectoid,pszNewConnectoid,pTransport)
  4390. #define IRASCallback_OnLogonPrompt(This,pRasLogon,pTransport) \
  4391. (This)->lpVtbl -> OnLogonPrompt(This,pRasLogon,pTransport)
  4392. #define IRASCallback_OnRasDialStatus(This,rasconnstate,dwError,pTransport) \
  4393. (This)->lpVtbl -> OnRasDialStatus(This,rasconnstate,dwError,pTransport)
  4394. #define IRASCallback_OnDisconnect(This,pszCurrentConnectoid,fConnectionOwner,pTransport) \
  4395. (This)->lpVtbl -> OnDisconnect(This,pszCurrentConnectoid,fConnectionOwner,pTransport)
  4396. #endif /* COBJMACROS */
  4397. #endif /* C style interface */
  4398. HRESULT STDMETHODCALLTYPE IRASCallback_OnReconnect_Proxy(
  4399. IRASCallback * This,
  4400. /* [in] */ LPSTR pszCurrentConnectoid,
  4401. /* [in] */ LPSTR pszNewConnectoid,
  4402. /* [in] */ IRASTransport *pTransport);
  4403. void __RPC_STUB IRASCallback_OnReconnect_Stub(
  4404. IRpcStubBuffer *This,
  4405. IRpcChannelBuffer *_pRpcChannelBuffer,
  4406. PRPC_MESSAGE _pRpcMessage,
  4407. DWORD *_pdwStubPhase);
  4408. HRESULT STDMETHODCALLTYPE IRASCallback_OnLogonPrompt_Proxy(
  4409. IRASCallback * This,
  4410. /* [out][in] */ LPIXPRASLOGON pRasLogon,
  4411. /* [in] */ IRASTransport *pTransport);
  4412. void __RPC_STUB IRASCallback_OnLogonPrompt_Stub(
  4413. IRpcStubBuffer *This,
  4414. IRpcChannelBuffer *_pRpcChannelBuffer,
  4415. PRPC_MESSAGE _pRpcMessage,
  4416. DWORD *_pdwStubPhase);
  4417. HRESULT STDMETHODCALLTYPE IRASCallback_OnRasDialStatus_Proxy(
  4418. IRASCallback * This,
  4419. /* [in] */ RASCONNSTATE rasconnstate,
  4420. /* [in] */ DWORD dwError,
  4421. /* [in] */ IRASTransport *pTransport);
  4422. void __RPC_STUB IRASCallback_OnRasDialStatus_Stub(
  4423. IRpcStubBuffer *This,
  4424. IRpcChannelBuffer *_pRpcChannelBuffer,
  4425. PRPC_MESSAGE _pRpcMessage,
  4426. DWORD *_pdwStubPhase);
  4427. HRESULT STDMETHODCALLTYPE IRASCallback_OnDisconnect_Proxy(
  4428. IRASCallback * This,
  4429. /* [in] */ LPSTR pszCurrentConnectoid,
  4430. /* [in] */ boolean fConnectionOwner,
  4431. /* [in] */ IRASTransport *pTransport);
  4432. void __RPC_STUB IRASCallback_OnDisconnect_Stub(
  4433. IRpcStubBuffer *This,
  4434. IRpcChannelBuffer *_pRpcChannelBuffer,
  4435. PRPC_MESSAGE _pRpcMessage,
  4436. DWORD *_pdwStubPhase);
  4437. #endif /* __IRASCallback_INTERFACE_DEFINED__ */
  4438. #ifndef __IRASTransport_INTERFACE_DEFINED__
  4439. #define __IRASTransport_INTERFACE_DEFINED__
  4440. /* interface IRASTransport */
  4441. /* [object][local][helpstring][uuid] */
  4442. EXTERN_C const IID IID_IRASTransport;
  4443. #if defined(__cplusplus) && !defined(CINTERFACE)
  4444. MIDL_INTERFACE("8A950001-3CCF-11d0-81DF-00C04FD85AB4")
  4445. IRASTransport : public IInternetTransport
  4446. {
  4447. public:
  4448. virtual HRESULT STDMETHODCALLTYPE InitNew(
  4449. /* [in] */ IRASCallback *pCallback) = 0;
  4450. virtual HRESULT STDMETHODCALLTYPE GetCurrentConnectoid(
  4451. /* [ref][in] */ LPSTR pszConnectoid,
  4452. /* [in] */ ULONG cchMax) = 0;
  4453. virtual HRESULT STDMETHODCALLTYPE GetRasErrorString(
  4454. /* [in] */ UINT uRasErrorValue,
  4455. /* [ref][in] */ LPSTR pszErrorString,
  4456. /* [in] */ ULONG cchMax,
  4457. /* [out] */ DWORD *pdwRASResult) = 0;
  4458. virtual HRESULT STDMETHODCALLTYPE FillConnectoidCombo(
  4459. /* [in] */ HWND hwndComboBox,
  4460. /* [in] */ boolean fUpdateOnly,
  4461. /* [out] */ DWORD *pdwRASResult) = 0;
  4462. virtual HRESULT STDMETHODCALLTYPE EditConnectoid(
  4463. /* [in] */ HWND hwndParent,
  4464. /* [in] */ LPSTR pszConnectoid,
  4465. /* [out] */ DWORD *pdwRASResult) = 0;
  4466. virtual HRESULT STDMETHODCALLTYPE CreateConnectoid(
  4467. /* [in] */ HWND hwndParent,
  4468. /* [out] */ DWORD *pdwRASResult) = 0;
  4469. };
  4470. #else /* C style interface */
  4471. typedef struct IRASTransportVtbl
  4472. {
  4473. BEGIN_INTERFACE
  4474. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4475. IRASTransport * This,
  4476. /* [in] */ REFIID riid,
  4477. /* [iid_is][out] */ void **ppvObject);
  4478. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4479. IRASTransport * This);
  4480. ULONG ( STDMETHODCALLTYPE *Release )(
  4481. IRASTransport * This);
  4482. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  4483. IRASTransport * This,
  4484. /* [out][in] */ LPINETSERVER pInetServer);
  4485. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  4486. IRASTransport * This);
  4487. HRESULT ( STDMETHODCALLTYPE *IsState )(
  4488. IRASTransport * This,
  4489. /* [in] */ IXPISSTATE isstate);
  4490. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  4491. IRASTransport * This,
  4492. /* [in] */ IImnAccount *pAccount,
  4493. /* [out][in] */ LPINETSERVER pInetServer);
  4494. HRESULT ( STDMETHODCALLTYPE *Connect )(
  4495. IRASTransport * This,
  4496. /* [in] */ LPINETSERVER pInetServer,
  4497. /* [in] */ boolean fAuthenticate,
  4498. /* [in] */ boolean fCommandLogging);
  4499. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  4500. IRASTransport * This);
  4501. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  4502. IRASTransport * This);
  4503. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  4504. IRASTransport * This);
  4505. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  4506. IRASTransport * This,
  4507. /* [out] */ IXPSTATUS *pCurrentStatus);
  4508. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  4509. IRASTransport * This,
  4510. /* [in] */ IRASCallback *pCallback);
  4511. HRESULT ( STDMETHODCALLTYPE *GetCurrentConnectoid )(
  4512. IRASTransport * This,
  4513. /* [ref][in] */ LPSTR pszConnectoid,
  4514. /* [in] */ ULONG cchMax);
  4515. HRESULT ( STDMETHODCALLTYPE *GetRasErrorString )(
  4516. IRASTransport * This,
  4517. /* [in] */ UINT uRasErrorValue,
  4518. /* [ref][in] */ LPSTR pszErrorString,
  4519. /* [in] */ ULONG cchMax,
  4520. /* [out] */ DWORD *pdwRASResult);
  4521. HRESULT ( STDMETHODCALLTYPE *FillConnectoidCombo )(
  4522. IRASTransport * This,
  4523. /* [in] */ HWND hwndComboBox,
  4524. /* [in] */ boolean fUpdateOnly,
  4525. /* [out] */ DWORD *pdwRASResult);
  4526. HRESULT ( STDMETHODCALLTYPE *EditConnectoid )(
  4527. IRASTransport * This,
  4528. /* [in] */ HWND hwndParent,
  4529. /* [in] */ LPSTR pszConnectoid,
  4530. /* [out] */ DWORD *pdwRASResult);
  4531. HRESULT ( STDMETHODCALLTYPE *CreateConnectoid )(
  4532. IRASTransport * This,
  4533. /* [in] */ HWND hwndParent,
  4534. /* [out] */ DWORD *pdwRASResult);
  4535. END_INTERFACE
  4536. } IRASTransportVtbl;
  4537. interface IRASTransport
  4538. {
  4539. CONST_VTBL struct IRASTransportVtbl *lpVtbl;
  4540. };
  4541. #ifdef COBJMACROS
  4542. #define IRASTransport_QueryInterface(This,riid,ppvObject) \
  4543. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4544. #define IRASTransport_AddRef(This) \
  4545. (This)->lpVtbl -> AddRef(This)
  4546. #define IRASTransport_Release(This) \
  4547. (This)->lpVtbl -> Release(This)
  4548. #define IRASTransport_GetServerInfo(This,pInetServer) \
  4549. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  4550. #define IRASTransport_GetIXPType(This) \
  4551. (This)->lpVtbl -> GetIXPType(This)
  4552. #define IRASTransport_IsState(This,isstate) \
  4553. (This)->lpVtbl -> IsState(This,isstate)
  4554. #define IRASTransport_InetServerFromAccount(This,pAccount,pInetServer) \
  4555. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  4556. #define IRASTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  4557. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  4558. #define IRASTransport_HandsOffCallback(This) \
  4559. (This)->lpVtbl -> HandsOffCallback(This)
  4560. #define IRASTransport_Disconnect(This) \
  4561. (This)->lpVtbl -> Disconnect(This)
  4562. #define IRASTransport_DropConnection(This) \
  4563. (This)->lpVtbl -> DropConnection(This)
  4564. #define IRASTransport_GetStatus(This,pCurrentStatus) \
  4565. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  4566. #define IRASTransport_InitNew(This,pCallback) \
  4567. (This)->lpVtbl -> InitNew(This,pCallback)
  4568. #define IRASTransport_GetCurrentConnectoid(This,pszConnectoid,cchMax) \
  4569. (This)->lpVtbl -> GetCurrentConnectoid(This,pszConnectoid,cchMax)
  4570. #define IRASTransport_GetRasErrorString(This,uRasErrorValue,pszErrorString,cchMax,pdwRASResult) \
  4571. (This)->lpVtbl -> GetRasErrorString(This,uRasErrorValue,pszErrorString,cchMax,pdwRASResult)
  4572. #define IRASTransport_FillConnectoidCombo(This,hwndComboBox,fUpdateOnly,pdwRASResult) \
  4573. (This)->lpVtbl -> FillConnectoidCombo(This,hwndComboBox,fUpdateOnly,pdwRASResult)
  4574. #define IRASTransport_EditConnectoid(This,hwndParent,pszConnectoid,pdwRASResult) \
  4575. (This)->lpVtbl -> EditConnectoid(This,hwndParent,pszConnectoid,pdwRASResult)
  4576. #define IRASTransport_CreateConnectoid(This,hwndParent,pdwRASResult) \
  4577. (This)->lpVtbl -> CreateConnectoid(This,hwndParent,pdwRASResult)
  4578. #endif /* COBJMACROS */
  4579. #endif /* C style interface */
  4580. HRESULT STDMETHODCALLTYPE IRASTransport_InitNew_Proxy(
  4581. IRASTransport * This,
  4582. /* [in] */ IRASCallback *pCallback);
  4583. void __RPC_STUB IRASTransport_InitNew_Stub(
  4584. IRpcStubBuffer *This,
  4585. IRpcChannelBuffer *_pRpcChannelBuffer,
  4586. PRPC_MESSAGE _pRpcMessage,
  4587. DWORD *_pdwStubPhase);
  4588. HRESULT STDMETHODCALLTYPE IRASTransport_GetCurrentConnectoid_Proxy(
  4589. IRASTransport * This,
  4590. /* [ref][in] */ LPSTR pszConnectoid,
  4591. /* [in] */ ULONG cchMax);
  4592. void __RPC_STUB IRASTransport_GetCurrentConnectoid_Stub(
  4593. IRpcStubBuffer *This,
  4594. IRpcChannelBuffer *_pRpcChannelBuffer,
  4595. PRPC_MESSAGE _pRpcMessage,
  4596. DWORD *_pdwStubPhase);
  4597. HRESULT STDMETHODCALLTYPE IRASTransport_GetRasErrorString_Proxy(
  4598. IRASTransport * This,
  4599. /* [in] */ UINT uRasErrorValue,
  4600. /* [ref][in] */ LPSTR pszErrorString,
  4601. /* [in] */ ULONG cchMax,
  4602. /* [out] */ DWORD *pdwRASResult);
  4603. void __RPC_STUB IRASTransport_GetRasErrorString_Stub(
  4604. IRpcStubBuffer *This,
  4605. IRpcChannelBuffer *_pRpcChannelBuffer,
  4606. PRPC_MESSAGE _pRpcMessage,
  4607. DWORD *_pdwStubPhase);
  4608. HRESULT STDMETHODCALLTYPE IRASTransport_FillConnectoidCombo_Proxy(
  4609. IRASTransport * This,
  4610. /* [in] */ HWND hwndComboBox,
  4611. /* [in] */ boolean fUpdateOnly,
  4612. /* [out] */ DWORD *pdwRASResult);
  4613. void __RPC_STUB IRASTransport_FillConnectoidCombo_Stub(
  4614. IRpcStubBuffer *This,
  4615. IRpcChannelBuffer *_pRpcChannelBuffer,
  4616. PRPC_MESSAGE _pRpcMessage,
  4617. DWORD *_pdwStubPhase);
  4618. HRESULT STDMETHODCALLTYPE IRASTransport_EditConnectoid_Proxy(
  4619. IRASTransport * This,
  4620. /* [in] */ HWND hwndParent,
  4621. /* [in] */ LPSTR pszConnectoid,
  4622. /* [out] */ DWORD *pdwRASResult);
  4623. void __RPC_STUB IRASTransport_EditConnectoid_Stub(
  4624. IRpcStubBuffer *This,
  4625. IRpcChannelBuffer *_pRpcChannelBuffer,
  4626. PRPC_MESSAGE _pRpcMessage,
  4627. DWORD *_pdwStubPhase);
  4628. HRESULT STDMETHODCALLTYPE IRASTransport_CreateConnectoid_Proxy(
  4629. IRASTransport * This,
  4630. /* [in] */ HWND hwndParent,
  4631. /* [out] */ DWORD *pdwRASResult);
  4632. void __RPC_STUB IRASTransport_CreateConnectoid_Stub(
  4633. IRpcStubBuffer *This,
  4634. IRpcChannelBuffer *_pRpcChannelBuffer,
  4635. PRPC_MESSAGE _pRpcMessage,
  4636. DWORD *_pdwStubPhase);
  4637. #endif /* __IRASTransport_INTERFACE_DEFINED__ */
  4638. #ifndef __IRangeList_INTERFACE_DEFINED__
  4639. #define __IRangeList_INTERFACE_DEFINED__
  4640. /* interface IRangeList */
  4641. /* [object][local][helpstring][uuid] */
  4642. #define RL_RANGE_ERROR ( ( ULONG )-1 )
  4643. #define RL_LAST_MESSAGE ( ( ULONG )-1 )
  4644. EXTERN_C const IID IID_IRangeList;
  4645. #if defined(__cplusplus) && !defined(CINTERFACE)
  4646. MIDL_INTERFACE("8C438160-4EF6-11d0-874F-00AA00530EE9")
  4647. IRangeList : public IUnknown
  4648. {
  4649. public:
  4650. virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  4651. virtual HRESULT STDMETHODCALLTYPE IsInRange(
  4652. /* [in] */ const ULONG value) = 0;
  4653. virtual HRESULT STDMETHODCALLTYPE Min(
  4654. /* [out] */ ULONG *pulMin) = 0;
  4655. virtual HRESULT STDMETHODCALLTYPE Max(
  4656. /* [out] */ ULONG *pulMax) = 0;
  4657. virtual HRESULT STDMETHODCALLTYPE Save(
  4658. /* [out] */ byte **ppbDestination,
  4659. /* [out] */ ULONG *pulSizeOfDestination) = 0;
  4660. virtual HRESULT STDMETHODCALLTYPE Load(
  4661. /* [size_is][in] */ byte *pbSource,
  4662. /* [in] */ const ULONG ulSizeOfSource) = 0;
  4663. virtual HRESULT STDMETHODCALLTYPE AddRange(
  4664. /* [in] */ const ULONG low,
  4665. /* [in] */ const ULONG high) = 0;
  4666. virtual HRESULT STDMETHODCALLTYPE AddSingleValue(
  4667. /* [in] */ const ULONG value) = 0;
  4668. virtual HRESULT STDMETHODCALLTYPE AddRangeList(
  4669. /* [in] */ const IRangeList *prl) = 0;
  4670. virtual HRESULT STDMETHODCALLTYPE DeleteRange(
  4671. /* [in] */ const ULONG low,
  4672. /* [in] */ const ULONG high) = 0;
  4673. virtual HRESULT STDMETHODCALLTYPE DeleteSingleValue(
  4674. /* [in] */ const ULONG value) = 0;
  4675. virtual HRESULT STDMETHODCALLTYPE DeleteRangeList(
  4676. /* [in] */ const IRangeList *prl) = 0;
  4677. virtual HRESULT STDMETHODCALLTYPE MinOfRange(
  4678. /* [in] */ const ULONG value,
  4679. /* [out] */ ULONG *pulMinOfRange) = 0;
  4680. virtual HRESULT STDMETHODCALLTYPE MaxOfRange(
  4681. /* [in] */ const ULONG value,
  4682. /* [out] */ ULONG *pulMaxOfRange) = 0;
  4683. virtual HRESULT STDMETHODCALLTYPE RangeToIMAPString(
  4684. /* [out] */ LPSTR *ppszDestination,
  4685. /* [out] */ LPDWORD pdwLengthOfDestination) = 0;
  4686. virtual HRESULT STDMETHODCALLTYPE Next(
  4687. /* [in] */ const ULONG current,
  4688. /* [out] */ ULONG *pulNext) = 0;
  4689. virtual HRESULT STDMETHODCALLTYPE Prev(
  4690. /* [in] */ const ULONG current,
  4691. /* [out] */ ULONG *pulPrev) = 0;
  4692. virtual HRESULT STDMETHODCALLTYPE Cardinality(
  4693. ULONG *pulCardinality) = 0;
  4694. virtual HRESULT STDMETHODCALLTYPE CardinalityFrom(
  4695. /* [in] */ const ULONG ulStartPoint,
  4696. /* [out] */ ULONG *pulCardinalityFrom) = 0;
  4697. };
  4698. #else /* C style interface */
  4699. typedef struct IRangeListVtbl
  4700. {
  4701. BEGIN_INTERFACE
  4702. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4703. IRangeList * This,
  4704. /* [in] */ REFIID riid,
  4705. /* [iid_is][out] */ void **ppvObject);
  4706. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4707. IRangeList * This);
  4708. ULONG ( STDMETHODCALLTYPE *Release )(
  4709. IRangeList * This);
  4710. HRESULT ( STDMETHODCALLTYPE *Clear )(
  4711. IRangeList * This);
  4712. HRESULT ( STDMETHODCALLTYPE *IsInRange )(
  4713. IRangeList * This,
  4714. /* [in] */ const ULONG value);
  4715. HRESULT ( STDMETHODCALLTYPE *Min )(
  4716. IRangeList * This,
  4717. /* [out] */ ULONG *pulMin);
  4718. HRESULT ( STDMETHODCALLTYPE *Max )(
  4719. IRangeList * This,
  4720. /* [out] */ ULONG *pulMax);
  4721. HRESULT ( STDMETHODCALLTYPE *Save )(
  4722. IRangeList * This,
  4723. /* [out] */ byte **ppbDestination,
  4724. /* [out] */ ULONG *pulSizeOfDestination);
  4725. HRESULT ( STDMETHODCALLTYPE *Load )(
  4726. IRangeList * This,
  4727. /* [size_is][in] */ byte *pbSource,
  4728. /* [in] */ const ULONG ulSizeOfSource);
  4729. HRESULT ( STDMETHODCALLTYPE *AddRange )(
  4730. IRangeList * This,
  4731. /* [in] */ const ULONG low,
  4732. /* [in] */ const ULONG high);
  4733. HRESULT ( STDMETHODCALLTYPE *AddSingleValue )(
  4734. IRangeList * This,
  4735. /* [in] */ const ULONG value);
  4736. HRESULT ( STDMETHODCALLTYPE *AddRangeList )(
  4737. IRangeList * This,
  4738. /* [in] */ const IRangeList *prl);
  4739. HRESULT ( STDMETHODCALLTYPE *DeleteRange )(
  4740. IRangeList * This,
  4741. /* [in] */ const ULONG low,
  4742. /* [in] */ const ULONG high);
  4743. HRESULT ( STDMETHODCALLTYPE *DeleteSingleValue )(
  4744. IRangeList * This,
  4745. /* [in] */ const ULONG value);
  4746. HRESULT ( STDMETHODCALLTYPE *DeleteRangeList )(
  4747. IRangeList * This,
  4748. /* [in] */ const IRangeList *prl);
  4749. HRESULT ( STDMETHODCALLTYPE *MinOfRange )(
  4750. IRangeList * This,
  4751. /* [in] */ const ULONG value,
  4752. /* [out] */ ULONG *pulMinOfRange);
  4753. HRESULT ( STDMETHODCALLTYPE *MaxOfRange )(
  4754. IRangeList * This,
  4755. /* [in] */ const ULONG value,
  4756. /* [out] */ ULONG *pulMaxOfRange);
  4757. HRESULT ( STDMETHODCALLTYPE *RangeToIMAPString )(
  4758. IRangeList * This,
  4759. /* [out] */ LPSTR *ppszDestination,
  4760. /* [out] */ LPDWORD pdwLengthOfDestination);
  4761. HRESULT ( STDMETHODCALLTYPE *Next )(
  4762. IRangeList * This,
  4763. /* [in] */ const ULONG current,
  4764. /* [out] */ ULONG *pulNext);
  4765. HRESULT ( STDMETHODCALLTYPE *Prev )(
  4766. IRangeList * This,
  4767. /* [in] */ const ULONG current,
  4768. /* [out] */ ULONG *pulPrev);
  4769. HRESULT ( STDMETHODCALLTYPE *Cardinality )(
  4770. IRangeList * This,
  4771. ULONG *pulCardinality);
  4772. HRESULT ( STDMETHODCALLTYPE *CardinalityFrom )(
  4773. IRangeList * This,
  4774. /* [in] */ const ULONG ulStartPoint,
  4775. /* [out] */ ULONG *pulCardinalityFrom);
  4776. END_INTERFACE
  4777. } IRangeListVtbl;
  4778. interface IRangeList
  4779. {
  4780. CONST_VTBL struct IRangeListVtbl *lpVtbl;
  4781. };
  4782. #ifdef COBJMACROS
  4783. #define IRangeList_QueryInterface(This,riid,ppvObject) \
  4784. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4785. #define IRangeList_AddRef(This) \
  4786. (This)->lpVtbl -> AddRef(This)
  4787. #define IRangeList_Release(This) \
  4788. (This)->lpVtbl -> Release(This)
  4789. #define IRangeList_Clear(This) \
  4790. (This)->lpVtbl -> Clear(This)
  4791. #define IRangeList_IsInRange(This,value) \
  4792. (This)->lpVtbl -> IsInRange(This,value)
  4793. #define IRangeList_Min(This,pulMin) \
  4794. (This)->lpVtbl -> Min(This,pulMin)
  4795. #define IRangeList_Max(This,pulMax) \
  4796. (This)->lpVtbl -> Max(This,pulMax)
  4797. #define IRangeList_Save(This,ppbDestination,pulSizeOfDestination) \
  4798. (This)->lpVtbl -> Save(This,ppbDestination,pulSizeOfDestination)
  4799. #define IRangeList_Load(This,pbSource,ulSizeOfSource) \
  4800. (This)->lpVtbl -> Load(This,pbSource,ulSizeOfSource)
  4801. #define IRangeList_AddRange(This,low,high) \
  4802. (This)->lpVtbl -> AddRange(This,low,high)
  4803. #define IRangeList_AddSingleValue(This,value) \
  4804. (This)->lpVtbl -> AddSingleValue(This,value)
  4805. #define IRangeList_AddRangeList(This,prl) \
  4806. (This)->lpVtbl -> AddRangeList(This,prl)
  4807. #define IRangeList_DeleteRange(This,low,high) \
  4808. (This)->lpVtbl -> DeleteRange(This,low,high)
  4809. #define IRangeList_DeleteSingleValue(This,value) \
  4810. (This)->lpVtbl -> DeleteSingleValue(This,value)
  4811. #define IRangeList_DeleteRangeList(This,prl) \
  4812. (This)->lpVtbl -> DeleteRangeList(This,prl)
  4813. #define IRangeList_MinOfRange(This,value,pulMinOfRange) \
  4814. (This)->lpVtbl -> MinOfRange(This,value,pulMinOfRange)
  4815. #define IRangeList_MaxOfRange(This,value,pulMaxOfRange) \
  4816. (This)->lpVtbl -> MaxOfRange(This,value,pulMaxOfRange)
  4817. #define IRangeList_RangeToIMAPString(This,ppszDestination,pdwLengthOfDestination) \
  4818. (This)->lpVtbl -> RangeToIMAPString(This,ppszDestination,pdwLengthOfDestination)
  4819. #define IRangeList_Next(This,current,pulNext) \
  4820. (This)->lpVtbl -> Next(This,current,pulNext)
  4821. #define IRangeList_Prev(This,current,pulPrev) \
  4822. (This)->lpVtbl -> Prev(This,current,pulPrev)
  4823. #define IRangeList_Cardinality(This,pulCardinality) \
  4824. (This)->lpVtbl -> Cardinality(This,pulCardinality)
  4825. #define IRangeList_CardinalityFrom(This,ulStartPoint,pulCardinalityFrom) \
  4826. (This)->lpVtbl -> CardinalityFrom(This,ulStartPoint,pulCardinalityFrom)
  4827. #endif /* COBJMACROS */
  4828. #endif /* C style interface */
  4829. HRESULT STDMETHODCALLTYPE IRangeList_Clear_Proxy(
  4830. IRangeList * This);
  4831. void __RPC_STUB IRangeList_Clear_Stub(
  4832. IRpcStubBuffer *This,
  4833. IRpcChannelBuffer *_pRpcChannelBuffer,
  4834. PRPC_MESSAGE _pRpcMessage,
  4835. DWORD *_pdwStubPhase);
  4836. HRESULT STDMETHODCALLTYPE IRangeList_IsInRange_Proxy(
  4837. IRangeList * This,
  4838. /* [in] */ const ULONG value);
  4839. void __RPC_STUB IRangeList_IsInRange_Stub(
  4840. IRpcStubBuffer *This,
  4841. IRpcChannelBuffer *_pRpcChannelBuffer,
  4842. PRPC_MESSAGE _pRpcMessage,
  4843. DWORD *_pdwStubPhase);
  4844. HRESULT STDMETHODCALLTYPE IRangeList_Min_Proxy(
  4845. IRangeList * This,
  4846. /* [out] */ ULONG *pulMin);
  4847. void __RPC_STUB IRangeList_Min_Stub(
  4848. IRpcStubBuffer *This,
  4849. IRpcChannelBuffer *_pRpcChannelBuffer,
  4850. PRPC_MESSAGE _pRpcMessage,
  4851. DWORD *_pdwStubPhase);
  4852. HRESULT STDMETHODCALLTYPE IRangeList_Max_Proxy(
  4853. IRangeList * This,
  4854. /* [out] */ ULONG *pulMax);
  4855. void __RPC_STUB IRangeList_Max_Stub(
  4856. IRpcStubBuffer *This,
  4857. IRpcChannelBuffer *_pRpcChannelBuffer,
  4858. PRPC_MESSAGE _pRpcMessage,
  4859. DWORD *_pdwStubPhase);
  4860. HRESULT STDMETHODCALLTYPE IRangeList_Save_Proxy(
  4861. IRangeList * This,
  4862. /* [out] */ byte **ppbDestination,
  4863. /* [out] */ ULONG *pulSizeOfDestination);
  4864. void __RPC_STUB IRangeList_Save_Stub(
  4865. IRpcStubBuffer *This,
  4866. IRpcChannelBuffer *_pRpcChannelBuffer,
  4867. PRPC_MESSAGE _pRpcMessage,
  4868. DWORD *_pdwStubPhase);
  4869. HRESULT STDMETHODCALLTYPE IRangeList_Load_Proxy(
  4870. IRangeList * This,
  4871. /* [size_is][in] */ byte *pbSource,
  4872. /* [in] */ const ULONG ulSizeOfSource);
  4873. void __RPC_STUB IRangeList_Load_Stub(
  4874. IRpcStubBuffer *This,
  4875. IRpcChannelBuffer *_pRpcChannelBuffer,
  4876. PRPC_MESSAGE _pRpcMessage,
  4877. DWORD *_pdwStubPhase);
  4878. HRESULT STDMETHODCALLTYPE IRangeList_AddRange_Proxy(
  4879. IRangeList * This,
  4880. /* [in] */ const ULONG low,
  4881. /* [in] */ const ULONG high);
  4882. void __RPC_STUB IRangeList_AddRange_Stub(
  4883. IRpcStubBuffer *This,
  4884. IRpcChannelBuffer *_pRpcChannelBuffer,
  4885. PRPC_MESSAGE _pRpcMessage,
  4886. DWORD *_pdwStubPhase);
  4887. HRESULT STDMETHODCALLTYPE IRangeList_AddSingleValue_Proxy(
  4888. IRangeList * This,
  4889. /* [in] */ const ULONG value);
  4890. void __RPC_STUB IRangeList_AddSingleValue_Stub(
  4891. IRpcStubBuffer *This,
  4892. IRpcChannelBuffer *_pRpcChannelBuffer,
  4893. PRPC_MESSAGE _pRpcMessage,
  4894. DWORD *_pdwStubPhase);
  4895. HRESULT STDMETHODCALLTYPE IRangeList_AddRangeList_Proxy(
  4896. IRangeList * This,
  4897. /* [in] */ const IRangeList *prl);
  4898. void __RPC_STUB IRangeList_AddRangeList_Stub(
  4899. IRpcStubBuffer *This,
  4900. IRpcChannelBuffer *_pRpcChannelBuffer,
  4901. PRPC_MESSAGE _pRpcMessage,
  4902. DWORD *_pdwStubPhase);
  4903. HRESULT STDMETHODCALLTYPE IRangeList_DeleteRange_Proxy(
  4904. IRangeList * This,
  4905. /* [in] */ const ULONG low,
  4906. /* [in] */ const ULONG high);
  4907. void __RPC_STUB IRangeList_DeleteRange_Stub(
  4908. IRpcStubBuffer *This,
  4909. IRpcChannelBuffer *_pRpcChannelBuffer,
  4910. PRPC_MESSAGE _pRpcMessage,
  4911. DWORD *_pdwStubPhase);
  4912. HRESULT STDMETHODCALLTYPE IRangeList_DeleteSingleValue_Proxy(
  4913. IRangeList * This,
  4914. /* [in] */ const ULONG value);
  4915. void __RPC_STUB IRangeList_DeleteSingleValue_Stub(
  4916. IRpcStubBuffer *This,
  4917. IRpcChannelBuffer *_pRpcChannelBuffer,
  4918. PRPC_MESSAGE _pRpcMessage,
  4919. DWORD *_pdwStubPhase);
  4920. HRESULT STDMETHODCALLTYPE IRangeList_DeleteRangeList_Proxy(
  4921. IRangeList * This,
  4922. /* [in] */ const IRangeList *prl);
  4923. void __RPC_STUB IRangeList_DeleteRangeList_Stub(
  4924. IRpcStubBuffer *This,
  4925. IRpcChannelBuffer *_pRpcChannelBuffer,
  4926. PRPC_MESSAGE _pRpcMessage,
  4927. DWORD *_pdwStubPhase);
  4928. HRESULT STDMETHODCALLTYPE IRangeList_MinOfRange_Proxy(
  4929. IRangeList * This,
  4930. /* [in] */ const ULONG value,
  4931. /* [out] */ ULONG *pulMinOfRange);
  4932. void __RPC_STUB IRangeList_MinOfRange_Stub(
  4933. IRpcStubBuffer *This,
  4934. IRpcChannelBuffer *_pRpcChannelBuffer,
  4935. PRPC_MESSAGE _pRpcMessage,
  4936. DWORD *_pdwStubPhase);
  4937. HRESULT STDMETHODCALLTYPE IRangeList_MaxOfRange_Proxy(
  4938. IRangeList * This,
  4939. /* [in] */ const ULONG value,
  4940. /* [out] */ ULONG *pulMaxOfRange);
  4941. void __RPC_STUB IRangeList_MaxOfRange_Stub(
  4942. IRpcStubBuffer *This,
  4943. IRpcChannelBuffer *_pRpcChannelBuffer,
  4944. PRPC_MESSAGE _pRpcMessage,
  4945. DWORD *_pdwStubPhase);
  4946. HRESULT STDMETHODCALLTYPE IRangeList_RangeToIMAPString_Proxy(
  4947. IRangeList * This,
  4948. /* [out] */ LPSTR *ppszDestination,
  4949. /* [out] */ LPDWORD pdwLengthOfDestination);
  4950. void __RPC_STUB IRangeList_RangeToIMAPString_Stub(
  4951. IRpcStubBuffer *This,
  4952. IRpcChannelBuffer *_pRpcChannelBuffer,
  4953. PRPC_MESSAGE _pRpcMessage,
  4954. DWORD *_pdwStubPhase);
  4955. HRESULT STDMETHODCALLTYPE IRangeList_Next_Proxy(
  4956. IRangeList * This,
  4957. /* [in] */ const ULONG current,
  4958. /* [out] */ ULONG *pulNext);
  4959. void __RPC_STUB IRangeList_Next_Stub(
  4960. IRpcStubBuffer *This,
  4961. IRpcChannelBuffer *_pRpcChannelBuffer,
  4962. PRPC_MESSAGE _pRpcMessage,
  4963. DWORD *_pdwStubPhase);
  4964. HRESULT STDMETHODCALLTYPE IRangeList_Prev_Proxy(
  4965. IRangeList * This,
  4966. /* [in] */ const ULONG current,
  4967. /* [out] */ ULONG *pulPrev);
  4968. void __RPC_STUB IRangeList_Prev_Stub(
  4969. IRpcStubBuffer *This,
  4970. IRpcChannelBuffer *_pRpcChannelBuffer,
  4971. PRPC_MESSAGE _pRpcMessage,
  4972. DWORD *_pdwStubPhase);
  4973. HRESULT STDMETHODCALLTYPE IRangeList_Cardinality_Proxy(
  4974. IRangeList * This,
  4975. ULONG *pulCardinality);
  4976. void __RPC_STUB IRangeList_Cardinality_Stub(
  4977. IRpcStubBuffer *This,
  4978. IRpcChannelBuffer *_pRpcChannelBuffer,
  4979. PRPC_MESSAGE _pRpcMessage,
  4980. DWORD *_pdwStubPhase);
  4981. HRESULT STDMETHODCALLTYPE IRangeList_CardinalityFrom_Proxy(
  4982. IRangeList * This,
  4983. /* [in] */ const ULONG ulStartPoint,
  4984. /* [out] */ ULONG *pulCardinalityFrom);
  4985. void __RPC_STUB IRangeList_CardinalityFrom_Stub(
  4986. IRpcStubBuffer *This,
  4987. IRpcChannelBuffer *_pRpcChannelBuffer,
  4988. PRPC_MESSAGE _pRpcMessage,
  4989. DWORD *_pdwStubPhase);
  4990. #endif /* __IRangeList_INTERFACE_DEFINED__ */
  4991. #ifndef __IIMAPCallback_INTERFACE_DEFINED__
  4992. #define __IIMAPCallback_INTERFACE_DEFINED__
  4993. /* interface IIMAPCallback */
  4994. /* [object][local][helpstring][uuid] */
  4995. typedef DWORD IMAP_MBOXFLAGS;
  4996. #define IMAP_MBOX_NOFLAGS ( 0 )
  4997. #define IMAP_MBOX_MARKED ( 0x1 )
  4998. #define IMAP_MBOX_NOINFERIORS ( 0x2 )
  4999. #define IMAP_MBOX_NOSELECT ( 0x4 )
  5000. #define IMAP_MBOX_UNMARKED ( 0x8 )
  5001. #define IMAP_MBOX_ALLFLAGS ( 0xf )
  5002. typedef
  5003. enum tagIMAP_RESPONSE_TYPE
  5004. { irtERROR_NOTIFICATION = 0,
  5005. irtCOMMAND_COMPLETION = irtERROR_NOTIFICATION + 1,
  5006. irtSERVER_ALERT = irtCOMMAND_COMPLETION + 1,
  5007. irtPARSE_ERROR = irtSERVER_ALERT + 1,
  5008. irtMAILBOX_UPDATE = irtPARSE_ERROR + 1,
  5009. irtDELETED_MSG = irtMAILBOX_UPDATE + 1,
  5010. irtFETCH_BODY = irtDELETED_MSG + 1,
  5011. irtUPDATE_MSG = irtFETCH_BODY + 1,
  5012. irtAPPLICABLE_FLAGS = irtUPDATE_MSG + 1,
  5013. irtPERMANENT_FLAGS = irtAPPLICABLE_FLAGS + 1,
  5014. irtUIDVALIDITY = irtPERMANENT_FLAGS + 1,
  5015. irtREADWRITE_STATUS = irtUIDVALIDITY + 1,
  5016. irtTRYCREATE = irtREADWRITE_STATUS + 1,
  5017. irtSEARCH = irtTRYCREATE + 1,
  5018. irtMAILBOX_LISTING = irtSEARCH + 1,
  5019. irtMAILBOX_STATUS = irtMAILBOX_LISTING + 1,
  5020. irtAPPEND_PROGRESS = irtMAILBOX_STATUS + 1,
  5021. irtUPDATE_MSG_EX = irtAPPEND_PROGRESS + 1
  5022. } IMAP_RESPONSE_TYPE;
  5023. typedef struct tagFETCH_BODY_PART
  5024. {
  5025. DWORD dwMsgSeqNum;
  5026. LPSTR pszBodyTag;
  5027. DWORD dwTotalBytes;
  5028. DWORD dwSizeOfData;
  5029. DWORD dwOffset;
  5030. BOOL fDone;
  5031. LPSTR pszData;
  5032. LPARAM lpFetchCookie1;
  5033. LPARAM lpFetchCookie2;
  5034. } FETCH_BODY_PART;
  5035. typedef struct tagFETCH_CMD_RESULTS
  5036. {
  5037. DWORD dwMsgSeqNum;
  5038. BOOL bMsgFlags;
  5039. IMAP_MSGFLAGS mfMsgFlags;
  5040. BOOL bRFC822Size;
  5041. DWORD dwRFC822Size;
  5042. BOOL bUID;
  5043. DWORD dwUID;
  5044. BOOL bInternalDate;
  5045. FILETIME ftInternalDate;
  5046. LPARAM lpFetchCookie1;
  5047. LPARAM lpFetchCookie2;
  5048. } FETCH_CMD_RESULTS;
  5049. typedef struct tagIMAPADDR
  5050. {
  5051. LPSTR pszName;
  5052. LPSTR pszADL;
  5053. LPSTR pszMailbox;
  5054. LPSTR pszHost;
  5055. struct tagIMAPADDR *pNext;
  5056. } IMAPADDR;
  5057. typedef struct tagFETCH_CMD_RESULTS_EX
  5058. {
  5059. DWORD dwMsgSeqNum;
  5060. BOOL bMsgFlags;
  5061. IMAP_MSGFLAGS mfMsgFlags;
  5062. BOOL bRFC822Size;
  5063. DWORD dwRFC822Size;
  5064. BOOL bUID;
  5065. DWORD dwUID;
  5066. BOOL bInternalDate;
  5067. FILETIME ftInternalDate;
  5068. LPARAM lpFetchCookie1;
  5069. LPARAM lpFetchCookie2;
  5070. BOOL bEnvelope;
  5071. FILETIME ftENVDate;
  5072. LPSTR pszENVSubject;
  5073. IMAPADDR *piaENVFrom;
  5074. IMAPADDR *piaENVSender;
  5075. IMAPADDR *piaENVReplyTo;
  5076. IMAPADDR *piaENVTo;
  5077. IMAPADDR *piaENVCc;
  5078. IMAPADDR *piaENVBcc;
  5079. LPSTR pszENVInReplyTo;
  5080. LPSTR pszENVMessageID;
  5081. DWORD dwReserved1;
  5082. DWORD dwReserved2;
  5083. DWORD dwReserved3;
  5084. } FETCH_CMD_RESULTS_EX;
  5085. typedef struct tagMBOX_MSGCOUNT
  5086. {
  5087. BOOL bGotExistsResponse;
  5088. DWORD dwExists;
  5089. BOOL bGotRecentResponse;
  5090. DWORD dwRecent;
  5091. BOOL bGotUnseenResponse;
  5092. DWORD dwUnseen;
  5093. } MBOX_MSGCOUNT;
  5094. typedef struct tagIMAP_LISTLSUB_RESPONSE
  5095. {
  5096. LPSTR pszMailboxName;
  5097. IMAP_MBOXFLAGS imfMboxFlags;
  5098. char cHierarchyChar;
  5099. } IMAP_LISTLSUB_RESPONSE;
  5100. typedef struct tagIMAP_STATUS_RESPONSE
  5101. {
  5102. LPSTR pszMailboxName;
  5103. BOOL fMessages;
  5104. DWORD dwMessages;
  5105. BOOL fRecent;
  5106. DWORD dwRecent;
  5107. BOOL fUIDNext;
  5108. DWORD dwUIDNext;
  5109. BOOL fUIDValidity;
  5110. DWORD dwUIDValidity;
  5111. BOOL fUnseen;
  5112. DWORD dwUnseen;
  5113. } IMAP_STATUS_RESPONSE;
  5114. typedef struct tagAPPEND_PROGRESS
  5115. {
  5116. DWORD dwUploaded;
  5117. DWORD dwTotal;
  5118. } APPEND_PROGRESS;
  5119. typedef /* [switch_type] */ union tagIMAP_RESPONSE_DATA
  5120. {
  5121. /* [case()] */ MBOX_MSGCOUNT *pmcMsgCount;
  5122. /* [case()] */ DWORD dwDeletedMsgSeqNum;
  5123. /* [case()] */ FETCH_BODY_PART *pFetchBodyPart;
  5124. /* [case()] */ FETCH_CMD_RESULTS *pFetchResults;
  5125. /* [case()] */ IMAP_MSGFLAGS imfImapMessageFlags;
  5126. /* [case()] */ DWORD dwUIDValidity;
  5127. /* [case()] */ BOOL bReadWrite;
  5128. /* [case()] */ IRangeList *prlSearchResults;
  5129. /* [case()] */ IMAP_LISTLSUB_RESPONSE illrdMailboxListing;
  5130. /* [case()] */ IMAP_STATUS_RESPONSE *pisrStatusResponse;
  5131. /* [case()] */ APPEND_PROGRESS *papAppendProgress;
  5132. /* [case()] */ FETCH_CMD_RESULTS_EX *pFetchResultsEx;
  5133. } IMAP_RESPONSE_DATA;
  5134. typedef struct tagIMAP_RESPONSE
  5135. {
  5136. WPARAM wParam;
  5137. LPARAM lParam;
  5138. HRESULT hrResult;
  5139. LPSTR lpszResponseText;
  5140. IMAP_RESPONSE_TYPE irtResponseType;
  5141. /* [switch_is] */ IMAP_RESPONSE_DATA irdResponseData;
  5142. } IMAP_RESPONSE;
  5143. EXTERN_C const IID IID_IIMAPCallback;
  5144. #if defined(__cplusplus) && !defined(CINTERFACE)
  5145. MIDL_INTERFACE("E9E9D8A3-4EDD-11d0-874F-00AA00530EE9")
  5146. IIMAPCallback : public ITransportCallback
  5147. {
  5148. public:
  5149. virtual HRESULT STDMETHODCALLTYPE OnResponse(
  5150. /* [in] */ const IMAP_RESPONSE *pirIMAPResponse) = 0;
  5151. };
  5152. #else /* C style interface */
  5153. typedef struct IIMAPCallbackVtbl
  5154. {
  5155. BEGIN_INTERFACE
  5156. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5157. IIMAPCallback * This,
  5158. /* [in] */ REFIID riid,
  5159. /* [iid_is][out] */ void **ppvObject);
  5160. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5161. IIMAPCallback * This);
  5162. ULONG ( STDMETHODCALLTYPE *Release )(
  5163. IIMAPCallback * This);
  5164. HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
  5165. IIMAPCallback * This,
  5166. /* [out][in] */ DWORD *pdwTimeout,
  5167. /* [in] */ IInternetTransport *pTransport);
  5168. HRESULT ( STDMETHODCALLTYPE *OnLogonPrompt )(
  5169. IIMAPCallback * This,
  5170. /* [out][in] */ LPINETSERVER pInetServer,
  5171. /* [in] */ IInternetTransport *pTransport);
  5172. INT ( STDMETHODCALLTYPE *OnPrompt )(
  5173. IIMAPCallback * This,
  5174. /* [in] */ HRESULT hrError,
  5175. /* [in] */ LPCTSTR pszText,
  5176. /* [in] */ LPCTSTR pszCaption,
  5177. /* [in] */ UINT uType,
  5178. /* [in] */ IInternetTransport *pTransport);
  5179. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  5180. IIMAPCallback * This,
  5181. /* [in] */ IXPSTATUS ixpstatus,
  5182. /* [in] */ IInternetTransport *pTransport);
  5183. HRESULT ( STDMETHODCALLTYPE *OnError )(
  5184. IIMAPCallback * This,
  5185. /* [in] */ IXPSTATUS ixpstatus,
  5186. /* [in] */ LPIXPRESULT pResult,
  5187. /* [in] */ IInternetTransport *pTransport);
  5188. HRESULT ( STDMETHODCALLTYPE *OnCommand )(
  5189. IIMAPCallback * This,
  5190. /* [in] */ CMDTYPE cmdtype,
  5191. /* [in] */ LPSTR pszLine,
  5192. /* [in] */ HRESULT hrResponse,
  5193. /* [in] */ IInternetTransport *pTransport);
  5194. HRESULT ( STDMETHODCALLTYPE *OnResponse )(
  5195. IIMAPCallback * This,
  5196. /* [in] */ const IMAP_RESPONSE *pirIMAPResponse);
  5197. END_INTERFACE
  5198. } IIMAPCallbackVtbl;
  5199. interface IIMAPCallback
  5200. {
  5201. CONST_VTBL struct IIMAPCallbackVtbl *lpVtbl;
  5202. };
  5203. #ifdef COBJMACROS
  5204. #define IIMAPCallback_QueryInterface(This,riid,ppvObject) \
  5205. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5206. #define IIMAPCallback_AddRef(This) \
  5207. (This)->lpVtbl -> AddRef(This)
  5208. #define IIMAPCallback_Release(This) \
  5209. (This)->lpVtbl -> Release(This)
  5210. #define IIMAPCallback_OnTimeout(This,pdwTimeout,pTransport) \
  5211. (This)->lpVtbl -> OnTimeout(This,pdwTimeout,pTransport)
  5212. #define IIMAPCallback_OnLogonPrompt(This,pInetServer,pTransport) \
  5213. (This)->lpVtbl -> OnLogonPrompt(This,pInetServer,pTransport)
  5214. #define IIMAPCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) \
  5215. (This)->lpVtbl -> OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport)
  5216. #define IIMAPCallback_OnStatus(This,ixpstatus,pTransport) \
  5217. (This)->lpVtbl -> OnStatus(This,ixpstatus,pTransport)
  5218. #define IIMAPCallback_OnError(This,ixpstatus,pResult,pTransport) \
  5219. (This)->lpVtbl -> OnError(This,ixpstatus,pResult,pTransport)
  5220. #define IIMAPCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) \
  5221. (This)->lpVtbl -> OnCommand(This,cmdtype,pszLine,hrResponse,pTransport)
  5222. #define IIMAPCallback_OnResponse(This,pirIMAPResponse) \
  5223. (This)->lpVtbl -> OnResponse(This,pirIMAPResponse)
  5224. #endif /* COBJMACROS */
  5225. #endif /* C style interface */
  5226. HRESULT STDMETHODCALLTYPE IIMAPCallback_OnResponse_Proxy(
  5227. IIMAPCallback * This,
  5228. /* [in] */ const IMAP_RESPONSE *pirIMAPResponse);
  5229. void __RPC_STUB IIMAPCallback_OnResponse_Stub(
  5230. IRpcStubBuffer *This,
  5231. IRpcChannelBuffer *_pRpcChannelBuffer,
  5232. PRPC_MESSAGE _pRpcMessage,
  5233. DWORD *_pdwStubPhase);
  5234. #endif /* __IIMAPCallback_INTERFACE_DEFINED__ */
  5235. #ifndef __IIMAPTransport_INTERFACE_DEFINED__
  5236. #define __IIMAPTransport_INTERFACE_DEFINED__
  5237. /* interface IIMAPTransport */
  5238. /* [object][local][helpstring][uuid] */
  5239. #define IMAP_CAPABILITY_IMAP4 ( 0x1 )
  5240. #define IMAP_CAPABILITY_IMAP4rev1 ( 0x2 )
  5241. #define IMAP_CAPABILITY_IDLE ( 0x4 )
  5242. #define IMAP_CAPABILITY_ALLFLAGS ( 0x7 )
  5243. EXTERN_C const IID IID_IIMAPTransport;
  5244. #if defined(__cplusplus) && !defined(CINTERFACE)
  5245. MIDL_INTERFACE("E9E9D8A8-4EDD-11d0-874F-00AA00530EE9")
  5246. IIMAPTransport : public IInternetTransport
  5247. {
  5248. public:
  5249. virtual HRESULT STDMETHODCALLTYPE InitNew(
  5250. /* [in] */ LPSTR pszLogFilePath,
  5251. /* [in] */ IIMAPCallback *pCBHandler) = 0;
  5252. virtual HRESULT STDMETHODCALLTYPE NewIRangeList(
  5253. /* [out] */ IRangeList **pprlNewRangeList) = 0;
  5254. virtual HRESULT STDMETHODCALLTYPE Capability(
  5255. /* [out] */ DWORD *pdwCapabilityFlags) = 0;
  5256. virtual HRESULT STDMETHODCALLTYPE Select(
  5257. /* [in] */ WPARAM wParam,
  5258. /* [in] */ LPARAM lParam,
  5259. /* [in] */ IIMAPCallback *pCBHandler,
  5260. /* [in] */ LPSTR lpszMailboxName) = 0;
  5261. virtual HRESULT STDMETHODCALLTYPE Examine(
  5262. /* [in] */ WPARAM wParam,
  5263. /* [in] */ LPARAM lParam,
  5264. /* [in] */ IIMAPCallback *pCBHandler,
  5265. /* [in] */ LPSTR lpszMailboxName) = 0;
  5266. virtual HRESULT STDMETHODCALLTYPE Create(
  5267. /* [in] */ WPARAM wParam,
  5268. /* [in] */ LPARAM lParam,
  5269. /* [in] */ IIMAPCallback *pCBHandler,
  5270. /* [in] */ LPSTR lpszMailboxName) = 0;
  5271. virtual HRESULT STDMETHODCALLTYPE Delete(
  5272. /* [in] */ WPARAM wParam,
  5273. /* [in] */ LPARAM lParam,
  5274. /* [in] */ IIMAPCallback *pCBHandler,
  5275. /* [in] */ LPSTR lpszMailboxName) = 0;
  5276. virtual HRESULT STDMETHODCALLTYPE Rename(
  5277. /* [in] */ WPARAM wParam,
  5278. /* [in] */ LPARAM lParam,
  5279. /* [in] */ IIMAPCallback *pCBHandler,
  5280. /* [in] */ LPSTR lpszMailboxName,
  5281. /* [in] */ LPSTR lpszNewMailboxName) = 0;
  5282. virtual HRESULT STDMETHODCALLTYPE Subscribe(
  5283. /* [in] */ WPARAM wParam,
  5284. /* [in] */ LPARAM lParam,
  5285. /* [in] */ IIMAPCallback *pCBHandler,
  5286. /* [in] */ LPSTR lpszMailboxName) = 0;
  5287. virtual HRESULT STDMETHODCALLTYPE Unsubscribe(
  5288. /* [in] */ WPARAM wParam,
  5289. /* [in] */ LPARAM lParam,
  5290. /* [in] */ IIMAPCallback *pCBHandler,
  5291. /* [in] */ LPSTR lpszMailboxName) = 0;
  5292. virtual HRESULT STDMETHODCALLTYPE List(
  5293. /* [in] */ WPARAM wParam,
  5294. /* [in] */ LPARAM lParam,
  5295. /* [in] */ IIMAPCallback *pCBHandler,
  5296. /* [in] */ LPSTR lpszMailboxNameReference,
  5297. /* [in] */ LPSTR lpszMailboxNamePattern) = 0;
  5298. virtual HRESULT STDMETHODCALLTYPE Lsub(
  5299. /* [in] */ WPARAM wParam,
  5300. /* [in] */ LPARAM lParam,
  5301. /* [in] */ IIMAPCallback *pCBHandler,
  5302. /* [in] */ LPSTR lpszMailboxNameReference,
  5303. /* [in] */ LPSTR lpszMailboxNamePattern) = 0;
  5304. virtual HRESULT STDMETHODCALLTYPE Append(
  5305. /* [in] */ WPARAM wParam,
  5306. /* [in] */ LPARAM lParam,
  5307. /* [in] */ IIMAPCallback *pCBHandler,
  5308. /* [in] */ LPSTR lpszMailboxName,
  5309. /* [in] */ LPSTR lpszMessageFlags,
  5310. /* [in] */ FILETIME ftMessageDateTime,
  5311. /* [in] */ LPSTREAM lpstmMessageToSave) = 0;
  5312. virtual HRESULT STDMETHODCALLTYPE Close(
  5313. /* [in] */ WPARAM wParam,
  5314. /* [in] */ LPARAM lParam,
  5315. /* [in] */ IIMAPCallback *pCBHandler) = 0;
  5316. virtual HRESULT STDMETHODCALLTYPE Expunge(
  5317. /* [in] */ WPARAM wParam,
  5318. /* [in] */ LPARAM lParam,
  5319. /* [in] */ IIMAPCallback *pCBHandler) = 0;
  5320. virtual HRESULT STDMETHODCALLTYPE Search(
  5321. /* [in] */ WPARAM wParam,
  5322. /* [in] */ LPARAM lParam,
  5323. /* [in] */ IIMAPCallback *pCBHandler,
  5324. /* [in] */ LPSTR lpszSearchCriteria,
  5325. /* [in] */ boolean bReturnUIDs,
  5326. /* [in] */ IRangeList *pMsgRange,
  5327. /* [in] */ boolean bUIDRangeList) = 0;
  5328. virtual HRESULT STDMETHODCALLTYPE Fetch(
  5329. /* [in] */ WPARAM wParam,
  5330. /* [in] */ LPARAM lParam,
  5331. /* [in] */ IIMAPCallback *pCBHandler,
  5332. /* [in] */ IRangeList *pMsgRange,
  5333. /* [in] */ boolean bUIDMsgRange,
  5334. /* [in] */ LPSTR lpszFetchArgs) = 0;
  5335. virtual HRESULT STDMETHODCALLTYPE Store(
  5336. /* [in] */ WPARAM wParam,
  5337. /* [in] */ LPARAM lParam,
  5338. /* [in] */ IIMAPCallback *pCBHandler,
  5339. /* [in] */ IRangeList *pMsgRange,
  5340. /* [in] */ boolean bUIDRangeList,
  5341. /* [in] */ LPSTR lpszStoreArgs) = 0;
  5342. virtual HRESULT STDMETHODCALLTYPE Copy(
  5343. /* [in] */ WPARAM wParam,
  5344. /* [in] */ LPARAM lParam,
  5345. /* [in] */ IIMAPCallback *pCBHandler,
  5346. /* [in] */ IRangeList *pMsgRange,
  5347. /* [in] */ boolean bUIDRangeList,
  5348. /* [in] */ LPSTR lpszMailboxName) = 0;
  5349. virtual HRESULT STDMETHODCALLTYPE Noop(
  5350. /* [in] */ WPARAM wParam,
  5351. /* [in] */ LPARAM lParam,
  5352. /* [in] */ IIMAPCallback *pCBHandler) = 0;
  5353. virtual HRESULT STDMETHODCALLTYPE ResizeMsgSeqNumTable(
  5354. /* [in] */ DWORD dwSizeOfMbox) = 0;
  5355. virtual HRESULT STDMETHODCALLTYPE UpdateSeqNumToUID(
  5356. /* [in] */ DWORD dwMsgSeqNum,
  5357. /* [in] */ DWORD dwUID) = 0;
  5358. virtual HRESULT STDMETHODCALLTYPE RemoveSequenceNum(
  5359. /* [in] */ DWORD dwDeletedMsgSeqNum) = 0;
  5360. virtual HRESULT STDMETHODCALLTYPE MsgSeqNumToUID(
  5361. /* [in] */ DWORD dwMsgSeqNum,
  5362. /* [out] */ DWORD *pdwUID) = 0;
  5363. virtual HRESULT STDMETHODCALLTYPE GetMsgSeqNumToUIDArray(
  5364. /* [out] */ DWORD **ppdwMsgSeqNumToUIDArray,
  5365. /* [out] */ DWORD *pdwNumberOfElements) = 0;
  5366. virtual HRESULT STDMETHODCALLTYPE GetHighestMsgSeqNum(
  5367. /* [out] */ DWORD *pdwHighestMSN) = 0;
  5368. virtual HRESULT STDMETHODCALLTYPE ResetMsgSeqNumToUID( void) = 0;
  5369. virtual HRESULT STDMETHODCALLTYPE SetDefaultCBHandler(
  5370. /* [in] */ IIMAPCallback *pCBHandler) = 0;
  5371. virtual HRESULT STDMETHODCALLTYPE Status(
  5372. /* [in] */ WPARAM wParam,
  5373. /* [in] */ LPARAM lParam,
  5374. /* [in] */ IIMAPCallback *pCBHandler,
  5375. /* [in] */ LPSTR pszMailboxName,
  5376. /* [in] */ LPSTR pszStatusCmdArgs) = 0;
  5377. };
  5378. #else /* C style interface */
  5379. typedef struct IIMAPTransportVtbl
  5380. {
  5381. BEGIN_INTERFACE
  5382. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5383. IIMAPTransport * This,
  5384. /* [in] */ REFIID riid,
  5385. /* [iid_is][out] */ void **ppvObject);
  5386. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5387. IIMAPTransport * This);
  5388. ULONG ( STDMETHODCALLTYPE *Release )(
  5389. IIMAPTransport * This);
  5390. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  5391. IIMAPTransport * This,
  5392. /* [out][in] */ LPINETSERVER pInetServer);
  5393. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  5394. IIMAPTransport * This);
  5395. HRESULT ( STDMETHODCALLTYPE *IsState )(
  5396. IIMAPTransport * This,
  5397. /* [in] */ IXPISSTATE isstate);
  5398. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  5399. IIMAPTransport * This,
  5400. /* [in] */ IImnAccount *pAccount,
  5401. /* [out][in] */ LPINETSERVER pInetServer);
  5402. HRESULT ( STDMETHODCALLTYPE *Connect )(
  5403. IIMAPTransport * This,
  5404. /* [in] */ LPINETSERVER pInetServer,
  5405. /* [in] */ boolean fAuthenticate,
  5406. /* [in] */ boolean fCommandLogging);
  5407. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  5408. IIMAPTransport * This);
  5409. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  5410. IIMAPTransport * This);
  5411. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  5412. IIMAPTransport * This);
  5413. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  5414. IIMAPTransport * This,
  5415. /* [out] */ IXPSTATUS *pCurrentStatus);
  5416. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  5417. IIMAPTransport * This,
  5418. /* [in] */ LPSTR pszLogFilePath,
  5419. /* [in] */ IIMAPCallback *pCBHandler);
  5420. HRESULT ( STDMETHODCALLTYPE *NewIRangeList )(
  5421. IIMAPTransport * This,
  5422. /* [out] */ IRangeList **pprlNewRangeList);
  5423. HRESULT ( STDMETHODCALLTYPE *Capability )(
  5424. IIMAPTransport * This,
  5425. /* [out] */ DWORD *pdwCapabilityFlags);
  5426. HRESULT ( STDMETHODCALLTYPE *Select )(
  5427. IIMAPTransport * This,
  5428. /* [in] */ WPARAM wParam,
  5429. /* [in] */ LPARAM lParam,
  5430. /* [in] */ IIMAPCallback *pCBHandler,
  5431. /* [in] */ LPSTR lpszMailboxName);
  5432. HRESULT ( STDMETHODCALLTYPE *Examine )(
  5433. IIMAPTransport * This,
  5434. /* [in] */ WPARAM wParam,
  5435. /* [in] */ LPARAM lParam,
  5436. /* [in] */ IIMAPCallback *pCBHandler,
  5437. /* [in] */ LPSTR lpszMailboxName);
  5438. HRESULT ( STDMETHODCALLTYPE *Create )(
  5439. IIMAPTransport * This,
  5440. /* [in] */ WPARAM wParam,
  5441. /* [in] */ LPARAM lParam,
  5442. /* [in] */ IIMAPCallback *pCBHandler,
  5443. /* [in] */ LPSTR lpszMailboxName);
  5444. HRESULT ( STDMETHODCALLTYPE *Delete )(
  5445. IIMAPTransport * This,
  5446. /* [in] */ WPARAM wParam,
  5447. /* [in] */ LPARAM lParam,
  5448. /* [in] */ IIMAPCallback *pCBHandler,
  5449. /* [in] */ LPSTR lpszMailboxName);
  5450. HRESULT ( STDMETHODCALLTYPE *Rename )(
  5451. IIMAPTransport * This,
  5452. /* [in] */ WPARAM wParam,
  5453. /* [in] */ LPARAM lParam,
  5454. /* [in] */ IIMAPCallback *pCBHandler,
  5455. /* [in] */ LPSTR lpszMailboxName,
  5456. /* [in] */ LPSTR lpszNewMailboxName);
  5457. HRESULT ( STDMETHODCALLTYPE *Subscribe )(
  5458. IIMAPTransport * This,
  5459. /* [in] */ WPARAM wParam,
  5460. /* [in] */ LPARAM lParam,
  5461. /* [in] */ IIMAPCallback *pCBHandler,
  5462. /* [in] */ LPSTR lpszMailboxName);
  5463. HRESULT ( STDMETHODCALLTYPE *Unsubscribe )(
  5464. IIMAPTransport * This,
  5465. /* [in] */ WPARAM wParam,
  5466. /* [in] */ LPARAM lParam,
  5467. /* [in] */ IIMAPCallback *pCBHandler,
  5468. /* [in] */ LPSTR lpszMailboxName);
  5469. HRESULT ( STDMETHODCALLTYPE *List )(
  5470. IIMAPTransport * This,
  5471. /* [in] */ WPARAM wParam,
  5472. /* [in] */ LPARAM lParam,
  5473. /* [in] */ IIMAPCallback *pCBHandler,
  5474. /* [in] */ LPSTR lpszMailboxNameReference,
  5475. /* [in] */ LPSTR lpszMailboxNamePattern);
  5476. HRESULT ( STDMETHODCALLTYPE *Lsub )(
  5477. IIMAPTransport * This,
  5478. /* [in] */ WPARAM wParam,
  5479. /* [in] */ LPARAM lParam,
  5480. /* [in] */ IIMAPCallback *pCBHandler,
  5481. /* [in] */ LPSTR lpszMailboxNameReference,
  5482. /* [in] */ LPSTR lpszMailboxNamePattern);
  5483. HRESULT ( STDMETHODCALLTYPE *Append )(
  5484. IIMAPTransport * This,
  5485. /* [in] */ WPARAM wParam,
  5486. /* [in] */ LPARAM lParam,
  5487. /* [in] */ IIMAPCallback *pCBHandler,
  5488. /* [in] */ LPSTR lpszMailboxName,
  5489. /* [in] */ LPSTR lpszMessageFlags,
  5490. /* [in] */ FILETIME ftMessageDateTime,
  5491. /* [in] */ LPSTREAM lpstmMessageToSave);
  5492. HRESULT ( STDMETHODCALLTYPE *Close )(
  5493. IIMAPTransport * This,
  5494. /* [in] */ WPARAM wParam,
  5495. /* [in] */ LPARAM lParam,
  5496. /* [in] */ IIMAPCallback *pCBHandler);
  5497. HRESULT ( STDMETHODCALLTYPE *Expunge )(
  5498. IIMAPTransport * This,
  5499. /* [in] */ WPARAM wParam,
  5500. /* [in] */ LPARAM lParam,
  5501. /* [in] */ IIMAPCallback *pCBHandler);
  5502. HRESULT ( STDMETHODCALLTYPE *Search )(
  5503. IIMAPTransport * This,
  5504. /* [in] */ WPARAM wParam,
  5505. /* [in] */ LPARAM lParam,
  5506. /* [in] */ IIMAPCallback *pCBHandler,
  5507. /* [in] */ LPSTR lpszSearchCriteria,
  5508. /* [in] */ boolean bReturnUIDs,
  5509. /* [in] */ IRangeList *pMsgRange,
  5510. /* [in] */ boolean bUIDRangeList);
  5511. HRESULT ( STDMETHODCALLTYPE *Fetch )(
  5512. IIMAPTransport * This,
  5513. /* [in] */ WPARAM wParam,
  5514. /* [in] */ LPARAM lParam,
  5515. /* [in] */ IIMAPCallback *pCBHandler,
  5516. /* [in] */ IRangeList *pMsgRange,
  5517. /* [in] */ boolean bUIDMsgRange,
  5518. /* [in] */ LPSTR lpszFetchArgs);
  5519. HRESULT ( STDMETHODCALLTYPE *Store )(
  5520. IIMAPTransport * This,
  5521. /* [in] */ WPARAM wParam,
  5522. /* [in] */ LPARAM lParam,
  5523. /* [in] */ IIMAPCallback *pCBHandler,
  5524. /* [in] */ IRangeList *pMsgRange,
  5525. /* [in] */ boolean bUIDRangeList,
  5526. /* [in] */ LPSTR lpszStoreArgs);
  5527. HRESULT ( STDMETHODCALLTYPE *Copy )(
  5528. IIMAPTransport * This,
  5529. /* [in] */ WPARAM wParam,
  5530. /* [in] */ LPARAM lParam,
  5531. /* [in] */ IIMAPCallback *pCBHandler,
  5532. /* [in] */ IRangeList *pMsgRange,
  5533. /* [in] */ boolean bUIDRangeList,
  5534. /* [in] */ LPSTR lpszMailboxName);
  5535. HRESULT ( STDMETHODCALLTYPE *Noop )(
  5536. IIMAPTransport * This,
  5537. /* [in] */ WPARAM wParam,
  5538. /* [in] */ LPARAM lParam,
  5539. /* [in] */ IIMAPCallback *pCBHandler);
  5540. HRESULT ( STDMETHODCALLTYPE *ResizeMsgSeqNumTable )(
  5541. IIMAPTransport * This,
  5542. /* [in] */ DWORD dwSizeOfMbox);
  5543. HRESULT ( STDMETHODCALLTYPE *UpdateSeqNumToUID )(
  5544. IIMAPTransport * This,
  5545. /* [in] */ DWORD dwMsgSeqNum,
  5546. /* [in] */ DWORD dwUID);
  5547. HRESULT ( STDMETHODCALLTYPE *RemoveSequenceNum )(
  5548. IIMAPTransport * This,
  5549. /* [in] */ DWORD dwDeletedMsgSeqNum);
  5550. HRESULT ( STDMETHODCALLTYPE *MsgSeqNumToUID )(
  5551. IIMAPTransport * This,
  5552. /* [in] */ DWORD dwMsgSeqNum,
  5553. /* [out] */ DWORD *pdwUID);
  5554. HRESULT ( STDMETHODCALLTYPE *GetMsgSeqNumToUIDArray )(
  5555. IIMAPTransport * This,
  5556. /* [out] */ DWORD **ppdwMsgSeqNumToUIDArray,
  5557. /* [out] */ DWORD *pdwNumberOfElements);
  5558. HRESULT ( STDMETHODCALLTYPE *GetHighestMsgSeqNum )(
  5559. IIMAPTransport * This,
  5560. /* [out] */ DWORD *pdwHighestMSN);
  5561. HRESULT ( STDMETHODCALLTYPE *ResetMsgSeqNumToUID )(
  5562. IIMAPTransport * This);
  5563. HRESULT ( STDMETHODCALLTYPE *SetDefaultCBHandler )(
  5564. IIMAPTransport * This,
  5565. /* [in] */ IIMAPCallback *pCBHandler);
  5566. HRESULT ( STDMETHODCALLTYPE *Status )(
  5567. IIMAPTransport * This,
  5568. /* [in] */ WPARAM wParam,
  5569. /* [in] */ LPARAM lParam,
  5570. /* [in] */ IIMAPCallback *pCBHandler,
  5571. /* [in] */ LPSTR pszMailboxName,
  5572. /* [in] */ LPSTR pszStatusCmdArgs);
  5573. END_INTERFACE
  5574. } IIMAPTransportVtbl;
  5575. interface IIMAPTransport
  5576. {
  5577. CONST_VTBL struct IIMAPTransportVtbl *lpVtbl;
  5578. };
  5579. #ifdef COBJMACROS
  5580. #define IIMAPTransport_QueryInterface(This,riid,ppvObject) \
  5581. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5582. #define IIMAPTransport_AddRef(This) \
  5583. (This)->lpVtbl -> AddRef(This)
  5584. #define IIMAPTransport_Release(This) \
  5585. (This)->lpVtbl -> Release(This)
  5586. #define IIMAPTransport_GetServerInfo(This,pInetServer) \
  5587. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  5588. #define IIMAPTransport_GetIXPType(This) \
  5589. (This)->lpVtbl -> GetIXPType(This)
  5590. #define IIMAPTransport_IsState(This,isstate) \
  5591. (This)->lpVtbl -> IsState(This,isstate)
  5592. #define IIMAPTransport_InetServerFromAccount(This,pAccount,pInetServer) \
  5593. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  5594. #define IIMAPTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  5595. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  5596. #define IIMAPTransport_HandsOffCallback(This) \
  5597. (This)->lpVtbl -> HandsOffCallback(This)
  5598. #define IIMAPTransport_Disconnect(This) \
  5599. (This)->lpVtbl -> Disconnect(This)
  5600. #define IIMAPTransport_DropConnection(This) \
  5601. (This)->lpVtbl -> DropConnection(This)
  5602. #define IIMAPTransport_GetStatus(This,pCurrentStatus) \
  5603. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  5604. #define IIMAPTransport_InitNew(This,pszLogFilePath,pCBHandler) \
  5605. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCBHandler)
  5606. #define IIMAPTransport_NewIRangeList(This,pprlNewRangeList) \
  5607. (This)->lpVtbl -> NewIRangeList(This,pprlNewRangeList)
  5608. #define IIMAPTransport_Capability(This,pdwCapabilityFlags) \
  5609. (This)->lpVtbl -> Capability(This,pdwCapabilityFlags)
  5610. #define IIMAPTransport_Select(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  5611. (This)->lpVtbl -> Select(This,wParam,lParam,pCBHandler,lpszMailboxName)
  5612. #define IIMAPTransport_Examine(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  5613. (This)->lpVtbl -> Examine(This,wParam,lParam,pCBHandler,lpszMailboxName)
  5614. #define IIMAPTransport_Create(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  5615. (This)->lpVtbl -> Create(This,wParam,lParam,pCBHandler,lpszMailboxName)
  5616. #define IIMAPTransport_Delete(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  5617. (This)->lpVtbl -> Delete(This,wParam,lParam,pCBHandler,lpszMailboxName)
  5618. #define IIMAPTransport_Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName) \
  5619. (This)->lpVtbl -> Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName)
  5620. #define IIMAPTransport_Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  5621. (This)->lpVtbl -> Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName)
  5622. #define IIMAPTransport_Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  5623. (This)->lpVtbl -> Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName)
  5624. #define IIMAPTransport_List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) \
  5625. (This)->lpVtbl -> List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern)
  5626. #define IIMAPTransport_Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) \
  5627. (This)->lpVtbl -> Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern)
  5628. #define IIMAPTransport_Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave) \
  5629. (This)->lpVtbl -> Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave)
  5630. #define IIMAPTransport_Close(This,wParam,lParam,pCBHandler) \
  5631. (This)->lpVtbl -> Close(This,wParam,lParam,pCBHandler)
  5632. #define IIMAPTransport_Expunge(This,wParam,lParam,pCBHandler) \
  5633. (This)->lpVtbl -> Expunge(This,wParam,lParam,pCBHandler)
  5634. #define IIMAPTransport_Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList) \
  5635. (This)->lpVtbl -> Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList)
  5636. #define IIMAPTransport_Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs) \
  5637. (This)->lpVtbl -> Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs)
  5638. #define IIMAPTransport_Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs) \
  5639. (This)->lpVtbl -> Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs)
  5640. #define IIMAPTransport_Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName) \
  5641. (This)->lpVtbl -> Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName)
  5642. #define IIMAPTransport_Noop(This,wParam,lParam,pCBHandler) \
  5643. (This)->lpVtbl -> Noop(This,wParam,lParam,pCBHandler)
  5644. #define IIMAPTransport_ResizeMsgSeqNumTable(This,dwSizeOfMbox) \
  5645. (This)->lpVtbl -> ResizeMsgSeqNumTable(This,dwSizeOfMbox)
  5646. #define IIMAPTransport_UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID) \
  5647. (This)->lpVtbl -> UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID)
  5648. #define IIMAPTransport_RemoveSequenceNum(This,dwDeletedMsgSeqNum) \
  5649. (This)->lpVtbl -> RemoveSequenceNum(This,dwDeletedMsgSeqNum)
  5650. #define IIMAPTransport_MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID) \
  5651. (This)->lpVtbl -> MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID)
  5652. #define IIMAPTransport_GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements) \
  5653. (This)->lpVtbl -> GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements)
  5654. #define IIMAPTransport_GetHighestMsgSeqNum(This,pdwHighestMSN) \
  5655. (This)->lpVtbl -> GetHighestMsgSeqNum(This,pdwHighestMSN)
  5656. #define IIMAPTransport_ResetMsgSeqNumToUID(This) \
  5657. (This)->lpVtbl -> ResetMsgSeqNumToUID(This)
  5658. #define IIMAPTransport_SetDefaultCBHandler(This,pCBHandler) \
  5659. (This)->lpVtbl -> SetDefaultCBHandler(This,pCBHandler)
  5660. #define IIMAPTransport_Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs) \
  5661. (This)->lpVtbl -> Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs)
  5662. #endif /* COBJMACROS */
  5663. #endif /* C style interface */
  5664. HRESULT STDMETHODCALLTYPE IIMAPTransport_InitNew_Proxy(
  5665. IIMAPTransport * This,
  5666. /* [in] */ LPSTR pszLogFilePath,
  5667. /* [in] */ IIMAPCallback *pCBHandler);
  5668. void __RPC_STUB IIMAPTransport_InitNew_Stub(
  5669. IRpcStubBuffer *This,
  5670. IRpcChannelBuffer *_pRpcChannelBuffer,
  5671. PRPC_MESSAGE _pRpcMessage,
  5672. DWORD *_pdwStubPhase);
  5673. HRESULT STDMETHODCALLTYPE IIMAPTransport_NewIRangeList_Proxy(
  5674. IIMAPTransport * This,
  5675. /* [out] */ IRangeList **pprlNewRangeList);
  5676. void __RPC_STUB IIMAPTransport_NewIRangeList_Stub(
  5677. IRpcStubBuffer *This,
  5678. IRpcChannelBuffer *_pRpcChannelBuffer,
  5679. PRPC_MESSAGE _pRpcMessage,
  5680. DWORD *_pdwStubPhase);
  5681. HRESULT STDMETHODCALLTYPE IIMAPTransport_Capability_Proxy(
  5682. IIMAPTransport * This,
  5683. /* [out] */ DWORD *pdwCapabilityFlags);
  5684. void __RPC_STUB IIMAPTransport_Capability_Stub(
  5685. IRpcStubBuffer *This,
  5686. IRpcChannelBuffer *_pRpcChannelBuffer,
  5687. PRPC_MESSAGE _pRpcMessage,
  5688. DWORD *_pdwStubPhase);
  5689. HRESULT STDMETHODCALLTYPE IIMAPTransport_Select_Proxy(
  5690. IIMAPTransport * This,
  5691. /* [in] */ WPARAM wParam,
  5692. /* [in] */ LPARAM lParam,
  5693. /* [in] */ IIMAPCallback *pCBHandler,
  5694. /* [in] */ LPSTR lpszMailboxName);
  5695. void __RPC_STUB IIMAPTransport_Select_Stub(
  5696. IRpcStubBuffer *This,
  5697. IRpcChannelBuffer *_pRpcChannelBuffer,
  5698. PRPC_MESSAGE _pRpcMessage,
  5699. DWORD *_pdwStubPhase);
  5700. HRESULT STDMETHODCALLTYPE IIMAPTransport_Examine_Proxy(
  5701. IIMAPTransport * This,
  5702. /* [in] */ WPARAM wParam,
  5703. /* [in] */ LPARAM lParam,
  5704. /* [in] */ IIMAPCallback *pCBHandler,
  5705. /* [in] */ LPSTR lpszMailboxName);
  5706. void __RPC_STUB IIMAPTransport_Examine_Stub(
  5707. IRpcStubBuffer *This,
  5708. IRpcChannelBuffer *_pRpcChannelBuffer,
  5709. PRPC_MESSAGE _pRpcMessage,
  5710. DWORD *_pdwStubPhase);
  5711. HRESULT STDMETHODCALLTYPE IIMAPTransport_Create_Proxy(
  5712. IIMAPTransport * This,
  5713. /* [in] */ WPARAM wParam,
  5714. /* [in] */ LPARAM lParam,
  5715. /* [in] */ IIMAPCallback *pCBHandler,
  5716. /* [in] */ LPSTR lpszMailboxName);
  5717. void __RPC_STUB IIMAPTransport_Create_Stub(
  5718. IRpcStubBuffer *This,
  5719. IRpcChannelBuffer *_pRpcChannelBuffer,
  5720. PRPC_MESSAGE _pRpcMessage,
  5721. DWORD *_pdwStubPhase);
  5722. HRESULT STDMETHODCALLTYPE IIMAPTransport_Delete_Proxy(
  5723. IIMAPTransport * This,
  5724. /* [in] */ WPARAM wParam,
  5725. /* [in] */ LPARAM lParam,
  5726. /* [in] */ IIMAPCallback *pCBHandler,
  5727. /* [in] */ LPSTR lpszMailboxName);
  5728. void __RPC_STUB IIMAPTransport_Delete_Stub(
  5729. IRpcStubBuffer *This,
  5730. IRpcChannelBuffer *_pRpcChannelBuffer,
  5731. PRPC_MESSAGE _pRpcMessage,
  5732. DWORD *_pdwStubPhase);
  5733. HRESULT STDMETHODCALLTYPE IIMAPTransport_Rename_Proxy(
  5734. IIMAPTransport * This,
  5735. /* [in] */ WPARAM wParam,
  5736. /* [in] */ LPARAM lParam,
  5737. /* [in] */ IIMAPCallback *pCBHandler,
  5738. /* [in] */ LPSTR lpszMailboxName,
  5739. /* [in] */ LPSTR lpszNewMailboxName);
  5740. void __RPC_STUB IIMAPTransport_Rename_Stub(
  5741. IRpcStubBuffer *This,
  5742. IRpcChannelBuffer *_pRpcChannelBuffer,
  5743. PRPC_MESSAGE _pRpcMessage,
  5744. DWORD *_pdwStubPhase);
  5745. HRESULT STDMETHODCALLTYPE IIMAPTransport_Subscribe_Proxy(
  5746. IIMAPTransport * This,
  5747. /* [in] */ WPARAM wParam,
  5748. /* [in] */ LPARAM lParam,
  5749. /* [in] */ IIMAPCallback *pCBHandler,
  5750. /* [in] */ LPSTR lpszMailboxName);
  5751. void __RPC_STUB IIMAPTransport_Subscribe_Stub(
  5752. IRpcStubBuffer *This,
  5753. IRpcChannelBuffer *_pRpcChannelBuffer,
  5754. PRPC_MESSAGE _pRpcMessage,
  5755. DWORD *_pdwStubPhase);
  5756. HRESULT STDMETHODCALLTYPE IIMAPTransport_Unsubscribe_Proxy(
  5757. IIMAPTransport * This,
  5758. /* [in] */ WPARAM wParam,
  5759. /* [in] */ LPARAM lParam,
  5760. /* [in] */ IIMAPCallback *pCBHandler,
  5761. /* [in] */ LPSTR lpszMailboxName);
  5762. void __RPC_STUB IIMAPTransport_Unsubscribe_Stub(
  5763. IRpcStubBuffer *This,
  5764. IRpcChannelBuffer *_pRpcChannelBuffer,
  5765. PRPC_MESSAGE _pRpcMessage,
  5766. DWORD *_pdwStubPhase);
  5767. HRESULT STDMETHODCALLTYPE IIMAPTransport_List_Proxy(
  5768. IIMAPTransport * This,
  5769. /* [in] */ WPARAM wParam,
  5770. /* [in] */ LPARAM lParam,
  5771. /* [in] */ IIMAPCallback *pCBHandler,
  5772. /* [in] */ LPSTR lpszMailboxNameReference,
  5773. /* [in] */ LPSTR lpszMailboxNamePattern);
  5774. void __RPC_STUB IIMAPTransport_List_Stub(
  5775. IRpcStubBuffer *This,
  5776. IRpcChannelBuffer *_pRpcChannelBuffer,
  5777. PRPC_MESSAGE _pRpcMessage,
  5778. DWORD *_pdwStubPhase);
  5779. HRESULT STDMETHODCALLTYPE IIMAPTransport_Lsub_Proxy(
  5780. IIMAPTransport * This,
  5781. /* [in] */ WPARAM wParam,
  5782. /* [in] */ LPARAM lParam,
  5783. /* [in] */ IIMAPCallback *pCBHandler,
  5784. /* [in] */ LPSTR lpszMailboxNameReference,
  5785. /* [in] */ LPSTR lpszMailboxNamePattern);
  5786. void __RPC_STUB IIMAPTransport_Lsub_Stub(
  5787. IRpcStubBuffer *This,
  5788. IRpcChannelBuffer *_pRpcChannelBuffer,
  5789. PRPC_MESSAGE _pRpcMessage,
  5790. DWORD *_pdwStubPhase);
  5791. HRESULT STDMETHODCALLTYPE IIMAPTransport_Append_Proxy(
  5792. IIMAPTransport * This,
  5793. /* [in] */ WPARAM wParam,
  5794. /* [in] */ LPARAM lParam,
  5795. /* [in] */ IIMAPCallback *pCBHandler,
  5796. /* [in] */ LPSTR lpszMailboxName,
  5797. /* [in] */ LPSTR lpszMessageFlags,
  5798. /* [in] */ FILETIME ftMessageDateTime,
  5799. /* [in] */ LPSTREAM lpstmMessageToSave);
  5800. void __RPC_STUB IIMAPTransport_Append_Stub(
  5801. IRpcStubBuffer *This,
  5802. IRpcChannelBuffer *_pRpcChannelBuffer,
  5803. PRPC_MESSAGE _pRpcMessage,
  5804. DWORD *_pdwStubPhase);
  5805. HRESULT STDMETHODCALLTYPE IIMAPTransport_Close_Proxy(
  5806. IIMAPTransport * This,
  5807. /* [in] */ WPARAM wParam,
  5808. /* [in] */ LPARAM lParam,
  5809. /* [in] */ IIMAPCallback *pCBHandler);
  5810. void __RPC_STUB IIMAPTransport_Close_Stub(
  5811. IRpcStubBuffer *This,
  5812. IRpcChannelBuffer *_pRpcChannelBuffer,
  5813. PRPC_MESSAGE _pRpcMessage,
  5814. DWORD *_pdwStubPhase);
  5815. HRESULT STDMETHODCALLTYPE IIMAPTransport_Expunge_Proxy(
  5816. IIMAPTransport * This,
  5817. /* [in] */ WPARAM wParam,
  5818. /* [in] */ LPARAM lParam,
  5819. /* [in] */ IIMAPCallback *pCBHandler);
  5820. void __RPC_STUB IIMAPTransport_Expunge_Stub(
  5821. IRpcStubBuffer *This,
  5822. IRpcChannelBuffer *_pRpcChannelBuffer,
  5823. PRPC_MESSAGE _pRpcMessage,
  5824. DWORD *_pdwStubPhase);
  5825. HRESULT STDMETHODCALLTYPE IIMAPTransport_Search_Proxy(
  5826. IIMAPTransport * This,
  5827. /* [in] */ WPARAM wParam,
  5828. /* [in] */ LPARAM lParam,
  5829. /* [in] */ IIMAPCallback *pCBHandler,
  5830. /* [in] */ LPSTR lpszSearchCriteria,
  5831. /* [in] */ boolean bReturnUIDs,
  5832. /* [in] */ IRangeList *pMsgRange,
  5833. /* [in] */ boolean bUIDRangeList);
  5834. void __RPC_STUB IIMAPTransport_Search_Stub(
  5835. IRpcStubBuffer *This,
  5836. IRpcChannelBuffer *_pRpcChannelBuffer,
  5837. PRPC_MESSAGE _pRpcMessage,
  5838. DWORD *_pdwStubPhase);
  5839. HRESULT STDMETHODCALLTYPE IIMAPTransport_Fetch_Proxy(
  5840. IIMAPTransport * This,
  5841. /* [in] */ WPARAM wParam,
  5842. /* [in] */ LPARAM lParam,
  5843. /* [in] */ IIMAPCallback *pCBHandler,
  5844. /* [in] */ IRangeList *pMsgRange,
  5845. /* [in] */ boolean bUIDMsgRange,
  5846. /* [in] */ LPSTR lpszFetchArgs);
  5847. void __RPC_STUB IIMAPTransport_Fetch_Stub(
  5848. IRpcStubBuffer *This,
  5849. IRpcChannelBuffer *_pRpcChannelBuffer,
  5850. PRPC_MESSAGE _pRpcMessage,
  5851. DWORD *_pdwStubPhase);
  5852. HRESULT STDMETHODCALLTYPE IIMAPTransport_Store_Proxy(
  5853. IIMAPTransport * This,
  5854. /* [in] */ WPARAM wParam,
  5855. /* [in] */ LPARAM lParam,
  5856. /* [in] */ IIMAPCallback *pCBHandler,
  5857. /* [in] */ IRangeList *pMsgRange,
  5858. /* [in] */ boolean bUIDRangeList,
  5859. /* [in] */ LPSTR lpszStoreArgs);
  5860. void __RPC_STUB IIMAPTransport_Store_Stub(
  5861. IRpcStubBuffer *This,
  5862. IRpcChannelBuffer *_pRpcChannelBuffer,
  5863. PRPC_MESSAGE _pRpcMessage,
  5864. DWORD *_pdwStubPhase);
  5865. HRESULT STDMETHODCALLTYPE IIMAPTransport_Copy_Proxy(
  5866. IIMAPTransport * This,
  5867. /* [in] */ WPARAM wParam,
  5868. /* [in] */ LPARAM lParam,
  5869. /* [in] */ IIMAPCallback *pCBHandler,
  5870. /* [in] */ IRangeList *pMsgRange,
  5871. /* [in] */ boolean bUIDRangeList,
  5872. /* [in] */ LPSTR lpszMailboxName);
  5873. void __RPC_STUB IIMAPTransport_Copy_Stub(
  5874. IRpcStubBuffer *This,
  5875. IRpcChannelBuffer *_pRpcChannelBuffer,
  5876. PRPC_MESSAGE _pRpcMessage,
  5877. DWORD *_pdwStubPhase);
  5878. HRESULT STDMETHODCALLTYPE IIMAPTransport_Noop_Proxy(
  5879. IIMAPTransport * This,
  5880. /* [in] */ WPARAM wParam,
  5881. /* [in] */ LPARAM lParam,
  5882. /* [in] */ IIMAPCallback *pCBHandler);
  5883. void __RPC_STUB IIMAPTransport_Noop_Stub(
  5884. IRpcStubBuffer *This,
  5885. IRpcChannelBuffer *_pRpcChannelBuffer,
  5886. PRPC_MESSAGE _pRpcMessage,
  5887. DWORD *_pdwStubPhase);
  5888. HRESULT STDMETHODCALLTYPE IIMAPTransport_ResizeMsgSeqNumTable_Proxy(
  5889. IIMAPTransport * This,
  5890. /* [in] */ DWORD dwSizeOfMbox);
  5891. void __RPC_STUB IIMAPTransport_ResizeMsgSeqNumTable_Stub(
  5892. IRpcStubBuffer *This,
  5893. IRpcChannelBuffer *_pRpcChannelBuffer,
  5894. PRPC_MESSAGE _pRpcMessage,
  5895. DWORD *_pdwStubPhase);
  5896. HRESULT STDMETHODCALLTYPE IIMAPTransport_UpdateSeqNumToUID_Proxy(
  5897. IIMAPTransport * This,
  5898. /* [in] */ DWORD dwMsgSeqNum,
  5899. /* [in] */ DWORD dwUID);
  5900. void __RPC_STUB IIMAPTransport_UpdateSeqNumToUID_Stub(
  5901. IRpcStubBuffer *This,
  5902. IRpcChannelBuffer *_pRpcChannelBuffer,
  5903. PRPC_MESSAGE _pRpcMessage,
  5904. DWORD *_pdwStubPhase);
  5905. HRESULT STDMETHODCALLTYPE IIMAPTransport_RemoveSequenceNum_Proxy(
  5906. IIMAPTransport * This,
  5907. /* [in] */ DWORD dwDeletedMsgSeqNum);
  5908. void __RPC_STUB IIMAPTransport_RemoveSequenceNum_Stub(
  5909. IRpcStubBuffer *This,
  5910. IRpcChannelBuffer *_pRpcChannelBuffer,
  5911. PRPC_MESSAGE _pRpcMessage,
  5912. DWORD *_pdwStubPhase);
  5913. HRESULT STDMETHODCALLTYPE IIMAPTransport_MsgSeqNumToUID_Proxy(
  5914. IIMAPTransport * This,
  5915. /* [in] */ DWORD dwMsgSeqNum,
  5916. /* [out] */ DWORD *pdwUID);
  5917. void __RPC_STUB IIMAPTransport_MsgSeqNumToUID_Stub(
  5918. IRpcStubBuffer *This,
  5919. IRpcChannelBuffer *_pRpcChannelBuffer,
  5920. PRPC_MESSAGE _pRpcMessage,
  5921. DWORD *_pdwStubPhase);
  5922. HRESULT STDMETHODCALLTYPE IIMAPTransport_GetMsgSeqNumToUIDArray_Proxy(
  5923. IIMAPTransport * This,
  5924. /* [out] */ DWORD **ppdwMsgSeqNumToUIDArray,
  5925. /* [out] */ DWORD *pdwNumberOfElements);
  5926. void __RPC_STUB IIMAPTransport_GetMsgSeqNumToUIDArray_Stub(
  5927. IRpcStubBuffer *This,
  5928. IRpcChannelBuffer *_pRpcChannelBuffer,
  5929. PRPC_MESSAGE _pRpcMessage,
  5930. DWORD *_pdwStubPhase);
  5931. HRESULT STDMETHODCALLTYPE IIMAPTransport_GetHighestMsgSeqNum_Proxy(
  5932. IIMAPTransport * This,
  5933. /* [out] */ DWORD *pdwHighestMSN);
  5934. void __RPC_STUB IIMAPTransport_GetHighestMsgSeqNum_Stub(
  5935. IRpcStubBuffer *This,
  5936. IRpcChannelBuffer *_pRpcChannelBuffer,
  5937. PRPC_MESSAGE _pRpcMessage,
  5938. DWORD *_pdwStubPhase);
  5939. HRESULT STDMETHODCALLTYPE IIMAPTransport_ResetMsgSeqNumToUID_Proxy(
  5940. IIMAPTransport * This);
  5941. void __RPC_STUB IIMAPTransport_ResetMsgSeqNumToUID_Stub(
  5942. IRpcStubBuffer *This,
  5943. IRpcChannelBuffer *_pRpcChannelBuffer,
  5944. PRPC_MESSAGE _pRpcMessage,
  5945. DWORD *_pdwStubPhase);
  5946. HRESULT STDMETHODCALLTYPE IIMAPTransport_SetDefaultCBHandler_Proxy(
  5947. IIMAPTransport * This,
  5948. /* [in] */ IIMAPCallback *pCBHandler);
  5949. void __RPC_STUB IIMAPTransport_SetDefaultCBHandler_Stub(
  5950. IRpcStubBuffer *This,
  5951. IRpcChannelBuffer *_pRpcChannelBuffer,
  5952. PRPC_MESSAGE _pRpcMessage,
  5953. DWORD *_pdwStubPhase);
  5954. HRESULT STDMETHODCALLTYPE IIMAPTransport_Status_Proxy(
  5955. IIMAPTransport * This,
  5956. /* [in] */ WPARAM wParam,
  5957. /* [in] */ LPARAM lParam,
  5958. /* [in] */ IIMAPCallback *pCBHandler,
  5959. /* [in] */ LPSTR pszMailboxName,
  5960. /* [in] */ LPSTR pszStatusCmdArgs);
  5961. void __RPC_STUB IIMAPTransport_Status_Stub(
  5962. IRpcStubBuffer *This,
  5963. IRpcChannelBuffer *_pRpcChannelBuffer,
  5964. PRPC_MESSAGE _pRpcMessage,
  5965. DWORD *_pdwStubPhase);
  5966. #endif /* __IIMAPTransport_INTERFACE_DEFINED__ */
  5967. #ifndef __IIMAPTransport2_INTERFACE_DEFINED__
  5968. #define __IIMAPTransport2_INTERFACE_DEFINED__
  5969. /* interface IIMAPTransport2 */
  5970. /* [object][local][helpstring][uuid] */
  5971. #define IMAP_MBOXXLATE_DEFAULT ( 0 )
  5972. #define IMAP_MBOXXLATE_DISABLE ( 0x1 )
  5973. #define IMAP_MBOXXLATE_DISABLEIMAP4 ( 0x2 )
  5974. #define IMAP_MBOXXLATE_VERBATIMOK ( 0x4 )
  5975. #define IMAP_MBOXXLATE_RETAINCP ( 0x8 )
  5976. #define IMAP_IDLE_DISABLE ( 0 )
  5977. #define IMAP_IDLE_ENABLE ( 0x1 )
  5978. #define IMAP_FETCHEX_DISABLE ( 0 )
  5979. #define IMAP_FETCHEX_ENABLE ( 0x1 )
  5980. EXTERN_C const IID IID_IIMAPTransport2;
  5981. #if defined(__cplusplus) && !defined(CINTERFACE)
  5982. MIDL_INTERFACE("DA8283C0-37C5-11d2-ACD9-0080C7B6E3C5")
  5983. IIMAPTransport2 : public IIMAPTransport
  5984. {
  5985. public:
  5986. virtual HRESULT STDMETHODCALLTYPE SetDefaultCP(
  5987. /* [in] */ DWORD dwTranslateFlags,
  5988. /* [in] */ UINT uiCodePage) = 0;
  5989. virtual HRESULT STDMETHODCALLTYPE MultiByteToModifiedUTF7(
  5990. /* [in] */ LPCSTR pszSource,
  5991. /* [out] */ LPSTR *ppszDestination,
  5992. /* [in] */ UINT uiSourceCP,
  5993. /* [in] */ DWORD dwFlags) = 0;
  5994. virtual HRESULT STDMETHODCALLTYPE ModifiedUTF7ToMultiByte(
  5995. /* [in] */ LPCSTR pszSource,
  5996. /* [out] */ LPSTR *ppszDestination,
  5997. /* [in] */ UINT uiDestinationCP,
  5998. /* [in] */ DWORD dwFlags) = 0;
  5999. virtual HRESULT STDMETHODCALLTYPE SetIdleMode(
  6000. /* [in] */ DWORD dwIdleFlags) = 0;
  6001. virtual HRESULT STDMETHODCALLTYPE EnableFetchEx(
  6002. /* [in] */ DWORD dwFetchExFlags) = 0;
  6003. virtual HRESULT STDMETHODCALLTYPE SetWindow( void) = 0;
  6004. virtual HRESULT STDMETHODCALLTYPE ResetWindow( void) = 0;
  6005. };
  6006. #else /* C style interface */
  6007. typedef struct IIMAPTransport2Vtbl
  6008. {
  6009. BEGIN_INTERFACE
  6010. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6011. IIMAPTransport2 * This,
  6012. /* [in] */ REFIID riid,
  6013. /* [iid_is][out] */ void **ppvObject);
  6014. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6015. IIMAPTransport2 * This);
  6016. ULONG ( STDMETHODCALLTYPE *Release )(
  6017. IIMAPTransport2 * This);
  6018. HRESULT ( STDMETHODCALLTYPE *GetServerInfo )(
  6019. IIMAPTransport2 * This,
  6020. /* [out][in] */ LPINETSERVER pInetServer);
  6021. IXPTYPE ( STDMETHODCALLTYPE *GetIXPType )(
  6022. IIMAPTransport2 * This);
  6023. HRESULT ( STDMETHODCALLTYPE *IsState )(
  6024. IIMAPTransport2 * This,
  6025. /* [in] */ IXPISSTATE isstate);
  6026. HRESULT ( STDMETHODCALLTYPE *InetServerFromAccount )(
  6027. IIMAPTransport2 * This,
  6028. /* [in] */ IImnAccount *pAccount,
  6029. /* [out][in] */ LPINETSERVER pInetServer);
  6030. HRESULT ( STDMETHODCALLTYPE *Connect )(
  6031. IIMAPTransport2 * This,
  6032. /* [in] */ LPINETSERVER pInetServer,
  6033. /* [in] */ boolean fAuthenticate,
  6034. /* [in] */ boolean fCommandLogging);
  6035. HRESULT ( STDMETHODCALLTYPE *HandsOffCallback )(
  6036. IIMAPTransport2 * This);
  6037. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  6038. IIMAPTransport2 * This);
  6039. HRESULT ( STDMETHODCALLTYPE *DropConnection )(
  6040. IIMAPTransport2 * This);
  6041. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  6042. IIMAPTransport2 * This,
  6043. /* [out] */ IXPSTATUS *pCurrentStatus);
  6044. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  6045. IIMAPTransport2 * This,
  6046. /* [in] */ LPSTR pszLogFilePath,
  6047. /* [in] */ IIMAPCallback *pCBHandler);
  6048. HRESULT ( STDMETHODCALLTYPE *NewIRangeList )(
  6049. IIMAPTransport2 * This,
  6050. /* [out] */ IRangeList **pprlNewRangeList);
  6051. HRESULT ( STDMETHODCALLTYPE *Capability )(
  6052. IIMAPTransport2 * This,
  6053. /* [out] */ DWORD *pdwCapabilityFlags);
  6054. HRESULT ( STDMETHODCALLTYPE *Select )(
  6055. IIMAPTransport2 * This,
  6056. /* [in] */ WPARAM wParam,
  6057. /* [in] */ LPARAM lParam,
  6058. /* [in] */ IIMAPCallback *pCBHandler,
  6059. /* [in] */ LPSTR lpszMailboxName);
  6060. HRESULT ( STDMETHODCALLTYPE *Examine )(
  6061. IIMAPTransport2 * This,
  6062. /* [in] */ WPARAM wParam,
  6063. /* [in] */ LPARAM lParam,
  6064. /* [in] */ IIMAPCallback *pCBHandler,
  6065. /* [in] */ LPSTR lpszMailboxName);
  6066. HRESULT ( STDMETHODCALLTYPE *Create )(
  6067. IIMAPTransport2 * This,
  6068. /* [in] */ WPARAM wParam,
  6069. /* [in] */ LPARAM lParam,
  6070. /* [in] */ IIMAPCallback *pCBHandler,
  6071. /* [in] */ LPSTR lpszMailboxName);
  6072. HRESULT ( STDMETHODCALLTYPE *Delete )(
  6073. IIMAPTransport2 * This,
  6074. /* [in] */ WPARAM wParam,
  6075. /* [in] */ LPARAM lParam,
  6076. /* [in] */ IIMAPCallback *pCBHandler,
  6077. /* [in] */ LPSTR lpszMailboxName);
  6078. HRESULT ( STDMETHODCALLTYPE *Rename )(
  6079. IIMAPTransport2 * This,
  6080. /* [in] */ WPARAM wParam,
  6081. /* [in] */ LPARAM lParam,
  6082. /* [in] */ IIMAPCallback *pCBHandler,
  6083. /* [in] */ LPSTR lpszMailboxName,
  6084. /* [in] */ LPSTR lpszNewMailboxName);
  6085. HRESULT ( STDMETHODCALLTYPE *Subscribe )(
  6086. IIMAPTransport2 * This,
  6087. /* [in] */ WPARAM wParam,
  6088. /* [in] */ LPARAM lParam,
  6089. /* [in] */ IIMAPCallback *pCBHandler,
  6090. /* [in] */ LPSTR lpszMailboxName);
  6091. HRESULT ( STDMETHODCALLTYPE *Unsubscribe )(
  6092. IIMAPTransport2 * This,
  6093. /* [in] */ WPARAM wParam,
  6094. /* [in] */ LPARAM lParam,
  6095. /* [in] */ IIMAPCallback *pCBHandler,
  6096. /* [in] */ LPSTR lpszMailboxName);
  6097. HRESULT ( STDMETHODCALLTYPE *List )(
  6098. IIMAPTransport2 * This,
  6099. /* [in] */ WPARAM wParam,
  6100. /* [in] */ LPARAM lParam,
  6101. /* [in] */ IIMAPCallback *pCBHandler,
  6102. /* [in] */ LPSTR lpszMailboxNameReference,
  6103. /* [in] */ LPSTR lpszMailboxNamePattern);
  6104. HRESULT ( STDMETHODCALLTYPE *Lsub )(
  6105. IIMAPTransport2 * This,
  6106. /* [in] */ WPARAM wParam,
  6107. /* [in] */ LPARAM lParam,
  6108. /* [in] */ IIMAPCallback *pCBHandler,
  6109. /* [in] */ LPSTR lpszMailboxNameReference,
  6110. /* [in] */ LPSTR lpszMailboxNamePattern);
  6111. HRESULT ( STDMETHODCALLTYPE *Append )(
  6112. IIMAPTransport2 * This,
  6113. /* [in] */ WPARAM wParam,
  6114. /* [in] */ LPARAM lParam,
  6115. /* [in] */ IIMAPCallback *pCBHandler,
  6116. /* [in] */ LPSTR lpszMailboxName,
  6117. /* [in] */ LPSTR lpszMessageFlags,
  6118. /* [in] */ FILETIME ftMessageDateTime,
  6119. /* [in] */ LPSTREAM lpstmMessageToSave);
  6120. HRESULT ( STDMETHODCALLTYPE *Close )(
  6121. IIMAPTransport2 * This,
  6122. /* [in] */ WPARAM wParam,
  6123. /* [in] */ LPARAM lParam,
  6124. /* [in] */ IIMAPCallback *pCBHandler);
  6125. HRESULT ( STDMETHODCALLTYPE *Expunge )(
  6126. IIMAPTransport2 * This,
  6127. /* [in] */ WPARAM wParam,
  6128. /* [in] */ LPARAM lParam,
  6129. /* [in] */ IIMAPCallback *pCBHandler);
  6130. HRESULT ( STDMETHODCALLTYPE *Search )(
  6131. IIMAPTransport2 * This,
  6132. /* [in] */ WPARAM wParam,
  6133. /* [in] */ LPARAM lParam,
  6134. /* [in] */ IIMAPCallback *pCBHandler,
  6135. /* [in] */ LPSTR lpszSearchCriteria,
  6136. /* [in] */ boolean bReturnUIDs,
  6137. /* [in] */ IRangeList *pMsgRange,
  6138. /* [in] */ boolean bUIDRangeList);
  6139. HRESULT ( STDMETHODCALLTYPE *Fetch )(
  6140. IIMAPTransport2 * This,
  6141. /* [in] */ WPARAM wParam,
  6142. /* [in] */ LPARAM lParam,
  6143. /* [in] */ IIMAPCallback *pCBHandler,
  6144. /* [in] */ IRangeList *pMsgRange,
  6145. /* [in] */ boolean bUIDMsgRange,
  6146. /* [in] */ LPSTR lpszFetchArgs);
  6147. HRESULT ( STDMETHODCALLTYPE *Store )(
  6148. IIMAPTransport2 * This,
  6149. /* [in] */ WPARAM wParam,
  6150. /* [in] */ LPARAM lParam,
  6151. /* [in] */ IIMAPCallback *pCBHandler,
  6152. /* [in] */ IRangeList *pMsgRange,
  6153. /* [in] */ boolean bUIDRangeList,
  6154. /* [in] */ LPSTR lpszStoreArgs);
  6155. HRESULT ( STDMETHODCALLTYPE *Copy )(
  6156. IIMAPTransport2 * This,
  6157. /* [in] */ WPARAM wParam,
  6158. /* [in] */ LPARAM lParam,
  6159. /* [in] */ IIMAPCallback *pCBHandler,
  6160. /* [in] */ IRangeList *pMsgRange,
  6161. /* [in] */ boolean bUIDRangeList,
  6162. /* [in] */ LPSTR lpszMailboxName);
  6163. HRESULT ( STDMETHODCALLTYPE *Noop )(
  6164. IIMAPTransport2 * This,
  6165. /* [in] */ WPARAM wParam,
  6166. /* [in] */ LPARAM lParam,
  6167. /* [in] */ IIMAPCallback *pCBHandler);
  6168. HRESULT ( STDMETHODCALLTYPE *ResizeMsgSeqNumTable )(
  6169. IIMAPTransport2 * This,
  6170. /* [in] */ DWORD dwSizeOfMbox);
  6171. HRESULT ( STDMETHODCALLTYPE *UpdateSeqNumToUID )(
  6172. IIMAPTransport2 * This,
  6173. /* [in] */ DWORD dwMsgSeqNum,
  6174. /* [in] */ DWORD dwUID);
  6175. HRESULT ( STDMETHODCALLTYPE *RemoveSequenceNum )(
  6176. IIMAPTransport2 * This,
  6177. /* [in] */ DWORD dwDeletedMsgSeqNum);
  6178. HRESULT ( STDMETHODCALLTYPE *MsgSeqNumToUID )(
  6179. IIMAPTransport2 * This,
  6180. /* [in] */ DWORD dwMsgSeqNum,
  6181. /* [out] */ DWORD *pdwUID);
  6182. HRESULT ( STDMETHODCALLTYPE *GetMsgSeqNumToUIDArray )(
  6183. IIMAPTransport2 * This,
  6184. /* [out] */ DWORD **ppdwMsgSeqNumToUIDArray,
  6185. /* [out] */ DWORD *pdwNumberOfElements);
  6186. HRESULT ( STDMETHODCALLTYPE *GetHighestMsgSeqNum )(
  6187. IIMAPTransport2 * This,
  6188. /* [out] */ DWORD *pdwHighestMSN);
  6189. HRESULT ( STDMETHODCALLTYPE *ResetMsgSeqNumToUID )(
  6190. IIMAPTransport2 * This);
  6191. HRESULT ( STDMETHODCALLTYPE *SetDefaultCBHandler )(
  6192. IIMAPTransport2 * This,
  6193. /* [in] */ IIMAPCallback *pCBHandler);
  6194. HRESULT ( STDMETHODCALLTYPE *Status )(
  6195. IIMAPTransport2 * This,
  6196. /* [in] */ WPARAM wParam,
  6197. /* [in] */ LPARAM lParam,
  6198. /* [in] */ IIMAPCallback *pCBHandler,
  6199. /* [in] */ LPSTR pszMailboxName,
  6200. /* [in] */ LPSTR pszStatusCmdArgs);
  6201. HRESULT ( STDMETHODCALLTYPE *SetDefaultCP )(
  6202. IIMAPTransport2 * This,
  6203. /* [in] */ DWORD dwTranslateFlags,
  6204. /* [in] */ UINT uiCodePage);
  6205. HRESULT ( STDMETHODCALLTYPE *MultiByteToModifiedUTF7 )(
  6206. IIMAPTransport2 * This,
  6207. /* [in] */ LPCSTR pszSource,
  6208. /* [out] */ LPSTR *ppszDestination,
  6209. /* [in] */ UINT uiSourceCP,
  6210. /* [in] */ DWORD dwFlags);
  6211. HRESULT ( STDMETHODCALLTYPE *ModifiedUTF7ToMultiByte )(
  6212. IIMAPTransport2 * This,
  6213. /* [in] */ LPCSTR pszSource,
  6214. /* [out] */ LPSTR *ppszDestination,
  6215. /* [in] */ UINT uiDestinationCP,
  6216. /* [in] */ DWORD dwFlags);
  6217. HRESULT ( STDMETHODCALLTYPE *SetIdleMode )(
  6218. IIMAPTransport2 * This,
  6219. /* [in] */ DWORD dwIdleFlags);
  6220. HRESULT ( STDMETHODCALLTYPE *EnableFetchEx )(
  6221. IIMAPTransport2 * This,
  6222. /* [in] */ DWORD dwFetchExFlags);
  6223. HRESULT ( STDMETHODCALLTYPE *SetWindow )(
  6224. IIMAPTransport2 * This);
  6225. HRESULT ( STDMETHODCALLTYPE *ResetWindow )(
  6226. IIMAPTransport2 * This);
  6227. END_INTERFACE
  6228. } IIMAPTransport2Vtbl;
  6229. interface IIMAPTransport2
  6230. {
  6231. CONST_VTBL struct IIMAPTransport2Vtbl *lpVtbl;
  6232. };
  6233. #ifdef COBJMACROS
  6234. #define IIMAPTransport2_QueryInterface(This,riid,ppvObject) \
  6235. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6236. #define IIMAPTransport2_AddRef(This) \
  6237. (This)->lpVtbl -> AddRef(This)
  6238. #define IIMAPTransport2_Release(This) \
  6239. (This)->lpVtbl -> Release(This)
  6240. #define IIMAPTransport2_GetServerInfo(This,pInetServer) \
  6241. (This)->lpVtbl -> GetServerInfo(This,pInetServer)
  6242. #define IIMAPTransport2_GetIXPType(This) \
  6243. (This)->lpVtbl -> GetIXPType(This)
  6244. #define IIMAPTransport2_IsState(This,isstate) \
  6245. (This)->lpVtbl -> IsState(This,isstate)
  6246. #define IIMAPTransport2_InetServerFromAccount(This,pAccount,pInetServer) \
  6247. (This)->lpVtbl -> InetServerFromAccount(This,pAccount,pInetServer)
  6248. #define IIMAPTransport2_Connect(This,pInetServer,fAuthenticate,fCommandLogging) \
  6249. (This)->lpVtbl -> Connect(This,pInetServer,fAuthenticate,fCommandLogging)
  6250. #define IIMAPTransport2_HandsOffCallback(This) \
  6251. (This)->lpVtbl -> HandsOffCallback(This)
  6252. #define IIMAPTransport2_Disconnect(This) \
  6253. (This)->lpVtbl -> Disconnect(This)
  6254. #define IIMAPTransport2_DropConnection(This) \
  6255. (This)->lpVtbl -> DropConnection(This)
  6256. #define IIMAPTransport2_GetStatus(This,pCurrentStatus) \
  6257. (This)->lpVtbl -> GetStatus(This,pCurrentStatus)
  6258. #define IIMAPTransport2_InitNew(This,pszLogFilePath,pCBHandler) \
  6259. (This)->lpVtbl -> InitNew(This,pszLogFilePath,pCBHandler)
  6260. #define IIMAPTransport2_NewIRangeList(This,pprlNewRangeList) \
  6261. (This)->lpVtbl -> NewIRangeList(This,pprlNewRangeList)
  6262. #define IIMAPTransport2_Capability(This,pdwCapabilityFlags) \
  6263. (This)->lpVtbl -> Capability(This,pdwCapabilityFlags)
  6264. #define IIMAPTransport2_Select(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  6265. (This)->lpVtbl -> Select(This,wParam,lParam,pCBHandler,lpszMailboxName)
  6266. #define IIMAPTransport2_Examine(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  6267. (This)->lpVtbl -> Examine(This,wParam,lParam,pCBHandler,lpszMailboxName)
  6268. #define IIMAPTransport2_Create(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  6269. (This)->lpVtbl -> Create(This,wParam,lParam,pCBHandler,lpszMailboxName)
  6270. #define IIMAPTransport2_Delete(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  6271. (This)->lpVtbl -> Delete(This,wParam,lParam,pCBHandler,lpszMailboxName)
  6272. #define IIMAPTransport2_Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName) \
  6273. (This)->lpVtbl -> Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName)
  6274. #define IIMAPTransport2_Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  6275. (This)->lpVtbl -> Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName)
  6276. #define IIMAPTransport2_Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) \
  6277. (This)->lpVtbl -> Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName)
  6278. #define IIMAPTransport2_List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) \
  6279. (This)->lpVtbl -> List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern)
  6280. #define IIMAPTransport2_Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) \
  6281. (This)->lpVtbl -> Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern)
  6282. #define IIMAPTransport2_Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave) \
  6283. (This)->lpVtbl -> Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave)
  6284. #define IIMAPTransport2_Close(This,wParam,lParam,pCBHandler) \
  6285. (This)->lpVtbl -> Close(This,wParam,lParam,pCBHandler)
  6286. #define IIMAPTransport2_Expunge(This,wParam,lParam,pCBHandler) \
  6287. (This)->lpVtbl -> Expunge(This,wParam,lParam,pCBHandler)
  6288. #define IIMAPTransport2_Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList) \
  6289. (This)->lpVtbl -> Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList)
  6290. #define IIMAPTransport2_Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs) \
  6291. (This)->lpVtbl -> Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs)
  6292. #define IIMAPTransport2_Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs) \
  6293. (This)->lpVtbl -> Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs)
  6294. #define IIMAPTransport2_Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName) \
  6295. (This)->lpVtbl -> Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName)
  6296. #define IIMAPTransport2_Noop(This,wParam,lParam,pCBHandler) \
  6297. (This)->lpVtbl -> Noop(This,wParam,lParam,pCBHandler)
  6298. #define IIMAPTransport2_ResizeMsgSeqNumTable(This,dwSizeOfMbox) \
  6299. (This)->lpVtbl -> ResizeMsgSeqNumTable(This,dwSizeOfMbox)
  6300. #define IIMAPTransport2_UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID) \
  6301. (This)->lpVtbl -> UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID)
  6302. #define IIMAPTransport2_RemoveSequenceNum(This,dwDeletedMsgSeqNum) \
  6303. (This)->lpVtbl -> RemoveSequenceNum(This,dwDeletedMsgSeqNum)
  6304. #define IIMAPTransport2_MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID) \
  6305. (This)->lpVtbl -> MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID)
  6306. #define IIMAPTransport2_GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements) \
  6307. (This)->lpVtbl -> GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements)
  6308. #define IIMAPTransport2_GetHighestMsgSeqNum(This,pdwHighestMSN) \
  6309. (This)->lpVtbl -> GetHighestMsgSeqNum(This,pdwHighestMSN)
  6310. #define IIMAPTransport2_ResetMsgSeqNumToUID(This) \
  6311. (This)->lpVtbl -> ResetMsgSeqNumToUID(This)
  6312. #define IIMAPTransport2_SetDefaultCBHandler(This,pCBHandler) \
  6313. (This)->lpVtbl -> SetDefaultCBHandler(This,pCBHandler)
  6314. #define IIMAPTransport2_Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs) \
  6315. (This)->lpVtbl -> Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs)
  6316. #define IIMAPTransport2_SetDefaultCP(This,dwTranslateFlags,uiCodePage) \
  6317. (This)->lpVtbl -> SetDefaultCP(This,dwTranslateFlags,uiCodePage)
  6318. #define IIMAPTransport2_MultiByteToModifiedUTF7(This,pszSource,ppszDestination,uiSourceCP,dwFlags) \
  6319. (This)->lpVtbl -> MultiByteToModifiedUTF7(This,pszSource,ppszDestination,uiSourceCP,dwFlags)
  6320. #define IIMAPTransport2_ModifiedUTF7ToMultiByte(This,pszSource,ppszDestination,uiDestinationCP,dwFlags) \
  6321. (This)->lpVtbl -> ModifiedUTF7ToMultiByte(This,pszSource,ppszDestination,uiDestinationCP,dwFlags)
  6322. #define IIMAPTransport2_SetIdleMode(This,dwIdleFlags) \
  6323. (This)->lpVtbl -> SetIdleMode(This,dwIdleFlags)
  6324. #define IIMAPTransport2_EnableFetchEx(This,dwFetchExFlags) \
  6325. (This)->lpVtbl -> EnableFetchEx(This,dwFetchExFlags)
  6326. #define IIMAPTransport2_SetWindow(This) \
  6327. (This)->lpVtbl -> SetWindow(This)
  6328. #define IIMAPTransport2_ResetWindow(This) \
  6329. (This)->lpVtbl -> ResetWindow(This)
  6330. #endif /* COBJMACROS */
  6331. #endif /* C style interface */
  6332. HRESULT STDMETHODCALLTYPE IIMAPTransport2_SetDefaultCP_Proxy(
  6333. IIMAPTransport2 * This,
  6334. /* [in] */ DWORD dwTranslateFlags,
  6335. /* [in] */ UINT uiCodePage);
  6336. void __RPC_STUB IIMAPTransport2_SetDefaultCP_Stub(
  6337. IRpcStubBuffer *This,
  6338. IRpcChannelBuffer *_pRpcChannelBuffer,
  6339. PRPC_MESSAGE _pRpcMessage,
  6340. DWORD *_pdwStubPhase);
  6341. HRESULT STDMETHODCALLTYPE IIMAPTransport2_MultiByteToModifiedUTF7_Proxy(
  6342. IIMAPTransport2 * This,
  6343. /* [in] */ LPCSTR pszSource,
  6344. /* [out] */ LPSTR *ppszDestination,
  6345. /* [in] */ UINT uiSourceCP,
  6346. /* [in] */ DWORD dwFlags);
  6347. void __RPC_STUB IIMAPTransport2_MultiByteToModifiedUTF7_Stub(
  6348. IRpcStubBuffer *This,
  6349. IRpcChannelBuffer *_pRpcChannelBuffer,
  6350. PRPC_MESSAGE _pRpcMessage,
  6351. DWORD *_pdwStubPhase);
  6352. HRESULT STDMETHODCALLTYPE IIMAPTransport2_ModifiedUTF7ToMultiByte_Proxy(
  6353. IIMAPTransport2 * This,
  6354. /* [in] */ LPCSTR pszSource,
  6355. /* [out] */ LPSTR *ppszDestination,
  6356. /* [in] */ UINT uiDestinationCP,
  6357. /* [in] */ DWORD dwFlags);
  6358. void __RPC_STUB IIMAPTransport2_ModifiedUTF7ToMultiByte_Stub(
  6359. IRpcStubBuffer *This,
  6360. IRpcChannelBuffer *_pRpcChannelBuffer,
  6361. PRPC_MESSAGE _pRpcMessage,
  6362. DWORD *_pdwStubPhase);
  6363. HRESULT STDMETHODCALLTYPE IIMAPTransport2_SetIdleMode_Proxy(
  6364. IIMAPTransport2 * This,
  6365. /* [in] */ DWORD dwIdleFlags);
  6366. void __RPC_STUB IIMAPTransport2_SetIdleMode_Stub(
  6367. IRpcStubBuffer *This,
  6368. IRpcChannelBuffer *_pRpcChannelBuffer,
  6369. PRPC_MESSAGE _pRpcMessage,
  6370. DWORD *_pdwStubPhase);
  6371. HRESULT STDMETHODCALLTYPE IIMAPTransport2_EnableFetchEx_Proxy(
  6372. IIMAPTransport2 * This,
  6373. /* [in] */ DWORD dwFetchExFlags);
  6374. void __RPC_STUB IIMAPTransport2_EnableFetchEx_Stub(
  6375. IRpcStubBuffer *This,
  6376. IRpcChannelBuffer *_pRpcChannelBuffer,
  6377. PRPC_MESSAGE _pRpcMessage,
  6378. DWORD *_pdwStubPhase);
  6379. HRESULT STDMETHODCALLTYPE IIMAPTransport2_SetWindow_Proxy(
  6380. IIMAPTransport2 * This);
  6381. void __RPC_STUB IIMAPTransport2_SetWindow_Stub(
  6382. IRpcStubBuffer *This,
  6383. IRpcChannelBuffer *_pRpcChannelBuffer,
  6384. PRPC_MESSAGE _pRpcMessage,
  6385. DWORD *_pdwStubPhase);
  6386. HRESULT STDMETHODCALLTYPE IIMAPTransport2_ResetWindow_Proxy(
  6387. IIMAPTransport2 * This);
  6388. void __RPC_STUB IIMAPTransport2_ResetWindow_Stub(
  6389. IRpcStubBuffer *This,
  6390. IRpcChannelBuffer *_pRpcChannelBuffer,
  6391. PRPC_MESSAGE _pRpcMessage,
  6392. DWORD *_pdwStubPhase);
  6393. #endif /* __IIMAPTransport2_INTERFACE_DEFINED__ */
  6394. /* interface __MIDL_itf_imnxport_0131 */
  6395. /* [local] */
  6396. // --------------------------------------------------------------------------------
  6397. // Exported C Functions
  6398. // --------------------------------------------------------------------------------
  6399. #if !defined(_IMNXPORT_)
  6400. #define IMNXPORTAPI DECLSPEC_IMPORT HRESULT WINAPI
  6401. #else
  6402. #define IMNXPORTAPI HRESULT WINAPI
  6403. #endif
  6404. #ifdef __cplusplus
  6405. extern "C" {
  6406. #endif
  6407. // --------------------------------------------------------------------------------
  6408. // CreateRASTransport
  6409. //
  6410. // Description:
  6411. // This method creates a IRASTransport object. The client must initialize the
  6412. // object by calling IRASTransport::InitNew
  6413. //
  6414. // Parameters:
  6415. // ppTransport Upon successful return, contains the a pointer to
  6416. // an IRASTransport interface
  6417. //
  6418. // Return Values:
  6419. // S_OK Successful.
  6420. // E_INVALIDARG ppTransport is NULL
  6421. // E_OUTOFMEMORY Memory allocation failure...
  6422. //
  6423. // --------------------------------------------------------------------------------
  6424. IMNXPORTAPI CreateRASTransport(
  6425. /* out */ IRASTransport **ppTransport);
  6426. // --------------------------------------------------------------------------------
  6427. // CreateNNTPTransport
  6428. //
  6429. // Description:
  6430. // This method creates a INNTPTransport object. The client must initialize the
  6431. // object by calling INNTPTransport::InitNew
  6432. //
  6433. // Parameters:
  6434. // ppTransport Upon successful return, contains the a pointer to
  6435. // an INNTPTransport interface
  6436. //
  6437. // Return Values:
  6438. // S_OK Successful.
  6439. // E_INVALIDARG ppTransport is NULL
  6440. // E_OUTOFMEMORY Memory allocation failure...
  6441. //
  6442. // --------------------------------------------------------------------------------
  6443. IMNXPORTAPI CreateNNTPTransport(
  6444. /* out */ INNTPTransport **ppTransport);
  6445. // --------------------------------------------------------------------------------
  6446. // CreateSMTPTransport
  6447. //
  6448. // Description:
  6449. // This method creates a ISMTPTransport object. The client must initialize the
  6450. // object by calling ISMTPTransport::InitNew
  6451. //
  6452. // Parameters:
  6453. // ppTransport Upon successful return, contains the a pointer to
  6454. // an ISMTPTransport interface
  6455. //
  6456. // Return Values:
  6457. // S_OK Successful.
  6458. // E_INVALIDARG ppTransport is NULL
  6459. // E_OUTOFMEMORY Memory allocation failure...
  6460. //
  6461. // --------------------------------------------------------------------------------
  6462. IMNXPORTAPI CreateSMTPTransport(
  6463. /* out */ ISMTPTransport **ppTransport);
  6464. // --------------------------------------------------------------------------------
  6465. // CreatePOP3Transport
  6466. //
  6467. // Description:
  6468. // This method creates a IPOP3Transport object. The client must initialize the
  6469. // object by calling IPOP3Transport::InitNew
  6470. //
  6471. // Parameters:
  6472. // ppTransport Upon successful return, contains the a pointer to
  6473. // an IPOP3Transport interface
  6474. //
  6475. // Return Values:
  6476. // S_OK Successful.
  6477. // E_INVALIDARG ppTransport is NULL
  6478. // E_OUTOFMEMORY Memory allocation failure...
  6479. //
  6480. // --------------------------------------------------------------------------------
  6481. IMNXPORTAPI CreatePOP3Transport(
  6482. /* out */ IPOP3Transport **ppTransport);
  6483. // --------------------------------------------------------------------------------
  6484. // CreateIMAPTransport
  6485. //
  6486. // Description:
  6487. // This method creates a IIMAPTransport object. The client must initialize the
  6488. // object by calling IIMAPTransport::InitNew
  6489. //
  6490. // Parameters:
  6491. // ppTransport Upon successful return, contains the a pointer to
  6492. // an IIMAPTransport interface
  6493. //
  6494. // Return Values:
  6495. // S_OK Successful.
  6496. // E_INVALIDARG ppTransport is NULL
  6497. // E_OUTOFMEMORY Memory allocation failure...
  6498. //
  6499. // --------------------------------------------------------------------------------
  6500. IMNXPORTAPI CreateIMAPTransport(
  6501. /* out */ IIMAPTransport **ppTransport);
  6502. // --------------------------------------------------------------------------------
  6503. // CreateIMAPTransport2
  6504. //
  6505. // Description:
  6506. // This method creates an IIMAPTransport2 object. The client must initialize the
  6507. // object by calling IIMAPTransport2::InitNew
  6508. //
  6509. // Parameters:
  6510. // ppTransport Upon successful return, contains the a pointer to
  6511. // an IIMAPTransport2 interface
  6512. //
  6513. // Return Values:
  6514. // S_OK Successful.
  6515. // E_INVALIDARG ppTransport is NULL
  6516. // E_OUTOFMEMORY Memory allocation failure...
  6517. //
  6518. // --------------------------------------------------------------------------------
  6519. IMNXPORTAPI CreateIMAPTransport2(
  6520. /* out */ IIMAPTransport2 **ppTransport);
  6521. // --------------------------------------------------------------------------------
  6522. // CreateRangeList
  6523. //
  6524. // Description:
  6525. // This method creates a IRangeList object.
  6526. //
  6527. // Parameters:
  6528. // ppRangeList Upon successful return, contains the a pointer to
  6529. // an IRangeList interface
  6530. //
  6531. // Return Values:
  6532. // S_OK Successful.
  6533. // E_INVALIDARG ppRangeList is NULL
  6534. // E_OUTOFMEMORY Memory allocation failure...
  6535. //
  6536. // --------------------------------------------------------------------------------
  6537. IMNXPORTAPI CreateRangeList(
  6538. /* out */ IRangeList **ppRangeList);
  6539. #ifdef __cplusplus
  6540. }
  6541. #endif
  6542. extern RPC_IF_HANDLE __MIDL_itf_imnxport_0131_v0_0_c_ifspec;
  6543. extern RPC_IF_HANDLE __MIDL_itf_imnxport_0131_v0_0_s_ifspec;
  6544. /* Additional Prototypes for ALL interfaces */
  6545. /* end of Additional Prototypes */
  6546. #ifdef __cplusplus
  6547. }
  6548. #endif
  6549. #endif