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.

8706 lines
285 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 3.02.88 */
  3. /* at Mon May 12 23:53:20 1997
  4. */
  5. /* Compiler settings for mimeole.idl:
  6. Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  7. error checks: none
  8. */
  9. //@@MIDL_FILE_HEADING( )
  10. #include "rpc.h"
  11. #include "rpcndr.h"
  12. #ifndef __mimeole_h__
  13. #define __mimeole_h__
  14. #ifdef __cplusplus
  15. extern "C"{
  16. #endif
  17. /* Forward Declarations */
  18. #ifndef __IMimeInternational_FWD_DEFINED__
  19. #define __IMimeInternational_FWD_DEFINED__
  20. typedef interface IMimeInternational IMimeInternational;
  21. #endif /* __IMimeInternational_FWD_DEFINED__ */
  22. #ifndef __IMimeSecurity_FWD_DEFINED__
  23. #define __IMimeSecurity_FWD_DEFINED__
  24. typedef interface IMimeSecurity IMimeSecurity;
  25. #endif /* __IMimeSecurity_FWD_DEFINED__ */
  26. #ifndef __IMimeSecurityOptions_FWD_DEFINED__
  27. #define __IMimeSecurityOptions_FWD_DEFINED__
  28. typedef interface IMimeSecurityOptions IMimeSecurityOptions;
  29. #endif /* __IMimeSecurityOptions_FWD_DEFINED__ */
  30. #ifndef __IMimeSecurityInfo_FWD_DEFINED__
  31. #define __IMimeSecurityInfo_FWD_DEFINED__
  32. typedef interface IMimeSecurityInfo IMimeSecurityInfo;
  33. #endif /* __IMimeSecurityInfo_FWD_DEFINED__ */
  34. #ifndef __IMimeHeaderTable_FWD_DEFINED__
  35. #define __IMimeHeaderTable_FWD_DEFINED__
  36. typedef interface IMimeHeaderTable IMimeHeaderTable;
  37. #endif /* __IMimeHeaderTable_FWD_DEFINED__ */
  38. #ifndef __IMimePropertySchema_FWD_DEFINED__
  39. #define __IMimePropertySchema_FWD_DEFINED__
  40. typedef interface IMimePropertySchema IMimePropertySchema;
  41. #endif /* __IMimePropertySchema_FWD_DEFINED__ */
  42. #ifndef __IMimePropertySet_FWD_DEFINED__
  43. #define __IMimePropertySet_FWD_DEFINED__
  44. typedef interface IMimePropertySet IMimePropertySet;
  45. #endif /* __IMimePropertySet_FWD_DEFINED__ */
  46. #ifndef __IMimeAddressInfo_FWD_DEFINED__
  47. #define __IMimeAddressInfo_FWD_DEFINED__
  48. typedef interface IMimeAddressInfo IMimeAddressInfo;
  49. #endif /* __IMimeAddressInfo_FWD_DEFINED__ */
  50. #ifndef __IMimeAddressTable_FWD_DEFINED__
  51. #define __IMimeAddressTable_FWD_DEFINED__
  52. typedef interface IMimeAddressTable IMimeAddressTable;
  53. #endif /* __IMimeAddressTable_FWD_DEFINED__ */
  54. #ifndef __IMimeWebDocument_FWD_DEFINED__
  55. #define __IMimeWebDocument_FWD_DEFINED__
  56. typedef interface IMimeWebDocument IMimeWebDocument;
  57. #endif /* __IMimeWebDocument_FWD_DEFINED__ */
  58. #ifndef __IMimeBody_FWD_DEFINED__
  59. #define __IMimeBody_FWD_DEFINED__
  60. typedef interface IMimeBody IMimeBody;
  61. #endif /* __IMimeBody_FWD_DEFINED__ */
  62. #ifndef __IMimeMessageTree_FWD_DEFINED__
  63. #define __IMimeMessageTree_FWD_DEFINED__
  64. typedef interface IMimeMessageTree IMimeMessageTree;
  65. #endif /* __IMimeMessageTree_FWD_DEFINED__ */
  66. #ifndef __IMimeMessage_FWD_DEFINED__
  67. #define __IMimeMessage_FWD_DEFINED__
  68. typedef interface IMimeMessage IMimeMessage;
  69. #endif /* __IMimeMessage_FWD_DEFINED__ */
  70. #ifndef __IMimeMessageParts_FWD_DEFINED__
  71. #define __IMimeMessageParts_FWD_DEFINED__
  72. typedef interface IMimeMessageParts IMimeMessageParts;
  73. #endif /* __IMimeMessageParts_FWD_DEFINED__ */
  74. #ifndef __IMimeEnumHeaderRows_FWD_DEFINED__
  75. #define __IMimeEnumHeaderRows_FWD_DEFINED__
  76. typedef interface IMimeEnumHeaderRows IMimeEnumHeaderRows;
  77. #endif /* __IMimeEnumHeaderRows_FWD_DEFINED__ */
  78. #ifndef __IMimeEnumProperties_FWD_DEFINED__
  79. #define __IMimeEnumProperties_FWD_DEFINED__
  80. typedef interface IMimeEnumProperties IMimeEnumProperties;
  81. #endif /* __IMimeEnumProperties_FWD_DEFINED__ */
  82. #ifndef __IMimeEnumAddressTypes_FWD_DEFINED__
  83. #define __IMimeEnumAddressTypes_FWD_DEFINED__
  84. typedef interface IMimeEnumAddressTypes IMimeEnumAddressTypes;
  85. #endif /* __IMimeEnumAddressTypes_FWD_DEFINED__ */
  86. #ifndef __IMimeEnumMessageParts_FWD_DEFINED__
  87. #define __IMimeEnumMessageParts_FWD_DEFINED__
  88. typedef interface IMimeEnumMessageParts IMimeEnumMessageParts;
  89. #endif /* __IMimeEnumMessageParts_FWD_DEFINED__ */
  90. #ifndef __IMimeAllocator_FWD_DEFINED__
  91. #define __IMimeAllocator_FWD_DEFINED__
  92. typedef interface IMimeAllocator IMimeAllocator;
  93. #endif /* __IMimeAllocator_FWD_DEFINED__ */
  94. /* header files for imported files */
  95. #include "ocidl.h"
  96. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  97. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  98. /****************************************
  99. * Generated header for interface: __MIDL_itf_mimeole_0000
  100. * at Mon May 12 23:53:20 1997
  101. * using MIDL 3.02.88
  102. ****************************************/
  103. /* [local] */
  104. //--------------------------------------------------------------------------------
  105. // MIMEOLE.H
  106. //--------------------------------------------------------------------------------
  107. // (C) Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.
  108. //
  109. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  110. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  111. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  112. // PARTICULAR PURPOSE.
  113. //--------------------------------------------------------------------------------
  114. #pragma comment(lib,"uuid.lib")
  115. // --------------------------------------------------------------------------------
  116. // GUIDS
  117. // --------------------------------------------------------------------------------
  118. // {6AD6A1EA-C19B-11d0-85EB-00C04FD85AB4}
  119. DEFINE_GUID(LIBID_MIMEOLE, 0x6ad6a1ea, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  120. // {6AD6A1EB-C19B-11d0-85EB-00C04FD85AB4}
  121. DEFINE_GUID(IID_IMimeEnumAddressTypes, 0x6ad6a1eb, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  122. // {6AD6A1EC-C19B-11d0-85EB-00C04FD85AB4}
  123. DEFINE_GUID(IID_IMimeWebDocument, 0x6ad6a1ec, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  124. // {6AD6A1ED-C19B-11d0-85EB-00C04FD85AB4}
  125. DEFINE_GUID(IID_IUnicodeStream, 0x6ad6a1ed, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  126. // {6AD6A1EE-C19B-11d0-85EB-00C04FD85AB4}
  127. DEFINE_GUID(IID_IMimeAddressTable, 0x6ad6a1ee, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  128. // {6AD6A1EF-C19B-11d0-85EB-00C04FD85AB4}
  129. DEFINE_GUID(IID_IMimeAddressInfo, 0x6ad6a1ef, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  130. // {6AD6A1F0-C19B-11d0-85EB-00C04FD85AB4}
  131. DEFINE_GUID(IID_IMimeEnumHeaderRows, 0x6ad6a1f0, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  132. // {6AD6A1F1-C19B-11d0-85EB-00C04FD85AB4}
  133. DEFINE_GUID(IID_IMimeInlineSupport, 0x6ad6a1f1, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  134. // {6AD6A1F2-C19B-11d0-85EB-00C04FD85AB4}
  135. DEFINE_GUID(IID_IMimeEnumMessageParts, 0x6ad6a1f2, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  136. // {6AD6A1F3-C19B-11d0-85EB-00C04FD85AB4}
  137. DEFINE_GUID(IID_IMimeSecurityInfo, 0x6ad6a1f3, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  138. // {6AD6A1F4-C19B-11d0-85EB-00C04FD85AB4}
  139. DEFINE_GUID(IID_IMimeSecurityOptions, 0x6ad6a1f4, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  140. // {6AD6A1F5-C19B-11d0-85EB-00C04FD85AB4}
  141. DEFINE_GUID(CLSID_IMimeInternational, 0x6ad6a1f5, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  142. // {6AD6A1F6-C19B-11d0-85EB-00C04FD85AB4}
  143. DEFINE_GUID(IID_IMimeInternational, 0x6ad6a1f6, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  144. // {6AD6A1F7-C19B-11d0-85EB-00C04FD85AB4}
  145. DEFINE_GUID(CLSID_IMimeBody, 0x6ad6a1f7, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  146. // {6AD6A1F8-C19B-11d0-85EB-00C04FD85AB4}
  147. DEFINE_GUID(IID_IMimeBody, 0x6ad6a1f8, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  148. // {6AD6A1F9-C19B-11d0-85EB-00C04FD85AB4}
  149. DEFINE_GUID(CLSID_IMimeMessageParts, 0x6ad6a1f9, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  150. // {6AD6A1FA-C19B-11d0-85EB-00C04FD85AB4}
  151. DEFINE_GUID(IID_IMimeMessageParts, 0x6ad6a1fa, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  152. // {6AD6A1FB-C19B-11d0-85EB-00C04FD85AB4}
  153. DEFINE_GUID(CLSID_IMimeAllocator, 0x6ad6a1fb, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  154. // {6AD6A1FC-C19B-11d0-85EB-00C04FD85AB4}
  155. DEFINE_GUID(IID_IMimeAllocator, 0x6ad6a1fc, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  156. // {6AD6A1FD-C19B-11d0-85EB-00C04FD85AB4}
  157. DEFINE_GUID(CLSID_IMimeSecurity, 0x6ad6a1fd, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  158. // {6AD6A1FE-C19B-11d0-85EB-00C04FD85AB4}
  159. DEFINE_GUID(IID_IMimeSecurity, 0x6ad6a1fe, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  160. // {6AD6A1FF-C19B-11d0-85EB-00C04FD85AB4}
  161. DEFINE_GUID(CLSID_IVirtualStream, 0x6ad6a1ff, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  162. // {6AD6A200-C19B-11d0-85EB-00C04FD85AB4}
  163. DEFINE_GUID(IID_IVirtualStream, 0x6ad6a200, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  164. // {6AD6A201-C19B-11d0-85EB-00C04FD85AB4}
  165. DEFINE_GUID(CLSID_IMimeHeaderTable, 0x6ad6a201, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  166. // {6AD6A202-C19B-11d0-85EB-00C04FD85AB4}
  167. DEFINE_GUID(IID_IMimeHeaderTable, 0x6ad6a202, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  168. // {6AD6A203-C19B-11d0-85EB-00C04FD85AB4}
  169. DEFINE_GUID(CLSID_IMimePropertySet, 0x6ad6a203, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  170. // {6AD6A204-C19B-11d0-85EB-00C04FD85AB4}
  171. DEFINE_GUID(IID_IMimePropertySet, 0x6ad6a204, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  172. // {6AD6A205-C19B-11d0-85EB-00C04FD85AB4}
  173. DEFINE_GUID(CLSID_IMimeMessageTree, 0x6ad6a205, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  174. // {6AD6A206-C19B-11d0-85EB-00C04FD85AB4}
  175. DEFINE_GUID(IID_IMimeMessageTree, 0x6ad6a206, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  176. // {6AD6A207-C19B-11d0-85EB-00C04FD85AB4}
  177. DEFINE_GUID(CLSID_IMimeMessage, 0x6ad6a207, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  178. // {6AD6A208-C19B-11d0-85EB-00C04FD85AB4}
  179. DEFINE_GUID(IID_IMimeMessage, 0x6ad6a208, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  180. // {6AD6A209-C19B-11d0-85EB-00C04FD85AB4}
  181. DEFINE_GUID(CLSID_IMimePropertySchema, 0x6ad6a209, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  182. // {6AD6A20A-C19B-11d0-85EB-00C04FD85AB4}
  183. DEFINE_GUID(IID_IMimePropertySchema, 0x6ad6a20a, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  184. // {6AD6A20B-C19B-11d0-85EB-00C04FD85AB4}
  185. DEFINE_GUID(IID_IMimeEnumProperties, 0x6ad6a20b, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  186. // {6AD6A20C-C19B-11d0-85EB-00C04FD85AB4}
  187. DEFINE_GUID(CLSID_IMimeBindHost,0x6ad6a20c, 0xc19b, 0x11d0, 0x85, 0xeb, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);
  188. // --------------------------------------------------------------------------------
  189. // Errors
  190. // --------------------------------------------------------------------------------
  191. #ifndef FACILITY_INTERNET
  192. #define FACILITY_INTERNET 12
  193. #endif
  194. #ifndef HR_E
  195. #define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)
  196. #endif
  197. #ifndef HR_S
  198. #define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)
  199. #endif
  200. #ifndef HR_CODE
  201. #define HR_CODE(hr) (INT)(hr & 0xffff)
  202. #endif
  203. // --------------------------------------------------------------------------------
  204. // MIMEOLE Failure Return Values
  205. // --------------------------------------------------------------------------------
  206. #define MIME_E_REG_CREATE_KEY HR_E(0xCE01)
  207. #define MIME_E_REG_QUERY_INFO HR_E(0xCE02)
  208. #define MIME_E_INVALID_ENCTYPE HR_E(0xCE03)
  209. #define MIME_E_BOUNDARY_MISMATCH HR_E(0xCE04)
  210. #define MIME_E_NOT_FOUND HR_E(0xCE05)
  211. #define MIME_E_NO_DATA HR_E(0xCE05)
  212. #define MIME_E_BUFFER_TOO_SMALL HR_E(0xCE06)
  213. #define MIME_E_INVALID_ITEM_FLAGS HR_E(0xCE07)
  214. #define MIME_E_ONE_LINE_ITEM HR_E(0xCE08)
  215. #define MIME_E_INVALID_HANDLE HR_E(0xCE09)
  216. #define MIME_E_CHARSET_TRANSLATE HR_E(0xCE0A)
  217. #define MIME_E_NOT_INITIALIZED HR_E(0xCE0B)
  218. #define MIME_E_NO_MORE_ROWS HR_E(0xCE0C)
  219. #define MIME_E_ALREADY_BOUND HR_E(0xCE0D)
  220. #define MIME_E_CANT_RESET_ROOT HR_E(0xCE0E)
  221. #define MIME_E_INSERT_NOT_ALLOWED HR_E(0xCE0F)
  222. #define MIME_E_BAD_BODY_LOCATION HR_E(0xCE10)
  223. #define MIME_E_NOT_MULTIPART HR_E(0xCE11)
  224. #define MIME_E_NO_MULTIPART_BOUNDARY HR_E(0xCE12)
  225. #define MIME_E_CONVERT_NOT_NEEDED HR_E(0xCE13)
  226. #define MIME_E_CANT_MOVE_BODY HR_E(0xCE14)
  227. #define MIME_E_UNKNOWN_BODYTREE_VERSION HR_E(0xCE15)
  228. #define MIME_E_NOTHING_TO_SAVE HR_E(0xCE16)
  229. #define MIME_E_NEED_SAVE_MESSAGE HR_E(0xCE17)
  230. #define MIME_E_NOTHING_TO_REVERT HR_E(0xCE18)
  231. #define MIME_E_MSG_SIZE_DIFF HR_E(0xCE19)
  232. #define MIME_E_CANT_RESET_PARENT HR_E(0xCE1A)
  233. #define MIME_E_CORRUPT_CACHE_TREE HR_E(0xCE1B)
  234. #define MIME_E_BODYTREE_OUT_OF_SYNC HR_E(0xCE1C)
  235. #define MIME_E_INVALID_ENCODINGTYPE HR_E(0xCE1D)
  236. #define MIME_E_MULTIPART_NO_DATA HR_E(0xCE1E)
  237. #define MIME_E_INVALID_OPTION_VALUE HR_E(0xCE1F)
  238. #define MIME_E_INVALID_OPTION_ID HR_E(0xCE20)
  239. #define MIME_E_INVALID_HEADER_NAME HR_E(0xCE21)
  240. #define MIME_E_NOT_BOUND HR_E(0xCE22)
  241. #define MIME_E_MAX_SIZE_TOO_SMALL HR_E(0xCE23)
  242. #define MIME_E_MULTIPART_HAS_CHILDREN HR_E(0xCE25)
  243. #define MIME_E_INVALID_PROP_FLAGS HR_E(0xCE26)
  244. #define MIME_E_INVALID_ADDRESS_TYPE HR_E(0xCE27)
  245. #define MIME_E_INVALID_OBJECT_IID HR_E(0xCE28)
  246. #define MIME_E_MLANG_DLL_NOT_FOUND HR_E(0xCE29)
  247. #define MIME_E_ROOT_NOT_EMPTY HR_E(0xCE2A)
  248. #define MIME_E_MLANG_BAD_DLL HR_E(0xCE2B)
  249. #define MIME_E_REG_OPEN_KEY HR_E(0xCE2C)
  250. #define MIME_E_INVALID_INET_DATE HR_E(0xCE2D)
  251. #define MIME_E_INVALID_BODYTYPE HR_E(0xCE2E)
  252. #define MIME_E_INVALID_DELETE_TYPE HR_E(0xCE2F)
  253. #define MIME_E_OPTION_HAS_NO_VALUE HR_E(0xCE30)
  254. #define MIME_E_INVALID_CHARSET_TYPE HR_E(0xCE31)
  255. #define MIME_E_VARTYPE_NO_CONVERT HR_E(0xCE32)
  256. #define MIME_E_INVALID_VARTYPE HR_E(0xCE33)
  257. #define MIME_E_NO_MORE_ADDRESS_TYPES HR_E(0xCE34)
  258. #define MIME_E_INVALID_ENCODING_TYPE HR_E(0xCE35)
  259. #define MIME_S_ILLEGAL_LINES_FOUND HR_S(0xCE36)
  260. #define MIME_S_MIME_VERSION HR_S(0xCE37)
  261. #define MIME_E_INVALID_TEXT_TYPE HR_E(0xCE38)
  262. #define MIME_E_READ_ONLY HR_E(0xCE39)
  263. #define MIME_S_INVALID_MESSAGE HR_S(0xCE3A)
  264. // ---------------------------------------------------------------------------
  265. // MIMEOLE Security Error Return Values
  266. // ---------------------------------------------------------------------------
  267. #define MIME_E_SECURITY_NOTINIT HR_E(0xCEA0)
  268. #define MIME_E_SECURITY_LOADCRYPT32 HR_E(0xCEA1)
  269. #define MIME_E_SECURITY_BADPROCADDR HR_E(0xCEA2)
  270. #define MIME_E_SECURITY_NODEFAULT HR_E(0xCEB0)
  271. #define MIME_E_SECURITY_NOOP HR_E(0xCEB1)
  272. #define MIME_S_SECURITY_NOOP HR_S(0xCEB1)
  273. #define MIME_S_SECURITY_NONE HR_S(0xCEB2)
  274. #define MIME_S_SECURITY_ERROROCCURED HR_S(0xCEB3)
  275. #define MIME_E_SECURITY_USERCHOICE HR_E(0xCEB4)
  276. #define MIME_E_SECURITY_UNKMSGTYPE HR_E(0xCEB5)
  277. #define MIME_E_SECURITY_BADMESSAGE HR_E(0xCEB6)
  278. #define MIME_E_SECURITY_BADCONTENT HR_E(0xCEB7)
  279. #define MIME_E_SECURITY_BADSECURETYPE HR_E(0xCEB8)
  280. #define MIME_E_SECURITY_BADSTORE HR_E(0xCED0)
  281. #define MIME_E_SECURITY_NOCERT HR_E(0xCED1)
  282. #define MIME_E_SECURITY_CERTERROR HR_E(0xCED2)
  283. #define MIME_S_SECURITY_NODEFCERT HR_S(0xCED3)
  284. #define MIME_E_SECURITY_BADSIGNATURE HR_E(0xCEE0)
  285. #define MIME_E_SECURITY_MULTSIGNERS HR_E(0xCEE1)
  286. #define MIME_E_SECURITY_NOSIGNINGCERT HR_E(0xCEE2)
  287. #define MIME_E_SECURITY_CANTDECRYPT HR_E(0xCEF0)
  288. #define MIME_E_SECURITY_ENCRYPTNOSENDERCERT HR_E(0xCEF1)
  289. // ---------------------------------------------------------------------------
  290. // MIMEOLE Security Ignore Masks
  291. // Pass these to the enocode/decode functions to admit "acceptible"
  292. // errors. Acceptible defined to be the bits set on this mask.
  293. // ---------------------------------------------------------------------------
  294. #define MIME_SECURITY_IGNORE_ENCRYPTNOSENDERCERT 0x0001
  295. #define MIME_SECURITY_IGNORE_BADSIGNATURE 0x0002
  296. #define MIME_SECURITY_IGNORE_NOCERT 0x0004
  297. #define MIME_SECURITY_IGNORE_ALL 0xffff
  298. // --------------------------------------------------------------------------------
  299. // String Definition Macros
  300. // --------------------------------------------------------------------------------
  301. #ifdef __cplusplus
  302. #define EXTERN_C extern "C"
  303. #else
  304. #define EXTERN_C extern
  305. #endif
  306. #ifdef DEFINE_STRCONST
  307. #define STRCONSTA(x,y) EXTERN_C const char x[] = y
  308. #define STRCONSTW(x,y) EXTERN_C const WCHAR x[] = L##y
  309. #else
  310. #define STRCONSTA(x,y) EXTERN_C const char x[]
  311. #define STRCONSTW(x,y) EXTERN_C const WCHAR x[]
  312. #endif
  313. // --------------------------------------------------------------------------------
  314. // rfc822 Headers
  315. // --------------------------------------------------------------------------------
  316. STRCONSTA(STR_HDR_FROM, "From");
  317. STRCONSTA(STR_HDR_TO, "To");
  318. STRCONSTA(STR_HDR_CC, "Cc");
  319. STRCONSTA(STR_HDR_BCC, "Bcc");
  320. STRCONSTA(STR_HDR_SENDER, "Sender");
  321. STRCONSTA(STR_HDR_REPLYTO, "Reply-To");
  322. STRCONSTA(STR_HDR_RETURNPATH, "Return-Path");
  323. STRCONSTA(STR_HDR_RR, "Rr");
  324. STRCONSTA(STR_HDR_RETRCPTTO, "Return-Receipt-To");
  325. STRCONSTA(STR_HDR_APPARTO, "Apparently-To");
  326. STRCONSTA(STR_HDR_DATE, "Date");
  327. STRCONSTA(STR_HDR_RECEIVED, "Received");
  328. STRCONSTA(STR_HDR_MESSAGEID, "Message-ID");
  329. STRCONSTA(STR_HDR_XMAILER, "X-Mailer");
  330. STRCONSTA(STR_HDR_ENCODING, "Encoding");
  331. STRCONSTA(STR_HDR_ENCRYPTED, "Encrypted");
  332. STRCONSTA(STR_HDR_COMMENT, "Comment");
  333. STRCONSTA(STR_HDR_SUBJECT, "Subject");
  334. STRCONSTA(STR_HDR_MIMEVER, "MIME-Version");
  335. STRCONSTA(STR_HDR_CNTTYPE, "Content-Type");
  336. STRCONSTA(STR_HDR_CNTXFER, "Content-Transfer-Encoding");
  337. STRCONSTA(STR_HDR_CNTID, "Content-ID");
  338. STRCONSTA(STR_HDR_CNTDESC, "Content-Description");
  339. STRCONSTA(STR_HDR_CNTDISP, "Content-Disposition");
  340. STRCONSTA(STR_HDR_CNTBASE, "Content-Base");
  341. STRCONSTA(STR_HDR_CNTLOC, "Content-Location");
  342. STRCONSTA(STR_HDR_NEWSGROUPS, "Newsgroups");
  343. STRCONSTA(STR_HDR_PATH, "Path");
  344. STRCONSTA(STR_HDR_FOLLOWUPTO, "Followup-To");
  345. STRCONSTA(STR_HDR_EXPIRES, "Expires");
  346. STRCONSTA(STR_HDR_REFS, "References");
  347. STRCONSTA(STR_HDR_CONTROL, "Control");
  348. STRCONSTA(STR_HDR_DISTRIB, "Distribution");
  349. STRCONSTA(STR_HDR_KEYWORDS, "Keywords");
  350. STRCONSTA(STR_HDR_SUMMARY, "Summary");
  351. STRCONSTA(STR_HDR_APPROVED, "Approved");
  352. STRCONSTA(STR_HDR_LINES, "Lines");
  353. STRCONSTA(STR_HDR_XREF, "Xref");
  354. STRCONSTA(STR_HDR_ORG, "Organization");
  355. STRCONSTA(STR_HDR_XNEWSRDR, "X-Newsreader");
  356. STRCONSTA(STR_HDR_XPRI, "X-Priority");
  357. STRCONSTA(STR_HDR_XMSPRI, "X-MSMail-Priority");
  358. STRCONSTA(STR_HDR_OFFSETS, "X-Offsets");
  359. STRCONSTA(STR_HDR_XUNSENT, "X-Unsent");
  360. STRCONSTA(STR_HDR_ARTICLEID, "X-ArticleId");
  361. STRCONSTA(STR_HDR_NEWSGROUP, "X-Newsgroup");
  362. // --------------------------------------------------------------------------------
  363. // Parameters Available through IMimePropertySet/IMimeBody
  364. // --------------------------------------------------------------------------------
  365. STRCONSTA(STR_PAR_CHARSET, "par:content-type:charset");
  366. STRCONSTA(STR_PAR_NUMBER, "par:content-type:number");
  367. STRCONSTA(STR_PAR_TOTAL, "par:content-type:total");
  368. STRCONSTA(STR_PAR_ID, "par:content-type:id");
  369. STRCONSTA(STR_PAR_BOUNDARY, "par:content-type:boundary");
  370. STRCONSTA(STR_PAR_NAME, "par:content-type:name");
  371. STRCONSTA(STR_PAR_PROTOCOL, "par:content-type:protocol");
  372. STRCONSTA(STR_PAR_MICALG, "par:content-type:micalg");
  373. STRCONSTA(STR_PAR_FILENAME, "par:content-disposition:filename");
  374. STRCONSTA(STR_PAR_TYPE, "par:content-type:type");
  375. STRCONSTA(STR_PAR_START, "par:content-type:start");
  376. // --------------------------------------------------------------------------------
  377. // Attributes Available through IMimePropertySet/IMimeBody
  378. // --------------------------------------------------------------------------------
  379. STRCONSTA(STR_ATT_FILENAME, "att:filename");
  380. STRCONSTA(STR_ATT_GENFNAME, "att:generated-filename");
  381. STRCONSTA(STR_ATT_PRITYPE, "att:pri-content-type");
  382. STRCONSTA(STR_ATT_SUBTYPE, "att:sub-content-type");
  383. STRCONSTA(STR_ATT_NORMSUBJ, "att:normalized-subject");
  384. STRCONSTA(STR_ATT_ILLEGAL, "att:illegal-lines");
  385. STRCONSTA(STR_ATT_RESOURL, "att:resolved-url");
  386. STRCONSTA(STR_ATT_SENTTIME, "att:sent-time");
  387. STRCONSTA(STR_ATT_RECVTIME, "att:received-time");
  388. STRCONSTA(STR_ATT_PRIORITY, "att:priority");
  389. // --------------------------------------------------------------------------------
  390. // MIME Content Types
  391. // --------------------------------------------------------------------------------
  392. STRCONSTA(STR_MIME_TEXT_PLAIN, "text/plain");
  393. STRCONSTA(STR_MIME_TEXT_HTML, "text/html");
  394. STRCONSTA(STR_MIME_APPL_STREAM, "application/octet-stream");
  395. STRCONSTA(STR_MIME_MPART_MIXED, "multipart/mixed");
  396. STRCONSTA(STR_MIME_MPART_ALT, "multipart/alternative");
  397. STRCONSTA(STR_MIME_MPART_RELATED, "multipart/related");
  398. STRCONSTA(STR_MIME_MSG_PART, "message/partial");
  399. STRCONSTA(STR_MIME_MSG_RFC822, "message/rfc822");
  400. STRCONSTA(STR_MIME_APPLY_MSTNEF, "application/ms-tnef");
  401. // --------------------------------------------------------------------------------
  402. // MIME Primary Content Types
  403. // --------------------------------------------------------------------------------
  404. STRCONSTA(STR_CNT_TEXT, "text");
  405. STRCONSTA(STR_CNT_MULTIPART, "multipart");
  406. STRCONSTA(STR_CNT_MESSAGE, "message");
  407. STRCONSTA(STR_CNT_IMAGE, "image");
  408. STRCONSTA(STR_CNT_AUDIO, "audio");
  409. STRCONSTA(STR_CNT_VIDEO, "video");
  410. STRCONSTA(STR_CNT_APPLICATION, "application");
  411. // --------------------------------------------------------------------------------
  412. // MIME Secondary Content Types
  413. // --------------------------------------------------------------------------------
  414. STRCONSTA(STR_SUB_PLAIN, "plain");
  415. STRCONSTA(STR_SUB_HTML, "html");
  416. STRCONSTA(STR_SUB_RTF, "ms-rtf");
  417. STRCONSTA(STR_SUB_MIXED, "mixed");
  418. STRCONSTA(STR_SUB_PARALLEL, "parallel");
  419. STRCONSTA(STR_SUB_DIGEST, "digest");
  420. STRCONSTA(STR_SUB_RELATED, "related");
  421. STRCONSTA(STR_SUB_ALTERNATIVE, "alternative");
  422. STRCONSTA(STR_SUB_RFC822, "rfc822");
  423. STRCONSTA(STR_SUB_PARTIAL, "partial");
  424. STRCONSTA(STR_SUB_EXTERNAL, "external-body");
  425. STRCONSTA(STR_SUB_OCTETSTREAM, "octet-stream");
  426. STRCONSTA(STR_SUB_POSTSCRIPT, "postscript");
  427. STRCONSTA(STR_SUB_GIF, "gif");
  428. STRCONSTA(STR_SUB_JPEG, "jpeg");
  429. STRCONSTA(STR_SUB_BASIC, "basic");
  430. STRCONSTA(STR_SUB_MPEG, "mpeg");
  431. STRCONSTA(STR_SUB_MSTNEF, "ms-tnef");
  432. STRCONSTA(STR_SUB_MSWORD, "msword");
  433. STRCONSTA(STR_SUB_WAV, "wav");
  434. STRCONSTA(STR_SUB_PKCS7MIME, "x-pkcs7-mime");
  435. STRCONSTA(STR_SUB_PKCS7SIG, "x-pkcs7-signature");
  436. STRCONSTA(STR_SUB_SIGNED, "signed");
  437. // --------------------------------------------------------------------------------
  438. // MIME Content-Transfer-Encoding Types
  439. // --------------------------------------------------------------------------------
  440. STRCONSTA(STR_ENC_7BIT, "7bit");
  441. STRCONSTA(STR_ENC_QP, "quoted-printable");
  442. STRCONSTA(STR_ENC_BASE64, "base64");
  443. STRCONSTA(STR_ENC_8BIT, "8bit");
  444. STRCONSTA(STR_ENC_BINARY, "binary");
  445. STRCONSTA(STR_ENC_UUENCODE, "uuencode");
  446. STRCONSTA(STR_ENC_XUUENCODE, "x-uuencode");
  447. STRCONSTA(STR_ENC_XUUE, "x-uue");
  448. // --------------------------------------------------------------------------------
  449. // MIME Content-Disposition Types
  450. // --------------------------------------------------------------------------------
  451. STRCONSTA(STR_DIS_INLINE, "inline");
  452. STRCONSTA(STR_DIS_ATTACHMENT, "attachment");
  453. // --------------------------------------------------------------------------------
  454. // MIME Protocol Types
  455. // --------------------------------------------------------------------------------
  456. STRCONSTA(STR_PRO_SHA1, "sha1");
  457. STRCONSTA(STR_PRO_MD5, "rsa-md5");
  458. // --------------------------------------------------------------------------------
  459. // Known Priority Strings
  460. // --------------------------------------------------------------------------------
  461. STRCONSTA(STR_PRI_MS_HIGH, "High");
  462. STRCONSTA(STR_PRI_MS_NORMAL, "Normal");
  463. STRCONSTA(STR_PRI_MS_LOW, "Low");
  464. STRCONSTA(STR_PRI_HIGH, "1");
  465. STRCONSTA(STR_PRI_NORMAL, "3");
  466. STRCONSTA(STR_PRI_LOW, "5");
  467. // --------------------------------------------------------------------------------
  468. // IMimeMessage IDataObject clipboard formats (also include CF_TEXT)
  469. // --------------------------------------------------------------------------------
  470. STRCONSTA(STR_CF_HTML, "HTML Format");
  471. STRCONSTA(STR_CF_INETMSG, "Internet Message (rfc822/rfc1522)");
  472. STRCONSTA(STR_CF_RFC822, "message/rfc822");
  473. // --------------------------------------------------------------------------------
  474. // PIDSTRING - Use in GetProp, SetProp, QueryProp, DeleteProp
  475. // --------------------------------------------------------------------------------
  476. #define PID_BASE 2
  477. #define PIDTOSTR(_dwPropId) ((LPCSTR)((DWORD_PTR)(_dwPropId)))
  478. #define STRTOPID(_pszName) ((DWORD)((DWORD_PTR)((LPCSTR)(_pszName))))
  479. #define ISPIDSTR(_pszName) ((HIWORD((DWORD_PTR)(_pszName)) == 0))
  480. #define ISKNOWNPID(_dwPropId) (_dwPropId >= PID_BASE && _dwPropId < PID_LAST)
  481. // --------------------------------------------------------------------------------
  482. // Mime Property Ids
  483. // --------------------------------------------------------------------------------
  484. typedef enum tagMIMEPROPID {
  485. PID_HDR_NEWSGROUP = 2,
  486. PID_HDR_NEWSGROUPS = 3,
  487. PID_HDR_REFS = 4,
  488. PID_HDR_SUBJECT = 5,
  489. PID_HDR_FROM = 6,
  490. PID_HDR_MESSAGEID = 7,
  491. PID_HDR_RETURNPATH = 8,
  492. PID_HDR_RR = 9,
  493. PID_HDR_RETRCPTTO = 10,
  494. PID_HDR_APPARTO = 11,
  495. PID_HDR_DATE = 12,
  496. PID_HDR_RECEIVED = 13,
  497. PID_HDR_REPLYTO = 14,
  498. PID_HDR_XMAILER = 15,
  499. PID_HDR_BCC = 16,
  500. PID_HDR_MIMEVER = 17,
  501. PID_HDR_CNTTYPE = 18,
  502. PID_HDR_CNTXFER = 19,
  503. PID_HDR_CNTID = 20,
  504. PID_HDR_CNTDESC = 21,
  505. PID_HDR_CNTDISP = 22,
  506. PID_HDR_CNTBASE = 23,
  507. PID_HDR_CNTLOC = 24,
  508. PID_HDR_TO = 25,
  509. PID_HDR_PATH = 26,
  510. PID_HDR_FOLLOWUPTO = 27,
  511. PID_HDR_EXPIRES = 28,
  512. PID_HDR_CC = 29,
  513. PID_HDR_CONTROL = 30,
  514. PID_HDR_DISTRIB = 31,
  515. PID_HDR_KEYWORDS = 32,
  516. PID_HDR_SUMMARY = 33,
  517. PID_HDR_APPROVED = 34,
  518. PID_HDR_LINES = 35,
  519. PID_HDR_XREF = 36,
  520. PID_HDR_ORG = 37,
  521. PID_HDR_XNEWSRDR = 38,
  522. PID_HDR_XPRI = 39,
  523. PID_HDR_XMSPRI = 40,
  524. PID_PAR_FILENAME = 41,
  525. PID_PAR_BOUNDARY = 42,
  526. PID_PAR_CHARSET = 43,
  527. PID_PAR_NAME = 44,
  528. PID_ATT_FILENAME = 45,
  529. PID_ATT_GENFNAME = 46,
  530. PID_ATT_PRITYPE = 47,
  531. PID_ATT_SUBTYPE = 48,
  532. PID_ATT_NORMSUBJ = 49,
  533. PID_ATT_ILLEGAL = 50,
  534. PID_ATT_RESOURL = 51,
  535. PID_ATT_SENTTIME = 52,
  536. PID_ATT_RECVTIME = 53,
  537. PID_ATT_PRIORITY = 54,
  538. PID_HDR_COMMENT = 55,
  539. PID_HDR_ENCODING = 56,
  540. PID_HDR_ENCRYPTED = 57,
  541. PID_HDR_OFFSETS = 58,
  542. PID_HDR_XUNSENT = 59,
  543. PID_HDR_ARTICLEID = 60,
  544. PID_HDR_SENDER = 61,
  545. PID_LAST = 62
  546. };
  547. // --------------------------------------------------------------------------------
  548. // Variant Typed Identifiers
  549. // --------------------------------------------------------------------------------
  550. #define TYPEDID_MASK ((ULONG)0x0000FFFF)
  551. #define TYPEDID_TYPE(_typedid) (VARTYPE)(((ULONG)(_typedid)) & TYPEDID_MASK)
  552. #define TYPEDID_ID(_typedid) (((ULONG)(_typedid))>>16)
  553. #define TYPEDID(_vartype,_id) ((((TYPEDID)(_id))<<16)|((ULONG)(_vartype)))
  554. // --------------------------------------------------------------------------------
  555. // Options Ids
  556. // --------------------------------------------------------------------------------
  557. #define OID_ALLOW_8BIT_HEADER TYPEDID(VT_BOOL, 0x0001) // TRUE or FALSE
  558. #define OID_CBMAX_HEADER_LINE TYPEDID(VT_UI4, 0x0002) // Bytes
  559. #define OID_SAVE_FORMAT TYPEDID(VT_UI4, 0x0003) // SAVE_RFC822 or SAVE_RFC1521 (mime)
  560. #define OID_WRAP_BODY_TEXT TYPEDID(VT_BOOL, 0x0004) // TRUE or FALSE
  561. #define OID_CBMAX_BODY_LINE TYPEDID(VT_UI4, 0x0005) // Bytes
  562. #define OID_TRANSMIT_BODY_ENCODING TYPEDID(VT_UI4, 0x0006) // ENCODINGTYPE
  563. #define OID_TRANSMIT_TEXT_ENCODING TYPEDID(VT_UI4, 0x0007) // ENCODINGTYPE
  564. #define OID_GENERATE_MESSAGE_ID TYPEDID(VT_BOOL, 0x0008) // TRUE or FALSE
  565. #define OID_HASH_ALG_ID TYPEDID(VT_UI4, 0x0009)
  566. #define OID_ENCRYPTION_ALG_ID TYPEDID(VT_UI4, 0x000A)
  567. #define OID_MESSAGE_SECURE_TYPE TYPEDID(VT_UI2, 0x000B)
  568. #define OID_SENDER_SIGNATURE_THUMBPRINT TYPEDID(VT_BLOB, 0X000C)
  569. #define OID_INCLUDE_SENDER_CERT TYPEDID(VT_BOOL, 0X000D) // TRUE or FALSE
  570. #define OID_HIDE_TNEF_ATTACHMENTS TYPEDID(VT_BOOL, 0X000E) // TRUE or FALSE
  571. #define OID_CLEANUP_TREE_ON_SAVE TYPEDID(VT_BOOL, 0X000F) // TRUE or FALSE
  572. #define OID_SENDER_ENCRYPTION_THUMBPRINT TYPEDID(VT_BLOB, 0X0010)
  573. #define OID_ENCODE_SIDE_OPTIONSET TYPEDID(VT_BOOL, 0X0011) // TRUE or FALSE
  574. #define OID_SENDER_CERTIFICATE TYPEDID(VT_BOOL, 0x0012) // TRUE or FALSE
  575. #define OID_SECURITY_IGNOREMASK TYPEDID(VT_UI4, 0x0013) // MIME_SECURITY_IGNORE_*
  576. #define OID_BODY_REMOVE_NBSP TYPEDID(VT_BOOL, 0x0014) // TRUE or FALSE
  577. #define OID_DEFAULT_BODY_CHARSET TYPEDID(VT_UI4, 0x0015) // HCHARSET
  578. #define OID_DEFAULT_HEADER_CHARSET TYPEDID(VT_UI4, 0x0016) // HCHARSET
  579. #define OID_TRUST_SENDERS_CERTIFICATE TYPEDID(VT_BOOL, 0x0017) // TRUE or FALSE
  580. #define OID_DBCS_ESCAPE_IS_8BIT TYPEDID(VT_BOOL, 0x0018) // TRUE or FALSE
  581. // --------------------------------------------------------------------------------
  582. // Default Option Values
  583. // --------------------------------------------------------------------------------
  584. #define DEF_ALLOW_8BIT_HEADER FALSE
  585. #define DEF_CBMAX_HEADER_LINE 1000
  586. #define DEF_SAVE_FORMAT SAVE_RFC1521
  587. #define DEF_WRAP_BODY_TEXT TRUE
  588. #define DEF_CBMAX_BODY_LINE 74
  589. #define DEF_GENERATE_MESSAGE_ID FALSE
  590. #define DEF_HASH_ALG_ID 0x8004 //SHA //N needed?
  591. #define DEF_ENCRYPTION_ALG_ID 0x6602 //RC2 //N needed?
  592. #define DEF_INCLUDE_SENDER_CERT FALSE
  593. #define DEF_HIDE_TNEF_ATTACHMENTS TRUE
  594. #define DEF_CLEANUP_TREE_ON_SAVE TRUE
  595. #define DEF_BODY_REMOVE_NBSP TRUE
  596. #define DEF_SECURITY_IGNOREMASK 0
  597. #define DEF_DBCS_ESCAPE_IS_8BIT FALSE
  598. #define DEF_TRANSMIT_BODY_ENCODING IET_UNKNOWN
  599. #define DEF_TRANSMIT_TEXT_ENCODING IET_7BIT
  600. // --------------------------------------------------------------------------------
  601. // Min-Max Option Values
  602. // --------------------------------------------------------------------------------
  603. #define MAX_CBMAX_HEADER_LINE 0xffffffff
  604. #define MIN_CBMAX_HEADER_LINE 76
  605. #define MAX_CBMAX_BODY_LINE 0xffffffff
  606. #define MIN_CBMAX_BODY_LINE 30
  607. // --------------------------------------------------------------------------------
  608. // LIBID_MIMEOLE
  609. // --------------------------------------------------------------------------------
  610. extern RPC_IF_HANDLE __MIDL_itf_mimeole_0000_v0_0_c_ifspec;
  611. extern RPC_IF_HANDLE __MIDL_itf_mimeole_0000_v0_0_s_ifspec;
  612. #ifndef __MIMEOLE_LIBRARY_DEFINED__
  613. #define __MIMEOLE_LIBRARY_DEFINED__
  614. /****************************************
  615. * Generated header for library: MIMEOLE
  616. * at Mon May 12 23:53:20 1997
  617. * using MIDL 3.02.88
  618. ****************************************/
  619. /* [version][helpstring][uuid] */
  620. typedef DWORD TYPEDID;
  621. typedef
  622. enum tagMIMESAVETYPE
  623. { SAVE_RFC822 = 0,
  624. SAVE_RFC1521 = SAVE_RFC822 + 1
  625. } MIMESAVETYPE;
  626. typedef
  627. enum tagCSETAPPLYTYPE
  628. { CSET_APPLY_UNTAGGED = 0,
  629. CSET_APPLY_ALL = CSET_APPLY_UNTAGGED + 1
  630. } CSETAPPLYTYPE;
  631. typedef
  632. enum tagENCODINGTYPE
  633. { IET_BINARY = 0,
  634. IET_BASE64 = IET_BINARY + 1,
  635. IET_UUENCODE = IET_BASE64 + 1,
  636. IET_QP = IET_UUENCODE + 1,
  637. IET_7BIT = IET_QP + 1,
  638. IET_8BIT = IET_7BIT + 1,
  639. IET_INETCSET = IET_8BIT + 1,
  640. IET_UNICODE = IET_INETCSET + 1,
  641. IET_RFC1522 = IET_UNICODE + 1,
  642. IET_ENCODED = IET_RFC1522 + 1,
  643. IET_CURRENT = IET_ENCODED + 1,
  644. IET_UNKNOWN = IET_CURRENT + 1
  645. } ENCODINGTYPE;
  646. #define IET_DECODED ( IET_BINARY )
  647. struct HCHARSET__
  648. {
  649. DWORD unused;
  650. };
  651. typedef struct HCHARSET__ *HCHARSET;
  652. typedef HCHARSET __RPC_FAR *LPHCHARSET;
  653. struct HBODY__
  654. {
  655. DWORD unused;
  656. };
  657. typedef struct HBODY__ *HBODY;
  658. typedef HBODY __RPC_FAR *LPHBODY;
  659. struct HHEADERROW__
  660. {
  661. DWORD unused;
  662. };
  663. typedef struct HHEADERROW__ *HHEADERROW;
  664. typedef HHEADERROW __RPC_FAR *LPHHEADERROW;
  665. #define CCHMAX_HEADER_LINE ( 1000 )
  666. EXTERN_C const IID LIBID_MIMEOLE;
  667. #ifndef __IMimeInternational_INTERFACE_DEFINED__
  668. #define __IMimeInternational_INTERFACE_DEFINED__
  669. /****************************************
  670. * Generated header for interface: IMimeInternational
  671. * at Mon May 12 23:53:20 1997
  672. * using MIDL 3.02.88
  673. ****************************************/
  674. /* [object][helpstring][uuid] */
  675. typedef /* [unique] */ IMimeInternational __RPC_FAR *LPMIMEINTERNATIONAL;
  676. typedef DWORD CODEPAGEID;
  677. #define CP_USASCII ( 1252 )
  678. #define CP_UNICODE ( 1200 )
  679. #define CP_JAUTODETECT ( 50932 )
  680. #define CCHMAX_CSET_NAME ( 128 )
  681. #define CCHMAX_LANG_NAME ( 128 )
  682. #define CCHMAX_FACE_NAME ( 128 )
  683. typedef struct tagINETCSETINFO
  684. {
  685. CHAR szName[ 128 ];
  686. HCHARSET hCharset;
  687. CODEPAGEID cpiWindows;
  688. CODEPAGEID cpiInternet;
  689. DWORD dwReserved1;
  690. } INETCSETINFO;
  691. typedef struct tagINETCSETINFO __RPC_FAR *LPINETCSETINFO;
  692. typedef
  693. enum tagINETLANGMASK
  694. { ILM_FAMILY = 0x1,
  695. ILM_NAME = 0x2,
  696. ILM_BODYCSET = 0x4,
  697. ILM_HEADERCSET = 0x8,
  698. ILM_WEBCSET = 0x10,
  699. ILM_FIXEDFONT = 0x20,
  700. ILM_VARIABLEFONT = 0x40
  701. } INETLANGMASK;
  702. typedef struct tagCODEPAGEINFO
  703. {
  704. DWORD dwMask;
  705. CODEPAGEID cpiCodePage;
  706. BOOL fIsValidCodePage;
  707. ULONG ulMaxCharSize;
  708. BOOL fInternetCP;
  709. CODEPAGEID cpiFamily;
  710. CHAR szName[ 128 ];
  711. CHAR szBodyCset[ 128 ];
  712. CHAR szHeaderCset[ 128 ];
  713. CHAR szWebCset[ 128 ];
  714. CHAR szFixedFont[ 128 ];
  715. CHAR szVariableFont[ 128 ];
  716. ENCODINGTYPE ietNewsDefault;
  717. ENCODINGTYPE ietMailDefault;
  718. DWORD dwReserved1;
  719. } CODEPAGEINFO;
  720. typedef struct tagCODEPAGEINFO __RPC_FAR *LPCODEPAGEINFO;
  721. typedef struct tagRFC1522INFO
  722. {
  723. BOOL fRfc1522Allowed;
  724. BOOL fRfc1522Used;
  725. BOOL fAllow8bit;
  726. HCHARSET hRfc1522Cset;
  727. } RFC1522INFO;
  728. typedef struct tagRFC1522INFO __RPC_FAR *LPRFC1522INFO;
  729. typedef
  730. enum tagCHARSETTYPE
  731. { CHARSET_BODY = 0,
  732. CHARSET_HEADER = CHARSET_BODY + 1,
  733. CHARSET_WEB = CHARSET_HEADER + 1
  734. } CHARSETTYPE;
  735. EXTERN_C const IID IID_IMimeInternational;
  736. #if defined(__cplusplus) && !defined(CINTERFACE)
  737. interface DECLSPEC_UUID("6AD6A1F6-C19B-11d0-85EB-00C04FD85AB4")
  738. IMimeInternational : public IUnknown
  739. {
  740. public:
  741. virtual HRESULT STDMETHODCALLTYPE SetDefaultCharset(
  742. /* [in] */ HCHARSET hCharset) = 0;
  743. virtual HRESULT STDMETHODCALLTYPE GetDefaultCharset(
  744. /* [out] */ LPHCHARSET phCharset) = 0;
  745. virtual HRESULT STDMETHODCALLTYPE GetCodePageCharset(
  746. /* [in] */ CODEPAGEID cpiCodePage,
  747. /* [in] */ CHARSETTYPE ctCsetType,
  748. /* [out] */ LPHCHARSET phCharset) = 0;
  749. virtual HRESULT STDMETHODCALLTYPE FindCharset(
  750. /* [in] */ LPCSTR pszCharset,
  751. /* [out] */ LPHCHARSET phCharset) = 0;
  752. virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
  753. /* [in] */ HCHARSET hCharset,
  754. /* [out][in] */ LPINETCSETINFO pCsetInfo) = 0;
  755. virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
  756. /* [in] */ CODEPAGEID cpiCodePage,
  757. /* [out][in] */ LPCODEPAGEINFO pCodePageInfo) = 0;
  758. virtual HRESULT STDMETHODCALLTYPE CanConvertCodePages(
  759. /* [in] */ CODEPAGEID cpiSource,
  760. /* [in] */ CODEPAGEID cpiDest) = 0;
  761. virtual HRESULT STDMETHODCALLTYPE DecodeHeader(
  762. /* [in] */ HCHARSET hCharset,
  763. /* [in] */ LPCSTR pszData,
  764. /* [out][in] */ LPPROPVARIANT pDecoded,
  765. /* [out][in] */ LPRFC1522INFO pRfc1522Info) = 0;
  766. virtual HRESULT STDMETHODCALLTYPE EncodeHeader(
  767. /* [in] */ HCHARSET hCharset,
  768. /* [in] */ LPPROPVARIANT pData,
  769. /* [out] */ LPSTR __RPC_FAR *ppszEncoded,
  770. /* [out][in] */ LPRFC1522INFO pRfc1522Info) = 0;
  771. virtual HRESULT STDMETHODCALLTYPE ConvertBuffer(
  772. /* [in] */ CODEPAGEID cpiSource,
  773. /* [in] */ CODEPAGEID cpiDest,
  774. /* [in] */ LPBLOB pIn,
  775. /* [out][in] */ LPBLOB pOut,
  776. /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  777. virtual HRESULT STDMETHODCALLTYPE ConvertString(
  778. /* [in] */ CODEPAGEID cpiSource,
  779. /* [in] */ CODEPAGEID cpiDest,
  780. /* [in] */ LPPROPVARIANT pIn,
  781. /* [out][in] */ LPPROPVARIANT pOut) = 0;
  782. virtual HRESULT STDMETHODCALLTYPE MLANG_ConvertInetReset( void) = 0;
  783. virtual HRESULT STDMETHODCALLTYPE MLANG_ConvertInetString(
  784. /* [in] */ CODEPAGEID cpiSource,
  785. /* [in] */ CODEPAGEID cpiDest,
  786. /* [in] */ LPCSTR pSource,
  787. /* [in] */ int __RPC_FAR *pnSizeOfSource,
  788. /* [out] */ LPSTR pDestination,
  789. /* [in] */ int __RPC_FAR *pnDstSize) = 0;
  790. virtual HRESULT STDMETHODCALLTYPE Rfc1522Decode(
  791. /* [in] */ LPCSTR pszValue,
  792. /* [ref][in] */ LPSTR pszCharset,
  793. /* [in] */ ULONG cchmax,
  794. /* [out] */ LPSTR __RPC_FAR *ppszDecoded) = 0;
  795. virtual HRESULT STDMETHODCALLTYPE Rfc1522Encode(
  796. /* [in] */ LPCSTR pszValue,
  797. /* [in] */ HCHARSET hCharset,
  798. /* [out] */ LPSTR __RPC_FAR *ppszEncoded) = 0;
  799. };
  800. #else /* C style interface */
  801. typedef struct IMimeInternationalVtbl
  802. {
  803. BEGIN_INTERFACE
  804. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  805. IMimeInternational __RPC_FAR * This,
  806. /* [in] */ REFIID riid,
  807. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  808. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  809. IMimeInternational __RPC_FAR * This);
  810. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  811. IMimeInternational __RPC_FAR * This);
  812. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultCharset )(
  813. IMimeInternational __RPC_FAR * This,
  814. /* [in] */ HCHARSET hCharset);
  815. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDefaultCharset )(
  816. IMimeInternational __RPC_FAR * This,
  817. /* [out] */ LPHCHARSET phCharset);
  818. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodePageCharset )(
  819. IMimeInternational __RPC_FAR * This,
  820. /* [in] */ CODEPAGEID cpiCodePage,
  821. /* [in] */ CHARSETTYPE ctCsetType,
  822. /* [out] */ LPHCHARSET phCharset);
  823. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindCharset )(
  824. IMimeInternational __RPC_FAR * This,
  825. /* [in] */ LPCSTR pszCharset,
  826. /* [out] */ LPHCHARSET phCharset);
  827. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCharsetInfo )(
  828. IMimeInternational __RPC_FAR * This,
  829. /* [in] */ HCHARSET hCharset,
  830. /* [out][in] */ LPINETCSETINFO pCsetInfo);
  831. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodePageInfo )(
  832. IMimeInternational __RPC_FAR * This,
  833. /* [in] */ CODEPAGEID cpiCodePage,
  834. /* [out][in] */ LPCODEPAGEINFO pCodePageInfo);
  835. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanConvertCodePages )(
  836. IMimeInternational __RPC_FAR * This,
  837. /* [in] */ CODEPAGEID cpiSource,
  838. /* [in] */ CODEPAGEID cpiDest);
  839. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DecodeHeader )(
  840. IMimeInternational __RPC_FAR * This,
  841. /* [in] */ HCHARSET hCharset,
  842. /* [in] */ LPCSTR pszData,
  843. /* [out][in] */ LPPROPVARIANT pDecoded,
  844. /* [out][in] */ LPRFC1522INFO pRfc1522Info);
  845. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EncodeHeader )(
  846. IMimeInternational __RPC_FAR * This,
  847. /* [in] */ HCHARSET hCharset,
  848. /* [in] */ LPPROPVARIANT pData,
  849. /* [out] */ LPSTR __RPC_FAR *ppszEncoded,
  850. /* [out][in] */ LPRFC1522INFO pRfc1522Info);
  851. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertBuffer )(
  852. IMimeInternational __RPC_FAR * This,
  853. /* [in] */ CODEPAGEID cpiSource,
  854. /* [in] */ CODEPAGEID cpiDest,
  855. /* [in] */ LPBLOB pIn,
  856. /* [out][in] */ LPBLOB pOut,
  857. /* [out] */ ULONG __RPC_FAR *pcbRead);
  858. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertString )(
  859. IMimeInternational __RPC_FAR * This,
  860. /* [in] */ CODEPAGEID cpiSource,
  861. /* [in] */ CODEPAGEID cpiDest,
  862. /* [in] */ LPPROPVARIANT pIn,
  863. /* [out][in] */ LPPROPVARIANT pOut);
  864. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MLANG_ConvertInetReset )(
  865. IMimeInternational __RPC_FAR * This);
  866. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MLANG_ConvertInetString )(
  867. IMimeInternational __RPC_FAR * This,
  868. /* [in] */ CODEPAGEID cpiSource,
  869. /* [in] */ CODEPAGEID cpiDest,
  870. /* [in] */ LPCSTR pSource,
  871. /* [in] */ int __RPC_FAR *pnSizeOfSource,
  872. /* [out] */ LPSTR pDestination,
  873. /* [in] */ int __RPC_FAR *pnDstSize);
  874. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rfc1522Decode )(
  875. IMimeInternational __RPC_FAR * This,
  876. /* [in] */ LPCSTR pszValue,
  877. /* [ref][in] */ LPSTR pszCharset,
  878. /* [in] */ ULONG cchmax,
  879. /* [out] */ LPSTR __RPC_FAR *ppszDecoded);
  880. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rfc1522Encode )(
  881. IMimeInternational __RPC_FAR * This,
  882. /* [in] */ LPCSTR pszValue,
  883. /* [in] */ HCHARSET hCharset,
  884. /* [out] */ LPSTR __RPC_FAR *ppszEncoded);
  885. END_INTERFACE
  886. } IMimeInternationalVtbl;
  887. interface IMimeInternational
  888. {
  889. CONST_VTBL struct IMimeInternationalVtbl __RPC_FAR *lpVtbl;
  890. };
  891. #ifdef COBJMACROS
  892. #define IMimeInternational_QueryInterface(This,riid,ppvObject) \
  893. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  894. #define IMimeInternational_AddRef(This) \
  895. (This)->lpVtbl -> AddRef(This)
  896. #define IMimeInternational_Release(This) \
  897. (This)->lpVtbl -> Release(This)
  898. #define IMimeInternational_SetDefaultCharset(This,hCharset) \
  899. (This)->lpVtbl -> SetDefaultCharset(This,hCharset)
  900. #define IMimeInternational_GetDefaultCharset(This,phCharset) \
  901. (This)->lpVtbl -> GetDefaultCharset(This,phCharset)
  902. #define IMimeInternational_GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset) \
  903. (This)->lpVtbl -> GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset)
  904. #define IMimeInternational_FindCharset(This,pszCharset,phCharset) \
  905. (This)->lpVtbl -> FindCharset(This,pszCharset,phCharset)
  906. #define IMimeInternational_GetCharsetInfo(This,hCharset,pCsetInfo) \
  907. (This)->lpVtbl -> GetCharsetInfo(This,hCharset,pCsetInfo)
  908. #define IMimeInternational_GetCodePageInfo(This,cpiCodePage,pCodePageInfo) \
  909. (This)->lpVtbl -> GetCodePageInfo(This,cpiCodePage,pCodePageInfo)
  910. #define IMimeInternational_CanConvertCodePages(This,cpiSource,cpiDest) \
  911. (This)->lpVtbl -> CanConvertCodePages(This,cpiSource,cpiDest)
  912. #define IMimeInternational_DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info) \
  913. (This)->lpVtbl -> DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info)
  914. #define IMimeInternational_EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info) \
  915. (This)->lpVtbl -> EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info)
  916. #define IMimeInternational_ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead) \
  917. (This)->lpVtbl -> ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead)
  918. #define IMimeInternational_ConvertString(This,cpiSource,cpiDest,pIn,pOut) \
  919. (This)->lpVtbl -> ConvertString(This,cpiSource,cpiDest,pIn,pOut)
  920. #define IMimeInternational_MLANG_ConvertInetReset(This) \
  921. (This)->lpVtbl -> MLANG_ConvertInetReset(This)
  922. #define IMimeInternational_MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize) \
  923. (This)->lpVtbl -> MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize)
  924. #define IMimeInternational_Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded) \
  925. (This)->lpVtbl -> Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded)
  926. #define IMimeInternational_Rfc1522Encode(This,pszValue,hCharset,ppszEncoded) \
  927. (This)->lpVtbl -> Rfc1522Encode(This,pszValue,hCharset,ppszEncoded)
  928. #endif /* COBJMACROS */
  929. #endif /* C style interface */
  930. HRESULT STDMETHODCALLTYPE IMimeInternational_SetDefaultCharset_Proxy(
  931. IMimeInternational __RPC_FAR * This,
  932. /* [in] */ HCHARSET hCharset);
  933. void __RPC_STUB IMimeInternational_SetDefaultCharset_Stub(
  934. IRpcStubBuffer *This,
  935. IRpcChannelBuffer *_pRpcChannelBuffer,
  936. PRPC_MESSAGE _pRpcMessage,
  937. DWORD *_pdwStubPhase);
  938. HRESULT STDMETHODCALLTYPE IMimeInternational_GetDefaultCharset_Proxy(
  939. IMimeInternational __RPC_FAR * This,
  940. /* [out] */ LPHCHARSET phCharset);
  941. void __RPC_STUB IMimeInternational_GetDefaultCharset_Stub(
  942. IRpcStubBuffer *This,
  943. IRpcChannelBuffer *_pRpcChannelBuffer,
  944. PRPC_MESSAGE _pRpcMessage,
  945. DWORD *_pdwStubPhase);
  946. HRESULT STDMETHODCALLTYPE IMimeInternational_GetCodePageCharset_Proxy(
  947. IMimeInternational __RPC_FAR * This,
  948. /* [in] */ CODEPAGEID cpiCodePage,
  949. /* [in] */ CHARSETTYPE ctCsetType,
  950. /* [out] */ LPHCHARSET phCharset);
  951. void __RPC_STUB IMimeInternational_GetCodePageCharset_Stub(
  952. IRpcStubBuffer *This,
  953. IRpcChannelBuffer *_pRpcChannelBuffer,
  954. PRPC_MESSAGE _pRpcMessage,
  955. DWORD *_pdwStubPhase);
  956. HRESULT STDMETHODCALLTYPE IMimeInternational_FindCharset_Proxy(
  957. IMimeInternational __RPC_FAR * This,
  958. /* [in] */ LPCSTR pszCharset,
  959. /* [out] */ LPHCHARSET phCharset);
  960. void __RPC_STUB IMimeInternational_FindCharset_Stub(
  961. IRpcStubBuffer *This,
  962. IRpcChannelBuffer *_pRpcChannelBuffer,
  963. PRPC_MESSAGE _pRpcMessage,
  964. DWORD *_pdwStubPhase);
  965. HRESULT STDMETHODCALLTYPE IMimeInternational_GetCharsetInfo_Proxy(
  966. IMimeInternational __RPC_FAR * This,
  967. /* [in] */ HCHARSET hCharset,
  968. /* [out][in] */ LPINETCSETINFO pCsetInfo);
  969. void __RPC_STUB IMimeInternational_GetCharsetInfo_Stub(
  970. IRpcStubBuffer *This,
  971. IRpcChannelBuffer *_pRpcChannelBuffer,
  972. PRPC_MESSAGE _pRpcMessage,
  973. DWORD *_pdwStubPhase);
  974. HRESULT STDMETHODCALLTYPE IMimeInternational_GetCodePageInfo_Proxy(
  975. IMimeInternational __RPC_FAR * This,
  976. /* [in] */ CODEPAGEID cpiCodePage,
  977. /* [out][in] */ LPCODEPAGEINFO pCodePageInfo);
  978. void __RPC_STUB IMimeInternational_GetCodePageInfo_Stub(
  979. IRpcStubBuffer *This,
  980. IRpcChannelBuffer *_pRpcChannelBuffer,
  981. PRPC_MESSAGE _pRpcMessage,
  982. DWORD *_pdwStubPhase);
  983. HRESULT STDMETHODCALLTYPE IMimeInternational_CanConvertCodePages_Proxy(
  984. IMimeInternational __RPC_FAR * This,
  985. /* [in] */ CODEPAGEID cpiSource,
  986. /* [in] */ CODEPAGEID cpiDest);
  987. void __RPC_STUB IMimeInternational_CanConvertCodePages_Stub(
  988. IRpcStubBuffer *This,
  989. IRpcChannelBuffer *_pRpcChannelBuffer,
  990. PRPC_MESSAGE _pRpcMessage,
  991. DWORD *_pdwStubPhase);
  992. HRESULT STDMETHODCALLTYPE IMimeInternational_DecodeHeader_Proxy(
  993. IMimeInternational __RPC_FAR * This,
  994. /* [in] */ HCHARSET hCharset,
  995. /* [in] */ LPCSTR pszData,
  996. /* [out][in] */ LPPROPVARIANT pDecoded,
  997. /* [out][in] */ LPRFC1522INFO pRfc1522Info);
  998. void __RPC_STUB IMimeInternational_DecodeHeader_Stub(
  999. IRpcStubBuffer *This,
  1000. IRpcChannelBuffer *_pRpcChannelBuffer,
  1001. PRPC_MESSAGE _pRpcMessage,
  1002. DWORD *_pdwStubPhase);
  1003. HRESULT STDMETHODCALLTYPE IMimeInternational_EncodeHeader_Proxy(
  1004. IMimeInternational __RPC_FAR * This,
  1005. /* [in] */ HCHARSET hCharset,
  1006. /* [in] */ LPPROPVARIANT pData,
  1007. /* [out] */ LPSTR __RPC_FAR *ppszEncoded,
  1008. /* [out][in] */ LPRFC1522INFO pRfc1522Info);
  1009. void __RPC_STUB IMimeInternational_EncodeHeader_Stub(
  1010. IRpcStubBuffer *This,
  1011. IRpcChannelBuffer *_pRpcChannelBuffer,
  1012. PRPC_MESSAGE _pRpcMessage,
  1013. DWORD *_pdwStubPhase);
  1014. HRESULT STDMETHODCALLTYPE IMimeInternational_ConvertBuffer_Proxy(
  1015. IMimeInternational __RPC_FAR * This,
  1016. /* [in] */ CODEPAGEID cpiSource,
  1017. /* [in] */ CODEPAGEID cpiDest,
  1018. /* [in] */ LPBLOB pIn,
  1019. /* [out][in] */ LPBLOB pOut,
  1020. /* [out] */ ULONG __RPC_FAR *pcbRead);
  1021. void __RPC_STUB IMimeInternational_ConvertBuffer_Stub(
  1022. IRpcStubBuffer *This,
  1023. IRpcChannelBuffer *_pRpcChannelBuffer,
  1024. PRPC_MESSAGE _pRpcMessage,
  1025. DWORD *_pdwStubPhase);
  1026. HRESULT STDMETHODCALLTYPE IMimeInternational_ConvertString_Proxy(
  1027. IMimeInternational __RPC_FAR * This,
  1028. /* [in] */ CODEPAGEID cpiSource,
  1029. /* [in] */ CODEPAGEID cpiDest,
  1030. /* [in] */ LPPROPVARIANT pIn,
  1031. /* [out][in] */ LPPROPVARIANT pOut);
  1032. void __RPC_STUB IMimeInternational_ConvertString_Stub(
  1033. IRpcStubBuffer *This,
  1034. IRpcChannelBuffer *_pRpcChannelBuffer,
  1035. PRPC_MESSAGE _pRpcMessage,
  1036. DWORD *_pdwStubPhase);
  1037. HRESULT STDMETHODCALLTYPE IMimeInternational_MLANG_ConvertInetReset_Proxy(
  1038. IMimeInternational __RPC_FAR * This);
  1039. void __RPC_STUB IMimeInternational_MLANG_ConvertInetReset_Stub(
  1040. IRpcStubBuffer *This,
  1041. IRpcChannelBuffer *_pRpcChannelBuffer,
  1042. PRPC_MESSAGE _pRpcMessage,
  1043. DWORD *_pdwStubPhase);
  1044. HRESULT STDMETHODCALLTYPE IMimeInternational_MLANG_ConvertInetString_Proxy(
  1045. IMimeInternational __RPC_FAR * This,
  1046. /* [in] */ CODEPAGEID cpiSource,
  1047. /* [in] */ CODEPAGEID cpiDest,
  1048. /* [in] */ LPCSTR pSource,
  1049. /* [in] */ int __RPC_FAR *pnSizeOfSource,
  1050. /* [out] */ LPSTR pDestination,
  1051. /* [in] */ int __RPC_FAR *pnDstSize);
  1052. void __RPC_STUB IMimeInternational_MLANG_ConvertInetString_Stub(
  1053. IRpcStubBuffer *This,
  1054. IRpcChannelBuffer *_pRpcChannelBuffer,
  1055. PRPC_MESSAGE _pRpcMessage,
  1056. DWORD *_pdwStubPhase);
  1057. HRESULT STDMETHODCALLTYPE IMimeInternational_Rfc1522Decode_Proxy(
  1058. IMimeInternational __RPC_FAR * This,
  1059. /* [in] */ LPCSTR pszValue,
  1060. /* [ref][in] */ LPSTR pszCharset,
  1061. /* [in] */ ULONG cchmax,
  1062. /* [out] */ LPSTR __RPC_FAR *ppszDecoded);
  1063. void __RPC_STUB IMimeInternational_Rfc1522Decode_Stub(
  1064. IRpcStubBuffer *This,
  1065. IRpcChannelBuffer *_pRpcChannelBuffer,
  1066. PRPC_MESSAGE _pRpcMessage,
  1067. DWORD *_pdwStubPhase);
  1068. HRESULT STDMETHODCALLTYPE IMimeInternational_Rfc1522Encode_Proxy(
  1069. IMimeInternational __RPC_FAR * This,
  1070. /* [in] */ LPCSTR pszValue,
  1071. /* [in] */ HCHARSET hCharset,
  1072. /* [out] */ LPSTR __RPC_FAR *ppszEncoded);
  1073. void __RPC_STUB IMimeInternational_Rfc1522Encode_Stub(
  1074. IRpcStubBuffer *This,
  1075. IRpcChannelBuffer *_pRpcChannelBuffer,
  1076. PRPC_MESSAGE _pRpcMessage,
  1077. DWORD *_pdwStubPhase);
  1078. #endif /* __IMimeInternational_INTERFACE_DEFINED__ */
  1079. #ifndef __IMimeSecurity_INTERFACE_DEFINED__
  1080. #define __IMimeSecurity_INTERFACE_DEFINED__
  1081. /****************************************
  1082. * Generated header for interface: IMimeSecurity
  1083. * at Mon May 12 23:53:20 1997
  1084. * using MIDL 3.02.88
  1085. ****************************************/
  1086. /* [object][helpstring][uuid] */
  1087. typedef /* [unique] */ IMimeSecurity __RPC_FAR *LPMIMESECURITY;
  1088. typedef /* [unique] */ const IMimeSecurity __RPC_FAR *LPCMIMESECURITY;
  1089. typedef BLOB THUMBBLOB;
  1090. typedef const void __RPC_FAR *PCX509CERT;
  1091. typedef void __RPC_FAR *HCAPICERTSTORE;
  1092. #ifndef IMS_ALGIDDEF
  1093. #define IMS_ALGIDDEF
  1094. typedef unsigned int ALG_ID;
  1095. #endif
  1096. typedef
  1097. enum tagCERTSTATE
  1098. { CERTIFICATE_OK = 0,
  1099. CERTIFICATE_NOT_PRESENT = CERTIFICATE_OK + 1,
  1100. CERTIFICATE_EXPIRED = CERTIFICATE_NOT_PRESENT + 1,
  1101. CERTIFICATE_CHAIN_TOO_LONG = CERTIFICATE_EXPIRED + 1,
  1102. CERTIFICATE_TIMES_DONT_NEST = CERTIFICATE_CHAIN_TOO_LONG + 1,
  1103. CERTIFICATE_MISSING_ISSUER = CERTIFICATE_TIMES_DONT_NEST + 1,
  1104. CERTIFICATE_CRL_LISTED = CERTIFICATE_MISSING_ISSUER + 1,
  1105. CERTIFICATE_NOT_TRUSTED = CERTIFICATE_CRL_LISTED + 1,
  1106. CERTIFICATE_INVALID = CERTIFICATE_NOT_TRUSTED + 1,
  1107. CERTIFICATE_ERROR = CERTIFICATE_INVALID + 1,
  1108. CERTIFICATE_NOPRINT = CERTIFICATE_ERROR + 1,
  1109. CERTIFICATE_UNKNOWN = CERTIFICATE_NOPRINT + 1
  1110. } CERTSTATE;
  1111. typedef
  1112. enum tagCERTNAMETYPE
  1113. { SIMPLE = 0,
  1114. OID = SIMPLE + 1,
  1115. X500 = OID + 1
  1116. } CERTNAMETYPE;
  1117. typedef
  1118. enum tagSECURESTATE
  1119. { SECURITY_TOGGLE = -1,
  1120. SECURITY_DISABLED = SECURITY_TOGGLE + 1,
  1121. SECURITY_ENABLED = SECURITY_DISABLED + 1,
  1122. SECURITY_BAD = SECURITY_ENABLED + 1,
  1123. SECURITY_UNTRUSTED = SECURITY_BAD + 1,
  1124. SECURITY_UNKNOWN = SECURITY_UNTRUSTED + 1,
  1125. SECURITY_STATE_MAX = SECURITY_UNKNOWN + 1
  1126. } SECURESTATE;
  1127. typedef
  1128. enum tagCERTDATAID
  1129. { CDID_EMAIL = 0,
  1130. CDID_MAX = CDID_EMAIL + 1
  1131. } CERTDATAID;
  1132. typedef
  1133. enum tagSECURETYPE
  1134. { SECURITY_NONE = 0,
  1135. SMIME_ENCRYPT = 0x1,
  1136. SMIME_SIGN = 0x2,
  1137. SMIME_CLEARSIGN = 0x4,
  1138. SMIME_SIGNANDENCRYPT = SMIME_ENCRYPT | SMIME_SIGN
  1139. } SECURETYPE;
  1140. typedef
  1141. enum tagSECURECLASS
  1142. { ISC_NULL = 0,
  1143. ISC_SIGNED = SMIME_SIGN | SMIME_CLEARSIGN,
  1144. ISC_ENCRYPTED = SMIME_ENCRYPT,
  1145. ISC_ALL = 0xffff
  1146. } SECURECLASS;
  1147. typedef struct tagSMIMESECURITY
  1148. {
  1149. SECURESTATE stState;
  1150. LPSTR oidAlg;
  1151. ULONG cCert;
  1152. PCX509CERT __RPC_FAR *rgpCert;
  1153. } SMIMESECURITY;
  1154. typedef struct tagSMIMESECURITY __RPC_FAR *PSMIMESECURITY;
  1155. typedef const SMIMESECURITY __RPC_FAR *PCSMIMESECURITY;
  1156. typedef struct tagSMIMEINFO
  1157. {
  1158. SECURETYPE stMsgEnhancement;
  1159. SMIMESECURITY ssSign;
  1160. SMIMESECURITY ssEncrypt;
  1161. PCX509CERT pSendersCert;
  1162. BOOL fTrustedCert;
  1163. BOOL fCertWithMsg;
  1164. DWORD dwIgnoreFlags;
  1165. HCAPICERTSTORE hMsgCertStore;
  1166. } SMIMEINFO;
  1167. typedef struct tagSMIMEINFO __RPC_FAR *PSMIMEINFO;
  1168. typedef const SMIMEINFO __RPC_FAR *PCSMIMEINFO;
  1169. typedef struct tagX509CERTRESULT
  1170. {
  1171. DWORD cEntries;
  1172. CERTSTATE __RPC_FAR *rgcs;
  1173. PCX509CERT __RPC_FAR *rgpCert;
  1174. } X509CERTRESULT;
  1175. typedef struct tagX509CERTRESULT __RPC_FAR *PX509CERTRESULT;
  1176. typedef const X509CERTRESULT __RPC_FAR *PCX509CERTRESULT;
  1177. EXTERN_C const IID IID_IMimeSecurity;
  1178. #if defined(__cplusplus) && !defined(CINTERFACE)
  1179. interface DECLSPEC_UUID("6AD6A1FE-C19B-11d0-85EB-00C04FD85AB4")
  1180. IMimeSecurity : public IUnknown
  1181. {
  1182. public:
  1183. virtual HRESULT STDMETHODCALLTYPE EncodeMessage(
  1184. /* [out][in] */ IMimeMessageTree __RPC_FAR *const pTree,
  1185. /* [in] */ DWORD dwFlags) = 0;
  1186. virtual HRESULT STDMETHODCALLTYPE DecodeMessage(
  1187. /* [out][in] */ IMimeMessageTree __RPC_FAR *const pTree,
  1188. /* [in] */ DWORD dwFlags) = 0;
  1189. virtual HRESULT STDMETHODCALLTYPE EncodeStream(
  1190. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1191. /* [in] */ const LPSTREAM lpstmIn,
  1192. /* [in] */ LPSTREAM lpstmOut) = 0;
  1193. virtual HRESULT STDMETHODCALLTYPE DecodeStream(
  1194. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1195. /* [in] */ const LPSTREAM lpstmIn,
  1196. /* [in] */ LPSTREAM lpstmOut) = 0;
  1197. virtual HRESULT STDMETHODCALLTYPE EncodeBlob(
  1198. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1199. /* [in] */ const LPBLOB pIn,
  1200. /* [out] */ LPBLOB pOut) = 0;
  1201. virtual HRESULT STDMETHODCALLTYPE DecodeBlob(
  1202. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1203. /* [in] */ const LPBLOB pIn,
  1204. /* [out] */ LPBLOB pOut) = 0;
  1205. virtual HRESULT STDMETHODCALLTYPE DecodeDetachedStream(
  1206. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1207. /* [in] */ const LPSTREAM lpstmIn,
  1208. /* [in] */ const LPSTREAM lpstmSig,
  1209. /* [in] */ LPSTREAM lpstmOut) = 0;
  1210. virtual HRESULT STDMETHODCALLTYPE DecodeDetachedBlob(
  1211. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1212. /* [in] */ const LPBLOB pData,
  1213. /* [in] */ const LPBLOB pSig,
  1214. /* [out] */ LPBLOB pOut) = 0;
  1215. virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  1216. virtual HRESULT STDMETHODCALLTYPE CheckInit( void) = 0;
  1217. virtual HRESULT STDMETHODCALLTYPE AddCertificateToStore(
  1218. /* [in] */ HCAPICERTSTORE hc,
  1219. /* [in] */ PCX509CERT pCert,
  1220. /* [in] */ const BOOL fReplace,
  1221. /* [in] */ const BOOL fAllowDups) = 0;
  1222. virtual HRESULT STDMETHODCALLTYPE OpenSystemStore(
  1223. /* [in] */ LPCTSTR szProtocol,
  1224. /* [ref][out] */ HCAPICERTSTORE __RPC_FAR *pc) = 0;
  1225. virtual HRESULT STDMETHODCALLTYPE CloseCertificateStore(
  1226. /* [in] */ HCAPICERTSTORE hc) = 0;
  1227. virtual HRESULT STDMETHODCALLTYPE GetCertsFromThumbprints(
  1228. /* [in] */ THUMBBLOB __RPC_FAR *const rgThumbprint,
  1229. /* [out][in] */ X509CERTRESULT __RPC_FAR *const pResults) = 0;
  1230. virtual HRESULT STDMETHODCALLTYPE EnumCertificates(
  1231. /* [in] */ HCAPICERTSTORE hc,
  1232. /* [in] */ DWORD dwUsage,
  1233. /* [in] */ PCX509CERT pPrev,
  1234. /* [retval][out] */ PCX509CERT __RPC_FAR *ppCert) = 0;
  1235. virtual HRESULT STDMETHODCALLTYPE GetCertificateName(
  1236. /* [in] */ const PCX509CERT pX509Cert,
  1237. /* [in] */ const CERTNAMETYPE cn,
  1238. /* [retval][out] */ LPSTR __RPC_FAR *ppszName) = 0;
  1239. virtual HRESULT STDMETHODCALLTYPE GetCertificateThumbprint(
  1240. /* [in] */ const PCX509CERT pX509Cert,
  1241. /* [retval][out] */ THUMBBLOB __RPC_FAR *const pPrint) = 0;
  1242. virtual HRESULT STDMETHODCALLTYPE DuplicateCertificate(
  1243. /* [in] */ const PCX509CERT pX509Cert,
  1244. /* [retval][out] */ PCX509CERT __RPC_FAR *ppDupCert) = 0;
  1245. virtual HRESULT STDMETHODCALLTYPE FreeCertificate(
  1246. /* [unique][in] */ const PCX509CERT pc) = 0;
  1247. virtual HRESULT STDMETHODCALLTYPE GetMessageType(
  1248. /* [unique][in] */ const LPSTREAM lpstmIn,
  1249. /* [retval][out] */ SECURETYPE __RPC_FAR *pst) = 0;
  1250. virtual HRESULT STDMETHODCALLTYPE VerifyTimeValidity(
  1251. /* [in] */ const PCX509CERT pX509Cert) = 0;
  1252. virtual HRESULT STDMETHODCALLTYPE GetCertData(
  1253. /* [in] */ const PCX509CERT pX509Cert,
  1254. /* [in] */ const CERTDATAID dataid,
  1255. /* [ref][out] */ LPPROPVARIANT pValue) = 0;
  1256. };
  1257. #else /* C style interface */
  1258. typedef struct IMimeSecurityVtbl
  1259. {
  1260. BEGIN_INTERFACE
  1261. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1262. IMimeSecurity __RPC_FAR * This,
  1263. /* [in] */ REFIID riid,
  1264. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1265. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1266. IMimeSecurity __RPC_FAR * This);
  1267. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1268. IMimeSecurity __RPC_FAR * This);
  1269. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EncodeMessage )(
  1270. IMimeSecurity __RPC_FAR * This,
  1271. /* [out][in] */ IMimeMessageTree __RPC_FAR *const pTree,
  1272. /* [in] */ DWORD dwFlags);
  1273. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DecodeMessage )(
  1274. IMimeSecurity __RPC_FAR * This,
  1275. /* [out][in] */ IMimeMessageTree __RPC_FAR *const pTree,
  1276. /* [in] */ DWORD dwFlags);
  1277. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EncodeStream )(
  1278. IMimeSecurity __RPC_FAR * This,
  1279. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1280. /* [in] */ const LPSTREAM lpstmIn,
  1281. /* [in] */ LPSTREAM lpstmOut);
  1282. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DecodeStream )(
  1283. IMimeSecurity __RPC_FAR * This,
  1284. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1285. /* [in] */ const LPSTREAM lpstmIn,
  1286. /* [in] */ LPSTREAM lpstmOut);
  1287. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EncodeBlob )(
  1288. IMimeSecurity __RPC_FAR * This,
  1289. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1290. /* [in] */ const LPBLOB pIn,
  1291. /* [out] */ LPBLOB pOut);
  1292. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DecodeBlob )(
  1293. IMimeSecurity __RPC_FAR * This,
  1294. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1295. /* [in] */ const LPBLOB pIn,
  1296. /* [out] */ LPBLOB pOut);
  1297. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DecodeDetachedStream )(
  1298. IMimeSecurity __RPC_FAR * This,
  1299. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1300. /* [in] */ const LPSTREAM lpstmIn,
  1301. /* [in] */ const LPSTREAM lpstmSig,
  1302. /* [in] */ LPSTREAM lpstmOut);
  1303. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DecodeDetachedBlob )(
  1304. IMimeSecurity __RPC_FAR * This,
  1305. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1306. /* [in] */ const LPBLOB pData,
  1307. /* [in] */ const LPBLOB pSig,
  1308. /* [out] */ LPBLOB pOut);
  1309. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )(
  1310. IMimeSecurity __RPC_FAR * This);
  1311. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CheckInit )(
  1312. IMimeSecurity __RPC_FAR * This);
  1313. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCertificateToStore )(
  1314. IMimeSecurity __RPC_FAR * This,
  1315. /* [in] */ HCAPICERTSTORE hc,
  1316. /* [in] */ PCX509CERT pCert,
  1317. /* [in] */ const BOOL fReplace,
  1318. /* [in] */ const BOOL fAllowDups);
  1319. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenSystemStore )(
  1320. IMimeSecurity __RPC_FAR * This,
  1321. /* [in] */ LPCTSTR szProtocol,
  1322. /* [ref][out] */ HCAPICERTSTORE __RPC_FAR *pc);
  1323. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseCertificateStore )(
  1324. IMimeSecurity __RPC_FAR * This,
  1325. /* [in] */ HCAPICERTSTORE hc);
  1326. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCertsFromThumbprints )(
  1327. IMimeSecurity __RPC_FAR * This,
  1328. /* [in] */ THUMBBLOB __RPC_FAR *const rgThumbprint,
  1329. /* [out][in] */ X509CERTRESULT __RPC_FAR *const pResults);
  1330. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumCertificates )(
  1331. IMimeSecurity __RPC_FAR * This,
  1332. /* [in] */ HCAPICERTSTORE hc,
  1333. /* [in] */ DWORD dwUsage,
  1334. /* [in] */ PCX509CERT pPrev,
  1335. /* [retval][out] */ PCX509CERT __RPC_FAR *ppCert);
  1336. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCertificateName )(
  1337. IMimeSecurity __RPC_FAR * This,
  1338. /* [in] */ const PCX509CERT pX509Cert,
  1339. /* [in] */ const CERTNAMETYPE cn,
  1340. /* [retval][out] */ LPSTR __RPC_FAR *ppszName);
  1341. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCertificateThumbprint )(
  1342. IMimeSecurity __RPC_FAR * This,
  1343. /* [in] */ const PCX509CERT pX509Cert,
  1344. /* [retval][out] */ THUMBBLOB __RPC_FAR *const pPrint);
  1345. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DuplicateCertificate )(
  1346. IMimeSecurity __RPC_FAR * This,
  1347. /* [in] */ const PCX509CERT pX509Cert,
  1348. /* [retval][out] */ PCX509CERT __RPC_FAR *ppDupCert);
  1349. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeCertificate )(
  1350. IMimeSecurity __RPC_FAR * This,
  1351. /* [unique][in] */ const PCX509CERT pc);
  1352. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMessageType )(
  1353. IMimeSecurity __RPC_FAR * This,
  1354. /* [unique][in] */ const LPSTREAM lpstmIn,
  1355. /* [retval][out] */ SECURETYPE __RPC_FAR *pst);
  1356. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VerifyTimeValidity )(
  1357. IMimeSecurity __RPC_FAR * This,
  1358. /* [in] */ const PCX509CERT pX509Cert);
  1359. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCertData )(
  1360. IMimeSecurity __RPC_FAR * This,
  1361. /* [in] */ const PCX509CERT pX509Cert,
  1362. /* [in] */ const CERTDATAID dataid,
  1363. /* [ref][out] */ LPPROPVARIANT pValue);
  1364. END_INTERFACE
  1365. } IMimeSecurityVtbl;
  1366. interface IMimeSecurity
  1367. {
  1368. CONST_VTBL struct IMimeSecurityVtbl __RPC_FAR *lpVtbl;
  1369. };
  1370. #ifdef COBJMACROS
  1371. #define IMimeSecurity_QueryInterface(This,riid,ppvObject) \
  1372. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1373. #define IMimeSecurity_AddRef(This) \
  1374. (This)->lpVtbl -> AddRef(This)
  1375. #define IMimeSecurity_Release(This) \
  1376. (This)->lpVtbl -> Release(This)
  1377. #define IMimeSecurity_EncodeMessage(This,pTree,dwFlags) \
  1378. (This)->lpVtbl -> EncodeMessage(This,pTree,dwFlags)
  1379. #define IMimeSecurity_DecodeMessage(This,pTree,dwFlags) \
  1380. (This)->lpVtbl -> DecodeMessage(This,pTree,dwFlags)
  1381. #define IMimeSecurity_EncodeStream(This,psi,lpstmIn,lpstmOut) \
  1382. (This)->lpVtbl -> EncodeStream(This,psi,lpstmIn,lpstmOut)
  1383. #define IMimeSecurity_DecodeStream(This,psi,lpstmIn,lpstmOut) \
  1384. (This)->lpVtbl -> DecodeStream(This,psi,lpstmIn,lpstmOut)
  1385. #define IMimeSecurity_EncodeBlob(This,psi,pIn,pOut) \
  1386. (This)->lpVtbl -> EncodeBlob(This,psi,pIn,pOut)
  1387. #define IMimeSecurity_DecodeBlob(This,psi,pIn,pOut) \
  1388. (This)->lpVtbl -> DecodeBlob(This,psi,pIn,pOut)
  1389. #define IMimeSecurity_DecodeDetachedStream(This,psi,lpstmIn,lpstmSig,lpstmOut) \
  1390. (This)->lpVtbl -> DecodeDetachedStream(This,psi,lpstmIn,lpstmSig,lpstmOut)
  1391. #define IMimeSecurity_DecodeDetachedBlob(This,psi,pData,pSig,pOut) \
  1392. (This)->lpVtbl -> DecodeDetachedBlob(This,psi,pData,pSig,pOut)
  1393. #define IMimeSecurity_InitNew(This) \
  1394. (This)->lpVtbl -> InitNew(This)
  1395. #define IMimeSecurity_CheckInit(This) \
  1396. (This)->lpVtbl -> CheckInit(This)
  1397. #define IMimeSecurity_AddCertificateToStore(This,hc,pCert,fReplace,fAllowDups) \
  1398. (This)->lpVtbl -> AddCertificateToStore(This,hc,pCert,fReplace,fAllowDups)
  1399. #define IMimeSecurity_OpenSystemStore(This,szProtocol,pc) \
  1400. (This)->lpVtbl -> OpenSystemStore(This,szProtocol,pc)
  1401. #define IMimeSecurity_CloseCertificateStore(This,hc) \
  1402. (This)->lpVtbl -> CloseCertificateStore(This,hc)
  1403. #define IMimeSecurity_GetCertsFromThumbprints(This,rgThumbprint,pResults) \
  1404. (This)->lpVtbl -> GetCertsFromThumbprints(This,rgThumbprint,pResults)
  1405. #define IMimeSecurity_EnumCertificates(This,hc,dwUsage,pPrev,ppCert) \
  1406. (This)->lpVtbl -> EnumCertificates(This,hc,dwUsage,pPrev,ppCert)
  1407. #define IMimeSecurity_GetCertificateName(This,pX509Cert,cn,ppszName) \
  1408. (This)->lpVtbl -> GetCertificateName(This,pX509Cert,cn,ppszName)
  1409. #define IMimeSecurity_GetCertificateThumbprint(This,pX509Cert,pPrint) \
  1410. (This)->lpVtbl -> GetCertificateThumbprint(This,pX509Cert,pPrint)
  1411. #define IMimeSecurity_DuplicateCertificate(This,pX509Cert,ppDupCert) \
  1412. (This)->lpVtbl -> DuplicateCertificate(This,pX509Cert,ppDupCert)
  1413. #define IMimeSecurity_FreeCertificate(This,pc) \
  1414. (This)->lpVtbl -> FreeCertificate(This,pc)
  1415. #define IMimeSecurity_GetMessageType(This,lpstmIn,pst) \
  1416. (This)->lpVtbl -> GetMessageType(This,lpstmIn,pst)
  1417. #define IMimeSecurity_VerifyTimeValidity(This,pX509Cert) \
  1418. (This)->lpVtbl -> VerifyTimeValidity(This,pX509Cert)
  1419. #define IMimeSecurity_GetCertData(This,pX509Cert,dataid,pValue) \
  1420. (This)->lpVtbl -> GetCertData(This,pX509Cert,dataid,pValue)
  1421. #endif /* COBJMACROS */
  1422. #endif /* C style interface */
  1423. HRESULT STDMETHODCALLTYPE IMimeSecurity_EncodeMessage_Proxy(
  1424. IMimeSecurity __RPC_FAR * This,
  1425. /* [out][in] */ IMimeMessageTree __RPC_FAR *const pTree,
  1426. /* [in] */ DWORD dwFlags);
  1427. void __RPC_STUB IMimeSecurity_EncodeMessage_Stub(
  1428. IRpcStubBuffer *This,
  1429. IRpcChannelBuffer *_pRpcChannelBuffer,
  1430. PRPC_MESSAGE _pRpcMessage,
  1431. DWORD *_pdwStubPhase);
  1432. HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeMessage_Proxy(
  1433. IMimeSecurity __RPC_FAR * This,
  1434. /* [out][in] */ IMimeMessageTree __RPC_FAR *const pTree,
  1435. /* [in] */ DWORD dwFlags);
  1436. void __RPC_STUB IMimeSecurity_DecodeMessage_Stub(
  1437. IRpcStubBuffer *This,
  1438. IRpcChannelBuffer *_pRpcChannelBuffer,
  1439. PRPC_MESSAGE _pRpcMessage,
  1440. DWORD *_pdwStubPhase);
  1441. HRESULT STDMETHODCALLTYPE IMimeSecurity_EncodeStream_Proxy(
  1442. IMimeSecurity __RPC_FAR * This,
  1443. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1444. /* [in] */ const LPSTREAM lpstmIn,
  1445. /* [in] */ LPSTREAM lpstmOut);
  1446. void __RPC_STUB IMimeSecurity_EncodeStream_Stub(
  1447. IRpcStubBuffer *This,
  1448. IRpcChannelBuffer *_pRpcChannelBuffer,
  1449. PRPC_MESSAGE _pRpcMessage,
  1450. DWORD *_pdwStubPhase);
  1451. HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeStream_Proxy(
  1452. IMimeSecurity __RPC_FAR * This,
  1453. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1454. /* [in] */ const LPSTREAM lpstmIn,
  1455. /* [in] */ LPSTREAM lpstmOut);
  1456. void __RPC_STUB IMimeSecurity_DecodeStream_Stub(
  1457. IRpcStubBuffer *This,
  1458. IRpcChannelBuffer *_pRpcChannelBuffer,
  1459. PRPC_MESSAGE _pRpcMessage,
  1460. DWORD *_pdwStubPhase);
  1461. HRESULT STDMETHODCALLTYPE IMimeSecurity_EncodeBlob_Proxy(
  1462. IMimeSecurity __RPC_FAR * This,
  1463. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1464. /* [in] */ const LPBLOB pIn,
  1465. /* [out] */ LPBLOB pOut);
  1466. void __RPC_STUB IMimeSecurity_EncodeBlob_Stub(
  1467. IRpcStubBuffer *This,
  1468. IRpcChannelBuffer *_pRpcChannelBuffer,
  1469. PRPC_MESSAGE _pRpcMessage,
  1470. DWORD *_pdwStubPhase);
  1471. HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeBlob_Proxy(
  1472. IMimeSecurity __RPC_FAR * This,
  1473. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1474. /* [in] */ const LPBLOB pIn,
  1475. /* [out] */ LPBLOB pOut);
  1476. void __RPC_STUB IMimeSecurity_DecodeBlob_Stub(
  1477. IRpcStubBuffer *This,
  1478. IRpcChannelBuffer *_pRpcChannelBuffer,
  1479. PRPC_MESSAGE _pRpcMessage,
  1480. DWORD *_pdwStubPhase);
  1481. HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeDetachedStream_Proxy(
  1482. IMimeSecurity __RPC_FAR * This,
  1483. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1484. /* [in] */ const LPSTREAM lpstmIn,
  1485. /* [in] */ const LPSTREAM lpstmSig,
  1486. /* [in] */ LPSTREAM lpstmOut);
  1487. void __RPC_STUB IMimeSecurity_DecodeDetachedStream_Stub(
  1488. IRpcStubBuffer *This,
  1489. IRpcChannelBuffer *_pRpcChannelBuffer,
  1490. PRPC_MESSAGE _pRpcMessage,
  1491. DWORD *_pdwStubPhase);
  1492. HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeDetachedBlob_Proxy(
  1493. IMimeSecurity __RPC_FAR * This,
  1494. /* [out][in] */ SMIMEINFO __RPC_FAR *const psi,
  1495. /* [in] */ const LPBLOB pData,
  1496. /* [in] */ const LPBLOB pSig,
  1497. /* [out] */ LPBLOB pOut);
  1498. void __RPC_STUB IMimeSecurity_DecodeDetachedBlob_Stub(
  1499. IRpcStubBuffer *This,
  1500. IRpcChannelBuffer *_pRpcChannelBuffer,
  1501. PRPC_MESSAGE _pRpcMessage,
  1502. DWORD *_pdwStubPhase);
  1503. HRESULT STDMETHODCALLTYPE IMimeSecurity_InitNew_Proxy(
  1504. IMimeSecurity __RPC_FAR * This);
  1505. void __RPC_STUB IMimeSecurity_InitNew_Stub(
  1506. IRpcStubBuffer *This,
  1507. IRpcChannelBuffer *_pRpcChannelBuffer,
  1508. PRPC_MESSAGE _pRpcMessage,
  1509. DWORD *_pdwStubPhase);
  1510. HRESULT STDMETHODCALLTYPE IMimeSecurity_CheckInit_Proxy(
  1511. IMimeSecurity __RPC_FAR * This);
  1512. void __RPC_STUB IMimeSecurity_CheckInit_Stub(
  1513. IRpcStubBuffer *This,
  1514. IRpcChannelBuffer *_pRpcChannelBuffer,
  1515. PRPC_MESSAGE _pRpcMessage,
  1516. DWORD *_pdwStubPhase);
  1517. HRESULT STDMETHODCALLTYPE IMimeSecurity_AddCertificateToStore_Proxy(
  1518. IMimeSecurity __RPC_FAR * This,
  1519. /* [in] */ HCAPICERTSTORE hc,
  1520. /* [in] */ PCX509CERT pCert,
  1521. /* [in] */ const BOOL fReplace,
  1522. /* [in] */ const BOOL fAllowDups);
  1523. void __RPC_STUB IMimeSecurity_AddCertificateToStore_Stub(
  1524. IRpcStubBuffer *This,
  1525. IRpcChannelBuffer *_pRpcChannelBuffer,
  1526. PRPC_MESSAGE _pRpcMessage,
  1527. DWORD *_pdwStubPhase);
  1528. HRESULT STDMETHODCALLTYPE IMimeSecurity_OpenSystemStore_Proxy(
  1529. IMimeSecurity __RPC_FAR * This,
  1530. /* [in] */ LPCTSTR szProtocol,
  1531. /* [ref][out] */ HCAPICERTSTORE __RPC_FAR *pc);
  1532. void __RPC_STUB IMimeSecurity_OpenSystemStore_Stub(
  1533. IRpcStubBuffer *This,
  1534. IRpcChannelBuffer *_pRpcChannelBuffer,
  1535. PRPC_MESSAGE _pRpcMessage,
  1536. DWORD *_pdwStubPhase);
  1537. HRESULT STDMETHODCALLTYPE IMimeSecurity_CloseCertificateStore_Proxy(
  1538. IMimeSecurity __RPC_FAR * This,
  1539. /* [in] */ HCAPICERTSTORE hc);
  1540. void __RPC_STUB IMimeSecurity_CloseCertificateStore_Stub(
  1541. IRpcStubBuffer *This,
  1542. IRpcChannelBuffer *_pRpcChannelBuffer,
  1543. PRPC_MESSAGE _pRpcMessage,
  1544. DWORD *_pdwStubPhase);
  1545. HRESULT STDMETHODCALLTYPE IMimeSecurity_GetCertsFromThumbprints_Proxy(
  1546. IMimeSecurity __RPC_FAR * This,
  1547. /* [in] */ THUMBBLOB __RPC_FAR *const rgThumbprint,
  1548. /* [out][in] */ X509CERTRESULT __RPC_FAR *const pResults);
  1549. void __RPC_STUB IMimeSecurity_GetCertsFromThumbprints_Stub(
  1550. IRpcStubBuffer *This,
  1551. IRpcChannelBuffer *_pRpcChannelBuffer,
  1552. PRPC_MESSAGE _pRpcMessage,
  1553. DWORD *_pdwStubPhase);
  1554. HRESULT STDMETHODCALLTYPE IMimeSecurity_EnumCertificates_Proxy(
  1555. IMimeSecurity __RPC_FAR * This,
  1556. /* [in] */ HCAPICERTSTORE hc,
  1557. /* [in] */ DWORD dwUsage,
  1558. /* [in] */ PCX509CERT pPrev,
  1559. /* [retval][out] */ PCX509CERT __RPC_FAR *ppCert);
  1560. void __RPC_STUB IMimeSecurity_EnumCertificates_Stub(
  1561. IRpcStubBuffer *This,
  1562. IRpcChannelBuffer *_pRpcChannelBuffer,
  1563. PRPC_MESSAGE _pRpcMessage,
  1564. DWORD *_pdwStubPhase);
  1565. HRESULT STDMETHODCALLTYPE IMimeSecurity_GetCertificateName_Proxy(
  1566. IMimeSecurity __RPC_FAR * This,
  1567. /* [in] */ const PCX509CERT pX509Cert,
  1568. /* [in] */ const CERTNAMETYPE cn,
  1569. /* [retval][out] */ LPSTR __RPC_FAR *ppszName);
  1570. void __RPC_STUB IMimeSecurity_GetCertificateName_Stub(
  1571. IRpcStubBuffer *This,
  1572. IRpcChannelBuffer *_pRpcChannelBuffer,
  1573. PRPC_MESSAGE _pRpcMessage,
  1574. DWORD *_pdwStubPhase);
  1575. HRESULT STDMETHODCALLTYPE IMimeSecurity_GetCertificateThumbprint_Proxy(
  1576. IMimeSecurity __RPC_FAR * This,
  1577. /* [in] */ const PCX509CERT pX509Cert,
  1578. /* [retval][out] */ THUMBBLOB __RPC_FAR *const pPrint);
  1579. void __RPC_STUB IMimeSecurity_GetCertificateThumbprint_Stub(
  1580. IRpcStubBuffer *This,
  1581. IRpcChannelBuffer *_pRpcChannelBuffer,
  1582. PRPC_MESSAGE _pRpcMessage,
  1583. DWORD *_pdwStubPhase);
  1584. HRESULT STDMETHODCALLTYPE IMimeSecurity_DuplicateCertificate_Proxy(
  1585. IMimeSecurity __RPC_FAR * This,
  1586. /* [in] */ const PCX509CERT pX509Cert,
  1587. /* [retval][out] */ PCX509CERT __RPC_FAR *ppDupCert);
  1588. void __RPC_STUB IMimeSecurity_DuplicateCertificate_Stub(
  1589. IRpcStubBuffer *This,
  1590. IRpcChannelBuffer *_pRpcChannelBuffer,
  1591. PRPC_MESSAGE _pRpcMessage,
  1592. DWORD *_pdwStubPhase);
  1593. HRESULT STDMETHODCALLTYPE IMimeSecurity_FreeCertificate_Proxy(
  1594. IMimeSecurity __RPC_FAR * This,
  1595. /* [unique][in] */ const PCX509CERT pc);
  1596. void __RPC_STUB IMimeSecurity_FreeCertificate_Stub(
  1597. IRpcStubBuffer *This,
  1598. IRpcChannelBuffer *_pRpcChannelBuffer,
  1599. PRPC_MESSAGE _pRpcMessage,
  1600. DWORD *_pdwStubPhase);
  1601. HRESULT STDMETHODCALLTYPE IMimeSecurity_GetMessageType_Proxy(
  1602. IMimeSecurity __RPC_FAR * This,
  1603. /* [unique][in] */ const LPSTREAM lpstmIn,
  1604. /* [retval][out] */ SECURETYPE __RPC_FAR *pst);
  1605. void __RPC_STUB IMimeSecurity_GetMessageType_Stub(
  1606. IRpcStubBuffer *This,
  1607. IRpcChannelBuffer *_pRpcChannelBuffer,
  1608. PRPC_MESSAGE _pRpcMessage,
  1609. DWORD *_pdwStubPhase);
  1610. HRESULT STDMETHODCALLTYPE IMimeSecurity_VerifyTimeValidity_Proxy(
  1611. IMimeSecurity __RPC_FAR * This,
  1612. /* [in] */ const PCX509CERT pX509Cert);
  1613. void __RPC_STUB IMimeSecurity_VerifyTimeValidity_Stub(
  1614. IRpcStubBuffer *This,
  1615. IRpcChannelBuffer *_pRpcChannelBuffer,
  1616. PRPC_MESSAGE _pRpcMessage,
  1617. DWORD *_pdwStubPhase);
  1618. HRESULT STDMETHODCALLTYPE IMimeSecurity_GetCertData_Proxy(
  1619. IMimeSecurity __RPC_FAR * This,
  1620. /* [in] */ const PCX509CERT pX509Cert,
  1621. /* [in] */ const CERTDATAID dataid,
  1622. /* [ref][out] */ LPPROPVARIANT pValue);
  1623. void __RPC_STUB IMimeSecurity_GetCertData_Stub(
  1624. IRpcStubBuffer *This,
  1625. IRpcChannelBuffer *_pRpcChannelBuffer,
  1626. PRPC_MESSAGE _pRpcMessage,
  1627. DWORD *_pdwStubPhase);
  1628. #endif /* __IMimeSecurity_INTERFACE_DEFINED__ */
  1629. #ifndef __IMimeSecurityOptions_INTERFACE_DEFINED__
  1630. #define __IMimeSecurityOptions_INTERFACE_DEFINED__
  1631. /****************************************
  1632. * Generated header for interface: IMimeSecurityOptions
  1633. * at Mon May 12 23:53:20 1997
  1634. * using MIDL 3.02.88
  1635. ****************************************/
  1636. /* [object][ref][helpstring][uuid] */
  1637. typedef /* [unique] */ IMimeSecurityOptions __RPC_FAR *LPMIMESECURITYOPTIONS;
  1638. typedef /* [unique] */ const IMimeSecurityOptions __RPC_FAR *LPCMIMESECURITYOPTIONS;
  1639. EXTERN_C const IID IID_IMimeSecurityOptions;
  1640. #if defined(__cplusplus) && !defined(CINTERFACE)
  1641. interface DECLSPEC_UUID("6AD6A1F4-C19B-11d0-85EB-00C04FD85AB4")
  1642. IMimeSecurityOptions : public IUnknown
  1643. {
  1644. public:
  1645. virtual HRESULT STDMETHODCALLTYPE AddChainForSenderOnCertificateInclusion( void) = 0;
  1646. virtual HRESULT STDMETHODCALLTYPE IncludeRecipientCertificates( void) = 0;
  1647. virtual HRESULT STDMETHODCALLTYPE AddChainForRecipientsOnCertificateInclusion( void) = 0;
  1648. virtual HRESULT STDMETHODCALLTYPE IsDecodedMessage( void) = 0;
  1649. virtual HRESULT STDMETHODCALLTYPE IncludeSendersCertificate( void) = 0;
  1650. virtual HRESULT STDMETHODCALLTYPE GetSecurity(
  1651. /* [out] */ SECURETYPE __RPC_FAR *__RPC_FAR *rgtype,
  1652. /* [out] */ SECURESTATE __RPC_FAR *__RPC_FAR *rgstate,
  1653. /* [out] */ ULONG __RPC_FAR *pcTypes) = 0;
  1654. virtual HRESULT STDMETHODCALLTYPE GetHashAlgId(
  1655. /* [retval][out] */ ALG_ID __RPC_FAR *aid) = 0;
  1656. virtual HRESULT STDMETHODCALLTYPE GetEncryptionAlgId(
  1657. /* [retval][out] */ ALG_ID __RPC_FAR *aid) = 0;
  1658. virtual HRESULT STDMETHODCALLTYPE GetSendersThumbprints(
  1659. /* [out] */ THUMBBLOB __RPC_FAR *__RPC_FAR *prgPrints,
  1660. /* [out] */ DWORD __RPC_FAR *pCount) = 0;
  1661. };
  1662. #else /* C style interface */
  1663. typedef struct IMimeSecurityOptionsVtbl
  1664. {
  1665. BEGIN_INTERFACE
  1666. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1667. IMimeSecurityOptions __RPC_FAR * This,
  1668. /* [in] */ REFIID riid,
  1669. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1670. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1671. IMimeSecurityOptions __RPC_FAR * This);
  1672. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1673. IMimeSecurityOptions __RPC_FAR * This);
  1674. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddChainForSenderOnCertificateInclusion )(
  1675. IMimeSecurityOptions __RPC_FAR * This);
  1676. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncludeRecipientCertificates )(
  1677. IMimeSecurityOptions __RPC_FAR * This);
  1678. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddChainForRecipientsOnCertificateInclusion )(
  1679. IMimeSecurityOptions __RPC_FAR * This);
  1680. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDecodedMessage )(
  1681. IMimeSecurityOptions __RPC_FAR * This);
  1682. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncludeSendersCertificate )(
  1683. IMimeSecurityOptions __RPC_FAR * This);
  1684. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSecurity )(
  1685. IMimeSecurityOptions __RPC_FAR * This,
  1686. /* [out] */ SECURETYPE __RPC_FAR *__RPC_FAR *rgtype,
  1687. /* [out] */ SECURESTATE __RPC_FAR *__RPC_FAR *rgstate,
  1688. /* [out] */ ULONG __RPC_FAR *pcTypes);
  1689. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHashAlgId )(
  1690. IMimeSecurityOptions __RPC_FAR * This,
  1691. /* [retval][out] */ ALG_ID __RPC_FAR *aid);
  1692. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEncryptionAlgId )(
  1693. IMimeSecurityOptions __RPC_FAR * This,
  1694. /* [retval][out] */ ALG_ID __RPC_FAR *aid);
  1695. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSendersThumbprints )(
  1696. IMimeSecurityOptions __RPC_FAR * This,
  1697. /* [out] */ THUMBBLOB __RPC_FAR *__RPC_FAR *prgPrints,
  1698. /* [out] */ DWORD __RPC_FAR *pCount);
  1699. END_INTERFACE
  1700. } IMimeSecurityOptionsVtbl;
  1701. interface IMimeSecurityOptions
  1702. {
  1703. CONST_VTBL struct IMimeSecurityOptionsVtbl __RPC_FAR *lpVtbl;
  1704. };
  1705. #ifdef COBJMACROS
  1706. #define IMimeSecurityOptions_QueryInterface(This,riid,ppvObject) \
  1707. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1708. #define IMimeSecurityOptions_AddRef(This) \
  1709. (This)->lpVtbl -> AddRef(This)
  1710. #define IMimeSecurityOptions_Release(This) \
  1711. (This)->lpVtbl -> Release(This)
  1712. #define IMimeSecurityOptions_AddChainForSenderOnCertificateInclusion(This) \
  1713. (This)->lpVtbl -> AddChainForSenderOnCertificateInclusion(This)
  1714. #define IMimeSecurityOptions_IncludeRecipientCertificates(This) \
  1715. (This)->lpVtbl -> IncludeRecipientCertificates(This)
  1716. #define IMimeSecurityOptions_AddChainForRecipientsOnCertificateInclusion(This) \
  1717. (This)->lpVtbl -> AddChainForRecipientsOnCertificateInclusion(This)
  1718. #define IMimeSecurityOptions_IsDecodedMessage(This) \
  1719. (This)->lpVtbl -> IsDecodedMessage(This)
  1720. #define IMimeSecurityOptions_IncludeSendersCertificate(This) \
  1721. (This)->lpVtbl -> IncludeSendersCertificate(This)
  1722. #define IMimeSecurityOptions_GetSecurity(This,rgtype,rgstate,pcTypes) \
  1723. (This)->lpVtbl -> GetSecurity(This,rgtype,rgstate,pcTypes)
  1724. #define IMimeSecurityOptions_GetHashAlgId(This,aid) \
  1725. (This)->lpVtbl -> GetHashAlgId(This,aid)
  1726. #define IMimeSecurityOptions_GetEncryptionAlgId(This,aid) \
  1727. (This)->lpVtbl -> GetEncryptionAlgId(This,aid)
  1728. #define IMimeSecurityOptions_GetSendersThumbprints(This,prgPrints,pCount) \
  1729. (This)->lpVtbl -> GetSendersThumbprints(This,prgPrints,pCount)
  1730. #endif /* COBJMACROS */
  1731. #endif /* C style interface */
  1732. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_AddChainForSenderOnCertificateInclusion_Proxy(
  1733. IMimeSecurityOptions __RPC_FAR * This);
  1734. void __RPC_STUB IMimeSecurityOptions_AddChainForSenderOnCertificateInclusion_Stub(
  1735. IRpcStubBuffer *This,
  1736. IRpcChannelBuffer *_pRpcChannelBuffer,
  1737. PRPC_MESSAGE _pRpcMessage,
  1738. DWORD *_pdwStubPhase);
  1739. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_IncludeRecipientCertificates_Proxy(
  1740. IMimeSecurityOptions __RPC_FAR * This);
  1741. void __RPC_STUB IMimeSecurityOptions_IncludeRecipientCertificates_Stub(
  1742. IRpcStubBuffer *This,
  1743. IRpcChannelBuffer *_pRpcChannelBuffer,
  1744. PRPC_MESSAGE _pRpcMessage,
  1745. DWORD *_pdwStubPhase);
  1746. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_AddChainForRecipientsOnCertificateInclusion_Proxy(
  1747. IMimeSecurityOptions __RPC_FAR * This);
  1748. void __RPC_STUB IMimeSecurityOptions_AddChainForRecipientsOnCertificateInclusion_Stub(
  1749. IRpcStubBuffer *This,
  1750. IRpcChannelBuffer *_pRpcChannelBuffer,
  1751. PRPC_MESSAGE _pRpcMessage,
  1752. DWORD *_pdwStubPhase);
  1753. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_IsDecodedMessage_Proxy(
  1754. IMimeSecurityOptions __RPC_FAR * This);
  1755. void __RPC_STUB IMimeSecurityOptions_IsDecodedMessage_Stub(
  1756. IRpcStubBuffer *This,
  1757. IRpcChannelBuffer *_pRpcChannelBuffer,
  1758. PRPC_MESSAGE _pRpcMessage,
  1759. DWORD *_pdwStubPhase);
  1760. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_IncludeSendersCertificate_Proxy(
  1761. IMimeSecurityOptions __RPC_FAR * This);
  1762. void __RPC_STUB IMimeSecurityOptions_IncludeSendersCertificate_Stub(
  1763. IRpcStubBuffer *This,
  1764. IRpcChannelBuffer *_pRpcChannelBuffer,
  1765. PRPC_MESSAGE _pRpcMessage,
  1766. DWORD *_pdwStubPhase);
  1767. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_GetSecurity_Proxy(
  1768. IMimeSecurityOptions __RPC_FAR * This,
  1769. /* [out] */ SECURETYPE __RPC_FAR *__RPC_FAR *rgtype,
  1770. /* [out] */ SECURESTATE __RPC_FAR *__RPC_FAR *rgstate,
  1771. /* [out] */ ULONG __RPC_FAR *pcTypes);
  1772. void __RPC_STUB IMimeSecurityOptions_GetSecurity_Stub(
  1773. IRpcStubBuffer *This,
  1774. IRpcChannelBuffer *_pRpcChannelBuffer,
  1775. PRPC_MESSAGE _pRpcMessage,
  1776. DWORD *_pdwStubPhase);
  1777. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_GetHashAlgId_Proxy(
  1778. IMimeSecurityOptions __RPC_FAR * This,
  1779. /* [retval][out] */ ALG_ID __RPC_FAR *aid);
  1780. void __RPC_STUB IMimeSecurityOptions_GetHashAlgId_Stub(
  1781. IRpcStubBuffer *This,
  1782. IRpcChannelBuffer *_pRpcChannelBuffer,
  1783. PRPC_MESSAGE _pRpcMessage,
  1784. DWORD *_pdwStubPhase);
  1785. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_GetEncryptionAlgId_Proxy(
  1786. IMimeSecurityOptions __RPC_FAR * This,
  1787. /* [retval][out] */ ALG_ID __RPC_FAR *aid);
  1788. void __RPC_STUB IMimeSecurityOptions_GetEncryptionAlgId_Stub(
  1789. IRpcStubBuffer *This,
  1790. IRpcChannelBuffer *_pRpcChannelBuffer,
  1791. PRPC_MESSAGE _pRpcMessage,
  1792. DWORD *_pdwStubPhase);
  1793. HRESULT STDMETHODCALLTYPE IMimeSecurityOptions_GetSendersThumbprints_Proxy(
  1794. IMimeSecurityOptions __RPC_FAR * This,
  1795. /* [out] */ THUMBBLOB __RPC_FAR *__RPC_FAR *prgPrints,
  1796. /* [out] */ DWORD __RPC_FAR *pCount);
  1797. void __RPC_STUB IMimeSecurityOptions_GetSendersThumbprints_Stub(
  1798. IRpcStubBuffer *This,
  1799. IRpcChannelBuffer *_pRpcChannelBuffer,
  1800. PRPC_MESSAGE _pRpcMessage,
  1801. DWORD *_pdwStubPhase);
  1802. #endif /* __IMimeSecurityOptions_INTERFACE_DEFINED__ */
  1803. #ifndef __IMimeSecurityInfo_INTERFACE_DEFINED__
  1804. #define __IMimeSecurityInfo_INTERFACE_DEFINED__
  1805. /****************************************
  1806. * Generated header for interface: IMimeSecurityInfo
  1807. * at Mon May 12 23:53:20 1997
  1808. * using MIDL 3.02.88
  1809. ****************************************/
  1810. /* [object][unique][helpstring][uuid] */
  1811. typedef /* [unique] */ IMimeSecurityInfo __RPC_FAR *LPMIMESECURITYINFO;
  1812. typedef /* [unique] */ const IMimeSecurityInfo __RPC_FAR *LPCMIMESECURITYINFO;
  1813. typedef struct tagSECUREINFO
  1814. {
  1815. SECURETYPE stMsgEnhancement;
  1816. SECURESTATE ssSign;
  1817. SECURESTATE ssEncrypt;
  1818. ALG_ID aidHash;
  1819. ALG_ID aidEncryption;
  1820. PCX509CERT pSendersCert;
  1821. BOOL fTrustedCert;
  1822. BOOL fCertWithMsg;
  1823. } SECUREINFO;
  1824. typedef struct tagSECUREINFO __RPC_FAR *PSECUREINFO;
  1825. typedef const SECUREINFO __RPC_FAR *PCSECUREINFO;
  1826. EXTERN_C const IID IID_IMimeSecurityInfo;
  1827. #if defined(__cplusplus) && !defined(CINTERFACE)
  1828. interface DECLSPEC_UUID("6AD6A1F3-C19B-11d0-85EB-00C04FD85AB4")
  1829. IMimeSecurityInfo : public IUnknown
  1830. {
  1831. public:
  1832. virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  1833. virtual HRESULT STDMETHODCALLTYPE SetDefaults(
  1834. /* [in] */ IMimeSecurityOptions __RPC_FAR *pOptSet) = 0;
  1835. virtual HRESULT STDMETHODCALLTYPE SetDefaultsFromSI(
  1836. /* [in] */ const SMIMEINFO __RPC_FAR *const psi) = 0;
  1837. virtual HRESULT STDMETHODCALLTYPE IsNew( void) = 0;
  1838. virtual HRESULT STDMETHODCALLTYPE DefaultsBeenSet( void) = 0;
  1839. virtual HRESULT STDMETHODCALLTYPE SetOption(
  1840. /* [in] */ const ULONG ulOptionId,
  1841. /* [in] */ LPPROPVARIANT pValue) = 0;
  1842. virtual HRESULT STDMETHODCALLTYPE GetOption(
  1843. /* [in] */ const ULONG ulOptionId,
  1844. /* [ref][out] */ LPPROPVARIANT pValue) = 0;
  1845. virtual HRESULT STDMETHODCALLTYPE SetSecurityType(
  1846. /* [in] */ const SECURETYPE flag,
  1847. /* [in] */ const SECURESTATE state) = 0;
  1848. virtual HRESULT STDMETHODCALLTYPE GetSecurityState(
  1849. /* [in] */ const SECURECLASS type,
  1850. /* [out] */ SECURESTATE __RPC_FAR *pState) = 0;
  1851. virtual HRESULT STDMETHODCALLTYPE GetDecodedInfo(
  1852. /* [ref][out] */ SECUREINFO __RPC_FAR *const pInfo) = 0;
  1853. };
  1854. #else /* C style interface */
  1855. typedef struct IMimeSecurityInfoVtbl
  1856. {
  1857. BEGIN_INTERFACE
  1858. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1859. IMimeSecurityInfo __RPC_FAR * This,
  1860. /* [in] */ REFIID riid,
  1861. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1862. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1863. IMimeSecurityInfo __RPC_FAR * This);
  1864. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1865. IMimeSecurityInfo __RPC_FAR * This);
  1866. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )(
  1867. IMimeSecurityInfo __RPC_FAR * This);
  1868. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaults )(
  1869. IMimeSecurityInfo __RPC_FAR * This,
  1870. /* [in] */ IMimeSecurityOptions __RPC_FAR *pOptSet);
  1871. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultsFromSI )(
  1872. IMimeSecurityInfo __RPC_FAR * This,
  1873. /* [in] */ const SMIMEINFO __RPC_FAR *const psi);
  1874. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsNew )(
  1875. IMimeSecurityInfo __RPC_FAR * This);
  1876. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefaultsBeenSet )(
  1877. IMimeSecurityInfo __RPC_FAR * This);
  1878. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOption )(
  1879. IMimeSecurityInfo __RPC_FAR * This,
  1880. /* [in] */ const ULONG ulOptionId,
  1881. /* [in] */ LPPROPVARIANT pValue);
  1882. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOption )(
  1883. IMimeSecurityInfo __RPC_FAR * This,
  1884. /* [in] */ const ULONG ulOptionId,
  1885. /* [ref][out] */ LPPROPVARIANT pValue);
  1886. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSecurityType )(
  1887. IMimeSecurityInfo __RPC_FAR * This,
  1888. /* [in] */ const SECURETYPE flag,
  1889. /* [in] */ const SECURESTATE state);
  1890. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSecurityState )(
  1891. IMimeSecurityInfo __RPC_FAR * This,
  1892. /* [in] */ const SECURECLASS type,
  1893. /* [out] */ SECURESTATE __RPC_FAR *pState);
  1894. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDecodedInfo )(
  1895. IMimeSecurityInfo __RPC_FAR * This,
  1896. /* [ref][out] */ SECUREINFO __RPC_FAR *const pInfo);
  1897. END_INTERFACE
  1898. } IMimeSecurityInfoVtbl;
  1899. interface IMimeSecurityInfo
  1900. {
  1901. CONST_VTBL struct IMimeSecurityInfoVtbl __RPC_FAR *lpVtbl;
  1902. };
  1903. #ifdef COBJMACROS
  1904. #define IMimeSecurityInfo_QueryInterface(This,riid,ppvObject) \
  1905. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1906. #define IMimeSecurityInfo_AddRef(This) \
  1907. (This)->lpVtbl -> AddRef(This)
  1908. #define IMimeSecurityInfo_Release(This) \
  1909. (This)->lpVtbl -> Release(This)
  1910. #define IMimeSecurityInfo_InitNew(This) \
  1911. (This)->lpVtbl -> InitNew(This)
  1912. #define IMimeSecurityInfo_SetDefaults(This,pOptSet) \
  1913. (This)->lpVtbl -> SetDefaults(This,pOptSet)
  1914. #define IMimeSecurityInfo_SetDefaultsFromSI(This,psi) \
  1915. (This)->lpVtbl -> SetDefaultsFromSI(This,psi)
  1916. #define IMimeSecurityInfo_IsNew(This) \
  1917. (This)->lpVtbl -> IsNew(This)
  1918. #define IMimeSecurityInfo_DefaultsBeenSet(This) \
  1919. (This)->lpVtbl -> DefaultsBeenSet(This)
  1920. #define IMimeSecurityInfo_SetOption(This,ulOptionId,pValue) \
  1921. (This)->lpVtbl -> SetOption(This,ulOptionId,pValue)
  1922. #define IMimeSecurityInfo_GetOption(This,ulOptionId,pValue) \
  1923. (This)->lpVtbl -> GetOption(This,ulOptionId,pValue)
  1924. #define IMimeSecurityInfo_SetSecurityType(This,flag,state) \
  1925. (This)->lpVtbl -> SetSecurityType(This,flag,state)
  1926. #define IMimeSecurityInfo_GetSecurityState(This,type,pState) \
  1927. (This)->lpVtbl -> GetSecurityState(This,type,pState)
  1928. #define IMimeSecurityInfo_GetDecodedInfo(This,pInfo) \
  1929. (This)->lpVtbl -> GetDecodedInfo(This,pInfo)
  1930. #endif /* COBJMACROS */
  1931. #endif /* C style interface */
  1932. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_InitNew_Proxy(
  1933. IMimeSecurityInfo __RPC_FAR * This);
  1934. void __RPC_STUB IMimeSecurityInfo_InitNew_Stub(
  1935. IRpcStubBuffer *This,
  1936. IRpcChannelBuffer *_pRpcChannelBuffer,
  1937. PRPC_MESSAGE _pRpcMessage,
  1938. DWORD *_pdwStubPhase);
  1939. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_SetDefaults_Proxy(
  1940. IMimeSecurityInfo __RPC_FAR * This,
  1941. /* [in] */ IMimeSecurityOptions __RPC_FAR *pOptSet);
  1942. void __RPC_STUB IMimeSecurityInfo_SetDefaults_Stub(
  1943. IRpcStubBuffer *This,
  1944. IRpcChannelBuffer *_pRpcChannelBuffer,
  1945. PRPC_MESSAGE _pRpcMessage,
  1946. DWORD *_pdwStubPhase);
  1947. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_SetDefaultsFromSI_Proxy(
  1948. IMimeSecurityInfo __RPC_FAR * This,
  1949. /* [in] */ const SMIMEINFO __RPC_FAR *const psi);
  1950. void __RPC_STUB IMimeSecurityInfo_SetDefaultsFromSI_Stub(
  1951. IRpcStubBuffer *This,
  1952. IRpcChannelBuffer *_pRpcChannelBuffer,
  1953. PRPC_MESSAGE _pRpcMessage,
  1954. DWORD *_pdwStubPhase);
  1955. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_IsNew_Proxy(
  1956. IMimeSecurityInfo __RPC_FAR * This);
  1957. void __RPC_STUB IMimeSecurityInfo_IsNew_Stub(
  1958. IRpcStubBuffer *This,
  1959. IRpcChannelBuffer *_pRpcChannelBuffer,
  1960. PRPC_MESSAGE _pRpcMessage,
  1961. DWORD *_pdwStubPhase);
  1962. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_DefaultsBeenSet_Proxy(
  1963. IMimeSecurityInfo __RPC_FAR * This);
  1964. void __RPC_STUB IMimeSecurityInfo_DefaultsBeenSet_Stub(
  1965. IRpcStubBuffer *This,
  1966. IRpcChannelBuffer *_pRpcChannelBuffer,
  1967. PRPC_MESSAGE _pRpcMessage,
  1968. DWORD *_pdwStubPhase);
  1969. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_SetOption_Proxy(
  1970. IMimeSecurityInfo __RPC_FAR * This,
  1971. /* [in] */ const ULONG ulOptionId,
  1972. /* [in] */ LPPROPVARIANT pValue);
  1973. void __RPC_STUB IMimeSecurityInfo_SetOption_Stub(
  1974. IRpcStubBuffer *This,
  1975. IRpcChannelBuffer *_pRpcChannelBuffer,
  1976. PRPC_MESSAGE _pRpcMessage,
  1977. DWORD *_pdwStubPhase);
  1978. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_GetOption_Proxy(
  1979. IMimeSecurityInfo __RPC_FAR * This,
  1980. /* [in] */ const ULONG ulOptionId,
  1981. /* [ref][out] */ LPPROPVARIANT pValue);
  1982. void __RPC_STUB IMimeSecurityInfo_GetOption_Stub(
  1983. IRpcStubBuffer *This,
  1984. IRpcChannelBuffer *_pRpcChannelBuffer,
  1985. PRPC_MESSAGE _pRpcMessage,
  1986. DWORD *_pdwStubPhase);
  1987. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_SetSecurityType_Proxy(
  1988. IMimeSecurityInfo __RPC_FAR * This,
  1989. /* [in] */ const SECURETYPE flag,
  1990. /* [in] */ const SECURESTATE state);
  1991. void __RPC_STUB IMimeSecurityInfo_SetSecurityType_Stub(
  1992. IRpcStubBuffer *This,
  1993. IRpcChannelBuffer *_pRpcChannelBuffer,
  1994. PRPC_MESSAGE _pRpcMessage,
  1995. DWORD *_pdwStubPhase);
  1996. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_GetSecurityState_Proxy(
  1997. IMimeSecurityInfo __RPC_FAR * This,
  1998. /* [in] */ const SECURECLASS type,
  1999. /* [out] */ SECURESTATE __RPC_FAR *pState);
  2000. void __RPC_STUB IMimeSecurityInfo_GetSecurityState_Stub(
  2001. IRpcStubBuffer *This,
  2002. IRpcChannelBuffer *_pRpcChannelBuffer,
  2003. PRPC_MESSAGE _pRpcMessage,
  2004. DWORD *_pdwStubPhase);
  2005. HRESULT STDMETHODCALLTYPE IMimeSecurityInfo_GetDecodedInfo_Proxy(
  2006. IMimeSecurityInfo __RPC_FAR * This,
  2007. /* [ref][out] */ SECUREINFO __RPC_FAR *const pInfo);
  2008. void __RPC_STUB IMimeSecurityInfo_GetDecodedInfo_Stub(
  2009. IRpcStubBuffer *This,
  2010. IRpcChannelBuffer *_pRpcChannelBuffer,
  2011. PRPC_MESSAGE _pRpcMessage,
  2012. DWORD *_pdwStubPhase);
  2013. #endif /* __IMimeSecurityInfo_INTERFACE_DEFINED__ */
  2014. #ifndef __IMimeHeaderTable_INTERFACE_DEFINED__
  2015. #define __IMimeHeaderTable_INTERFACE_DEFINED__
  2016. /****************************************
  2017. * Generated header for interface: IMimeHeaderTable
  2018. * at Mon May 12 23:53:20 1997
  2019. * using MIDL 3.02.88
  2020. ****************************************/
  2021. /* [object][helpstring][uuid] */
  2022. typedef struct tagFINDHEADER
  2023. {
  2024. LPCSTR pszHeader;
  2025. DWORD dwReserved;
  2026. } FINDHEADER;
  2027. typedef struct tagFINDHEADER __RPC_FAR *LPFINDHEADER;
  2028. typedef struct tagHEADERROWINFO
  2029. {
  2030. DWORD dwRowNumber;
  2031. ULONG cboffStart;
  2032. ULONG cboffColon;
  2033. ULONG cboffEnd;
  2034. } HEADERROWINFO;
  2035. typedef struct tagHEADERROWINFO __RPC_FAR *LPHEADERROWINFO;
  2036. typedef
  2037. enum tagHEADERTABLEFLAGS
  2038. { HTF_NAMEINDATA = 0x1,
  2039. HTF_ENUMHANDLESONLY = 0x2
  2040. } HEADERTABLEFLAGS;
  2041. EXTERN_C const IID IID_IMimeHeaderTable;
  2042. #if defined(__cplusplus) && !defined(CINTERFACE)
  2043. interface DECLSPEC_UUID("6AD6A202-C19B-11d0-85EB-00C04FD85AB4")
  2044. IMimeHeaderTable : public IPersistStream
  2045. {
  2046. public:
  2047. virtual HRESULT STDMETHODCALLTYPE FindFirstRow(
  2048. /* [in] */ LPFINDHEADER pFindHeader,
  2049. /* [out] */ LPHHEADERROW phRow) = 0;
  2050. virtual HRESULT STDMETHODCALLTYPE FindNextRow(
  2051. /* [in] */ LPFINDHEADER pFindHeader,
  2052. /* [out] */ LPHHEADERROW phRow) = 0;
  2053. virtual HRESULT STDMETHODCALLTYPE CountRows(
  2054. /* [in] */ LPCSTR pszHeader,
  2055. /* [out] */ ULONG __RPC_FAR *pcRows) = 0;
  2056. virtual HRESULT STDMETHODCALLTYPE AppendRow(
  2057. /* [in] */ LPCSTR pszHeader,
  2058. /* [in] */ DWORD dwFlags,
  2059. /* [in] */ LPCSTR pszData,
  2060. /* [in] */ ULONG cchData,
  2061. /* [out] */ LPHHEADERROW phRow) = 0;
  2062. virtual HRESULT STDMETHODCALLTYPE DeleteRow(
  2063. /* [in] */ HHEADERROW hRow) = 0;
  2064. virtual HRESULT STDMETHODCALLTYPE GetRowData(
  2065. /* [in] */ HHEADERROW hRow,
  2066. /* [in] */ DWORD dwFlags,
  2067. /* [out] */ LPSTR __RPC_FAR *ppszData,
  2068. /* [out] */ ULONG __RPC_FAR *pcchData) = 0;
  2069. virtual HRESULT STDMETHODCALLTYPE SetRowData(
  2070. /* [in] */ HHEADERROW hRow,
  2071. /* [in] */ DWORD dwFlags,
  2072. /* [in] */ LPCSTR pszData,
  2073. /* [in] */ ULONG cchData) = 0;
  2074. virtual HRESULT STDMETHODCALLTYPE GetRowInfo(
  2075. /* [in] */ HHEADERROW hRow,
  2076. /* [out][in] */ LPHEADERROWINFO pInfo) = 0;
  2077. virtual HRESULT STDMETHODCALLTYPE SetRowNumber(
  2078. /* [in] */ HHEADERROW hRow,
  2079. /* [in] */ DWORD dwRowNumber) = 0;
  2080. virtual HRESULT STDMETHODCALLTYPE EnumRows(
  2081. /* [in] */ LPCSTR pszHeader,
  2082. /* [in] */ DWORD dwFlags,
  2083. /* [out] */ IMimeEnumHeaderRows __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  2084. virtual HRESULT STDMETHODCALLTYPE Clone(
  2085. /* [out] */ IMimeHeaderTable __RPC_FAR *__RPC_FAR *ppTable) = 0;
  2086. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  2087. /* [in] */ REFIID riid,
  2088. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  2089. };
  2090. #else /* C style interface */
  2091. typedef struct IMimeHeaderTableVtbl
  2092. {
  2093. BEGIN_INTERFACE
  2094. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2095. IMimeHeaderTable __RPC_FAR * This,
  2096. /* [in] */ REFIID riid,
  2097. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2098. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2099. IMimeHeaderTable __RPC_FAR * This);
  2100. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2101. IMimeHeaderTable __RPC_FAR * This);
  2102. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )(
  2103. IMimeHeaderTable __RPC_FAR * This,
  2104. /* [out] */ CLSID __RPC_FAR *pClassID);
  2105. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )(
  2106. IMimeHeaderTable __RPC_FAR * This);
  2107. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )(
  2108. IMimeHeaderTable __RPC_FAR * This,
  2109. /* [unique][in] */ IStream __RPC_FAR *pStm);
  2110. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )(
  2111. IMimeHeaderTable __RPC_FAR * This,
  2112. /* [unique][in] */ IStream __RPC_FAR *pStm,
  2113. /* [in] */ BOOL fClearDirty);
  2114. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )(
  2115. IMimeHeaderTable __RPC_FAR * This,
  2116. /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  2117. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFirstRow )(
  2118. IMimeHeaderTable __RPC_FAR * This,
  2119. /* [in] */ LPFINDHEADER pFindHeader,
  2120. /* [out] */ LPHHEADERROW phRow);
  2121. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindNextRow )(
  2122. IMimeHeaderTable __RPC_FAR * This,
  2123. /* [in] */ LPFINDHEADER pFindHeader,
  2124. /* [out] */ LPHHEADERROW phRow);
  2125. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CountRows )(
  2126. IMimeHeaderTable __RPC_FAR * This,
  2127. /* [in] */ LPCSTR pszHeader,
  2128. /* [out] */ ULONG __RPC_FAR *pcRows);
  2129. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendRow )(
  2130. IMimeHeaderTable __RPC_FAR * This,
  2131. /* [in] */ LPCSTR pszHeader,
  2132. /* [in] */ DWORD dwFlags,
  2133. /* [in] */ LPCSTR pszData,
  2134. /* [in] */ ULONG cchData,
  2135. /* [out] */ LPHHEADERROW phRow);
  2136. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteRow )(
  2137. IMimeHeaderTable __RPC_FAR * This,
  2138. /* [in] */ HHEADERROW hRow);
  2139. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowData )(
  2140. IMimeHeaderTable __RPC_FAR * This,
  2141. /* [in] */ HHEADERROW hRow,
  2142. /* [in] */ DWORD dwFlags,
  2143. /* [out] */ LPSTR __RPC_FAR *ppszData,
  2144. /* [out] */ ULONG __RPC_FAR *pcchData);
  2145. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRowData )(
  2146. IMimeHeaderTable __RPC_FAR * This,
  2147. /* [in] */ HHEADERROW hRow,
  2148. /* [in] */ DWORD dwFlags,
  2149. /* [in] */ LPCSTR pszData,
  2150. /* [in] */ ULONG cchData);
  2151. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowInfo )(
  2152. IMimeHeaderTable __RPC_FAR * This,
  2153. /* [in] */ HHEADERROW hRow,
  2154. /* [out][in] */ LPHEADERROWINFO pInfo);
  2155. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRowNumber )(
  2156. IMimeHeaderTable __RPC_FAR * This,
  2157. /* [in] */ HHEADERROW hRow,
  2158. /* [in] */ DWORD dwRowNumber);
  2159. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumRows )(
  2160. IMimeHeaderTable __RPC_FAR * This,
  2161. /* [in] */ LPCSTR pszHeader,
  2162. /* [in] */ DWORD dwFlags,
  2163. /* [out] */ IMimeEnumHeaderRows __RPC_FAR *__RPC_FAR *ppEnum);
  2164. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  2165. IMimeHeaderTable __RPC_FAR * This,
  2166. /* [out] */ IMimeHeaderTable __RPC_FAR *__RPC_FAR *ppTable);
  2167. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )(
  2168. IMimeHeaderTable __RPC_FAR * This,
  2169. /* [in] */ REFIID riid,
  2170. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2171. END_INTERFACE
  2172. } IMimeHeaderTableVtbl;
  2173. interface IMimeHeaderTable
  2174. {
  2175. CONST_VTBL struct IMimeHeaderTableVtbl __RPC_FAR *lpVtbl;
  2176. };
  2177. #ifdef COBJMACROS
  2178. #define IMimeHeaderTable_QueryInterface(This,riid,ppvObject) \
  2179. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2180. #define IMimeHeaderTable_AddRef(This) \
  2181. (This)->lpVtbl -> AddRef(This)
  2182. #define IMimeHeaderTable_Release(This) \
  2183. (This)->lpVtbl -> Release(This)
  2184. #define IMimeHeaderTable_GetClassID(This,pClassID) \
  2185. (This)->lpVtbl -> GetClassID(This,pClassID)
  2186. #define IMimeHeaderTable_IsDirty(This) \
  2187. (This)->lpVtbl -> IsDirty(This)
  2188. #define IMimeHeaderTable_Load(This,pStm) \
  2189. (This)->lpVtbl -> Load(This,pStm)
  2190. #define IMimeHeaderTable_Save(This,pStm,fClearDirty) \
  2191. (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  2192. #define IMimeHeaderTable_GetSizeMax(This,pcbSize) \
  2193. (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  2194. #define IMimeHeaderTable_FindFirstRow(This,pFindHeader,phRow) \
  2195. (This)->lpVtbl -> FindFirstRow(This,pFindHeader,phRow)
  2196. #define IMimeHeaderTable_FindNextRow(This,pFindHeader,phRow) \
  2197. (This)->lpVtbl -> FindNextRow(This,pFindHeader,phRow)
  2198. #define IMimeHeaderTable_CountRows(This,pszHeader,pcRows) \
  2199. (This)->lpVtbl -> CountRows(This,pszHeader,pcRows)
  2200. #define IMimeHeaderTable_AppendRow(This,pszHeader,dwFlags,pszData,cchData,phRow) \
  2201. (This)->lpVtbl -> AppendRow(This,pszHeader,dwFlags,pszData,cchData,phRow)
  2202. #define IMimeHeaderTable_DeleteRow(This,hRow) \
  2203. (This)->lpVtbl -> DeleteRow(This,hRow)
  2204. #define IMimeHeaderTable_GetRowData(This,hRow,dwFlags,ppszData,pcchData) \
  2205. (This)->lpVtbl -> GetRowData(This,hRow,dwFlags,ppszData,pcchData)
  2206. #define IMimeHeaderTable_SetRowData(This,hRow,dwFlags,pszData,cchData) \
  2207. (This)->lpVtbl -> SetRowData(This,hRow,dwFlags,pszData,cchData)
  2208. #define IMimeHeaderTable_GetRowInfo(This,hRow,pInfo) \
  2209. (This)->lpVtbl -> GetRowInfo(This,hRow,pInfo)
  2210. #define IMimeHeaderTable_SetRowNumber(This,hRow,dwRowNumber) \
  2211. (This)->lpVtbl -> SetRowNumber(This,hRow,dwRowNumber)
  2212. #define IMimeHeaderTable_EnumRows(This,pszHeader,dwFlags,ppEnum) \
  2213. (This)->lpVtbl -> EnumRows(This,pszHeader,dwFlags,ppEnum)
  2214. #define IMimeHeaderTable_Clone(This,ppTable) \
  2215. (This)->lpVtbl -> Clone(This,ppTable)
  2216. #define IMimeHeaderTable_BindToObject(This,riid,ppvObject) \
  2217. (This)->lpVtbl -> BindToObject(This,riid,ppvObject)
  2218. #endif /* COBJMACROS */
  2219. #endif /* C style interface */
  2220. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_FindFirstRow_Proxy(
  2221. IMimeHeaderTable __RPC_FAR * This,
  2222. /* [in] */ LPFINDHEADER pFindHeader,
  2223. /* [out] */ LPHHEADERROW phRow);
  2224. void __RPC_STUB IMimeHeaderTable_FindFirstRow_Stub(
  2225. IRpcStubBuffer *This,
  2226. IRpcChannelBuffer *_pRpcChannelBuffer,
  2227. PRPC_MESSAGE _pRpcMessage,
  2228. DWORD *_pdwStubPhase);
  2229. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_FindNextRow_Proxy(
  2230. IMimeHeaderTable __RPC_FAR * This,
  2231. /* [in] */ LPFINDHEADER pFindHeader,
  2232. /* [out] */ LPHHEADERROW phRow);
  2233. void __RPC_STUB IMimeHeaderTable_FindNextRow_Stub(
  2234. IRpcStubBuffer *This,
  2235. IRpcChannelBuffer *_pRpcChannelBuffer,
  2236. PRPC_MESSAGE _pRpcMessage,
  2237. DWORD *_pdwStubPhase);
  2238. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_CountRows_Proxy(
  2239. IMimeHeaderTable __RPC_FAR * This,
  2240. /* [in] */ LPCSTR pszHeader,
  2241. /* [out] */ ULONG __RPC_FAR *pcRows);
  2242. void __RPC_STUB IMimeHeaderTable_CountRows_Stub(
  2243. IRpcStubBuffer *This,
  2244. IRpcChannelBuffer *_pRpcChannelBuffer,
  2245. PRPC_MESSAGE _pRpcMessage,
  2246. DWORD *_pdwStubPhase);
  2247. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_AppendRow_Proxy(
  2248. IMimeHeaderTable __RPC_FAR * This,
  2249. /* [in] */ LPCSTR pszHeader,
  2250. /* [in] */ DWORD dwFlags,
  2251. /* [in] */ LPCSTR pszData,
  2252. /* [in] */ ULONG cchData,
  2253. /* [out] */ LPHHEADERROW phRow);
  2254. void __RPC_STUB IMimeHeaderTable_AppendRow_Stub(
  2255. IRpcStubBuffer *This,
  2256. IRpcChannelBuffer *_pRpcChannelBuffer,
  2257. PRPC_MESSAGE _pRpcMessage,
  2258. DWORD *_pdwStubPhase);
  2259. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_DeleteRow_Proxy(
  2260. IMimeHeaderTable __RPC_FAR * This,
  2261. /* [in] */ HHEADERROW hRow);
  2262. void __RPC_STUB IMimeHeaderTable_DeleteRow_Stub(
  2263. IRpcStubBuffer *This,
  2264. IRpcChannelBuffer *_pRpcChannelBuffer,
  2265. PRPC_MESSAGE _pRpcMessage,
  2266. DWORD *_pdwStubPhase);
  2267. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_GetRowData_Proxy(
  2268. IMimeHeaderTable __RPC_FAR * This,
  2269. /* [in] */ HHEADERROW hRow,
  2270. /* [in] */ DWORD dwFlags,
  2271. /* [out] */ LPSTR __RPC_FAR *ppszData,
  2272. /* [out] */ ULONG __RPC_FAR *pcchData);
  2273. void __RPC_STUB IMimeHeaderTable_GetRowData_Stub(
  2274. IRpcStubBuffer *This,
  2275. IRpcChannelBuffer *_pRpcChannelBuffer,
  2276. PRPC_MESSAGE _pRpcMessage,
  2277. DWORD *_pdwStubPhase);
  2278. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_SetRowData_Proxy(
  2279. IMimeHeaderTable __RPC_FAR * This,
  2280. /* [in] */ HHEADERROW hRow,
  2281. /* [in] */ DWORD dwFlags,
  2282. /* [in] */ LPCSTR pszData,
  2283. /* [in] */ ULONG cchData);
  2284. void __RPC_STUB IMimeHeaderTable_SetRowData_Stub(
  2285. IRpcStubBuffer *This,
  2286. IRpcChannelBuffer *_pRpcChannelBuffer,
  2287. PRPC_MESSAGE _pRpcMessage,
  2288. DWORD *_pdwStubPhase);
  2289. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_GetRowInfo_Proxy(
  2290. IMimeHeaderTable __RPC_FAR * This,
  2291. /* [in] */ HHEADERROW hRow,
  2292. /* [out][in] */ LPHEADERROWINFO pInfo);
  2293. void __RPC_STUB IMimeHeaderTable_GetRowInfo_Stub(
  2294. IRpcStubBuffer *This,
  2295. IRpcChannelBuffer *_pRpcChannelBuffer,
  2296. PRPC_MESSAGE _pRpcMessage,
  2297. DWORD *_pdwStubPhase);
  2298. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_SetRowNumber_Proxy(
  2299. IMimeHeaderTable __RPC_FAR * This,
  2300. /* [in] */ HHEADERROW hRow,
  2301. /* [in] */ DWORD dwRowNumber);
  2302. void __RPC_STUB IMimeHeaderTable_SetRowNumber_Stub(
  2303. IRpcStubBuffer *This,
  2304. IRpcChannelBuffer *_pRpcChannelBuffer,
  2305. PRPC_MESSAGE _pRpcMessage,
  2306. DWORD *_pdwStubPhase);
  2307. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_EnumRows_Proxy(
  2308. IMimeHeaderTable __RPC_FAR * This,
  2309. /* [in] */ LPCSTR pszHeader,
  2310. /* [in] */ DWORD dwFlags,
  2311. /* [out] */ IMimeEnumHeaderRows __RPC_FAR *__RPC_FAR *ppEnum);
  2312. void __RPC_STUB IMimeHeaderTable_EnumRows_Stub(
  2313. IRpcStubBuffer *This,
  2314. IRpcChannelBuffer *_pRpcChannelBuffer,
  2315. PRPC_MESSAGE _pRpcMessage,
  2316. DWORD *_pdwStubPhase);
  2317. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_Clone_Proxy(
  2318. IMimeHeaderTable __RPC_FAR * This,
  2319. /* [out] */ IMimeHeaderTable __RPC_FAR *__RPC_FAR *ppTable);
  2320. void __RPC_STUB IMimeHeaderTable_Clone_Stub(
  2321. IRpcStubBuffer *This,
  2322. IRpcChannelBuffer *_pRpcChannelBuffer,
  2323. PRPC_MESSAGE _pRpcMessage,
  2324. DWORD *_pdwStubPhase);
  2325. HRESULT STDMETHODCALLTYPE IMimeHeaderTable_BindToObject_Proxy(
  2326. IMimeHeaderTable __RPC_FAR * This,
  2327. /* [in] */ REFIID riid,
  2328. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2329. void __RPC_STUB IMimeHeaderTable_BindToObject_Stub(
  2330. IRpcStubBuffer *This,
  2331. IRpcChannelBuffer *_pRpcChannelBuffer,
  2332. PRPC_MESSAGE _pRpcMessage,
  2333. DWORD *_pdwStubPhase);
  2334. #endif /* __IMimeHeaderTable_INTERFACE_DEFINED__ */
  2335. #ifndef __IMimePropertySchema_INTERFACE_DEFINED__
  2336. #define __IMimePropertySchema_INTERFACE_DEFINED__
  2337. /****************************************
  2338. * Generated header for interface: IMimePropertySchema
  2339. * at Mon May 12 23:53:20 1997
  2340. * using MIDL 3.02.88
  2341. ****************************************/
  2342. /* [object][helpstring][uuid] */
  2343. typedef /* [unique] */ IMimePropertySchema __RPC_FAR *LPMIMEPROPERTYSCHEMA;
  2344. typedef
  2345. enum tagMIMEPROPFLAGS
  2346. { MPF_INETCSET = 0x1,
  2347. MPF_RFC1522 = 0x2,
  2348. MPF_ADDRESS = 0x4,
  2349. MPF_HASPARAMS = 0x8,
  2350. MPF_MIME = 0x10,
  2351. MPF_READONLY = 0x20
  2352. } MIMEPROPFLAGS;
  2353. EXTERN_C const IID IID_IMimePropertySchema;
  2354. #if defined(__cplusplus) && !defined(CINTERFACE)
  2355. interface DECLSPEC_UUID("6AD6A20A-C19B-11d0-85EB-00C04FD85AB4")
  2356. IMimePropertySchema : public IUnknown
  2357. {
  2358. public:
  2359. virtual HRESULT STDMETHODCALLTYPE RegisterProperty(
  2360. /* [in] */ LPCSTR pszName,
  2361. /* [in] */ DWORD dwFlags,
  2362. /* [in] */ DWORD dwRowNumber,
  2363. /* [out] */ LPDWORD pdwPropId) = 0;
  2364. virtual HRESULT STDMETHODCALLTYPE ModifyProperty(
  2365. /* [in] */ LPCSTR pszName,
  2366. /* [in] */ DWORD dwFlags,
  2367. /* [in] */ DWORD dwRowNumber) = 0;
  2368. virtual HRESULT STDMETHODCALLTYPE GetPropertyId(
  2369. /* [in] */ LPCSTR pszName,
  2370. /* [out] */ LPDWORD pdwPropId) = 0;
  2371. virtual HRESULT STDMETHODCALLTYPE GetPropertyName(
  2372. /* [in] */ DWORD dwPropId,
  2373. /* [out] */ LPSTR __RPC_FAR *ppszName) = 0;
  2374. virtual HRESULT STDMETHODCALLTYPE RegisterAddressType(
  2375. /* [in] */ LPCSTR pszName,
  2376. /* [out] */ LPDWORD pdwAdrType) = 0;
  2377. };
  2378. #else /* C style interface */
  2379. typedef struct IMimePropertySchemaVtbl
  2380. {
  2381. BEGIN_INTERFACE
  2382. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2383. IMimePropertySchema __RPC_FAR * This,
  2384. /* [in] */ REFIID riid,
  2385. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2386. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2387. IMimePropertySchema __RPC_FAR * This);
  2388. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2389. IMimePropertySchema __RPC_FAR * This);
  2390. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterProperty )(
  2391. IMimePropertySchema __RPC_FAR * This,
  2392. /* [in] */ LPCSTR pszName,
  2393. /* [in] */ DWORD dwFlags,
  2394. /* [in] */ DWORD dwRowNumber,
  2395. /* [out] */ LPDWORD pdwPropId);
  2396. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ModifyProperty )(
  2397. IMimePropertySchema __RPC_FAR * This,
  2398. /* [in] */ LPCSTR pszName,
  2399. /* [in] */ DWORD dwFlags,
  2400. /* [in] */ DWORD dwRowNumber);
  2401. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyId )(
  2402. IMimePropertySchema __RPC_FAR * This,
  2403. /* [in] */ LPCSTR pszName,
  2404. /* [out] */ LPDWORD pdwPropId);
  2405. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyName )(
  2406. IMimePropertySchema __RPC_FAR * This,
  2407. /* [in] */ DWORD dwPropId,
  2408. /* [out] */ LPSTR __RPC_FAR *ppszName);
  2409. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterAddressType )(
  2410. IMimePropertySchema __RPC_FAR * This,
  2411. /* [in] */ LPCSTR pszName,
  2412. /* [out] */ LPDWORD pdwAdrType);
  2413. END_INTERFACE
  2414. } IMimePropertySchemaVtbl;
  2415. interface IMimePropertySchema
  2416. {
  2417. CONST_VTBL struct IMimePropertySchemaVtbl __RPC_FAR *lpVtbl;
  2418. };
  2419. #ifdef COBJMACROS
  2420. #define IMimePropertySchema_QueryInterface(This,riid,ppvObject) \
  2421. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2422. #define IMimePropertySchema_AddRef(This) \
  2423. (This)->lpVtbl -> AddRef(This)
  2424. #define IMimePropertySchema_Release(This) \
  2425. (This)->lpVtbl -> Release(This)
  2426. #define IMimePropertySchema_RegisterProperty(This,pszName,dwFlags,dwRowNumber,pdwPropId) \
  2427. (This)->lpVtbl -> RegisterProperty(This,pszName,dwFlags,dwRowNumber,pdwPropId)
  2428. #define IMimePropertySchema_ModifyProperty(This,pszName,dwFlags,dwRowNumber) \
  2429. (This)->lpVtbl -> ModifyProperty(This,pszName,dwFlags,dwRowNumber)
  2430. #define IMimePropertySchema_GetPropertyId(This,pszName,pdwPropId) \
  2431. (This)->lpVtbl -> GetPropertyId(This,pszName,pdwPropId)
  2432. #define IMimePropertySchema_GetPropertyName(This,dwPropId,ppszName) \
  2433. (This)->lpVtbl -> GetPropertyName(This,dwPropId,ppszName)
  2434. #define IMimePropertySchema_RegisterAddressType(This,pszName,pdwAdrType) \
  2435. (This)->lpVtbl -> RegisterAddressType(This,pszName,pdwAdrType)
  2436. #endif /* COBJMACROS */
  2437. #endif /* C style interface */
  2438. HRESULT STDMETHODCALLTYPE IMimePropertySchema_RegisterProperty_Proxy(
  2439. IMimePropertySchema __RPC_FAR * This,
  2440. /* [in] */ LPCSTR pszName,
  2441. /* [in] */ DWORD dwFlags,
  2442. /* [in] */ DWORD dwRowNumber,
  2443. /* [out] */ LPDWORD pdwPropId);
  2444. void __RPC_STUB IMimePropertySchema_RegisterProperty_Stub(
  2445. IRpcStubBuffer *This,
  2446. IRpcChannelBuffer *_pRpcChannelBuffer,
  2447. PRPC_MESSAGE _pRpcMessage,
  2448. DWORD *_pdwStubPhase);
  2449. HRESULT STDMETHODCALLTYPE IMimePropertySchema_ModifyProperty_Proxy(
  2450. IMimePropertySchema __RPC_FAR * This,
  2451. /* [in] */ LPCSTR pszName,
  2452. /* [in] */ DWORD dwFlags,
  2453. /* [in] */ DWORD dwRowNumber);
  2454. void __RPC_STUB IMimePropertySchema_ModifyProperty_Stub(
  2455. IRpcStubBuffer *This,
  2456. IRpcChannelBuffer *_pRpcChannelBuffer,
  2457. PRPC_MESSAGE _pRpcMessage,
  2458. DWORD *_pdwStubPhase);
  2459. HRESULT STDMETHODCALLTYPE IMimePropertySchema_GetPropertyId_Proxy(
  2460. IMimePropertySchema __RPC_FAR * This,
  2461. /* [in] */ LPCSTR pszName,
  2462. /* [out] */ LPDWORD pdwPropId);
  2463. void __RPC_STUB IMimePropertySchema_GetPropertyId_Stub(
  2464. IRpcStubBuffer *This,
  2465. IRpcChannelBuffer *_pRpcChannelBuffer,
  2466. PRPC_MESSAGE _pRpcMessage,
  2467. DWORD *_pdwStubPhase);
  2468. HRESULT STDMETHODCALLTYPE IMimePropertySchema_GetPropertyName_Proxy(
  2469. IMimePropertySchema __RPC_FAR * This,
  2470. /* [in] */ DWORD dwPropId,
  2471. /* [out] */ LPSTR __RPC_FAR *ppszName);
  2472. void __RPC_STUB IMimePropertySchema_GetPropertyName_Stub(
  2473. IRpcStubBuffer *This,
  2474. IRpcChannelBuffer *_pRpcChannelBuffer,
  2475. PRPC_MESSAGE _pRpcMessage,
  2476. DWORD *_pdwStubPhase);
  2477. HRESULT STDMETHODCALLTYPE IMimePropertySchema_RegisterAddressType_Proxy(
  2478. IMimePropertySchema __RPC_FAR * This,
  2479. /* [in] */ LPCSTR pszName,
  2480. /* [out] */ LPDWORD pdwAdrType);
  2481. void __RPC_STUB IMimePropertySchema_RegisterAddressType_Stub(
  2482. IRpcStubBuffer *This,
  2483. IRpcChannelBuffer *_pRpcChannelBuffer,
  2484. PRPC_MESSAGE _pRpcMessage,
  2485. DWORD *_pdwStubPhase);
  2486. #endif /* __IMimePropertySchema_INTERFACE_DEFINED__ */
  2487. #ifndef __IMimePropertySet_INTERFACE_DEFINED__
  2488. #define __IMimePropertySet_INTERFACE_DEFINED__
  2489. /****************************************
  2490. * Generated header for interface: IMimePropertySet
  2491. * at Mon May 12 23:53:20 1997
  2492. * using MIDL 3.02.88
  2493. ****************************************/
  2494. /* [object][helpstring][uuid] */
  2495. typedef /* [unique] */ IMimePropertySet __RPC_FAR *LPMIMEPROPERTYSET;
  2496. typedef
  2497. enum tagPROPDATAFLAGS
  2498. { PDF_ENCODED = 0x1,
  2499. PDF_NAMEINDATA = 0x2,
  2500. PDF_HEADERFORMAT = 0x4 | PDF_ENCODED,
  2501. PDF_NOCOMMENTS = 0x8
  2502. } PROPDATAFLAGS;
  2503. typedef
  2504. enum tagENUMPROPFLAGS
  2505. { EPF_NONAME = 0x1
  2506. } ENUMPROPFLAGS;
  2507. typedef struct tagMIMEPARAMINFO
  2508. {
  2509. LPSTR pszName;
  2510. LPSTR pszData;
  2511. } MIMEPARAMINFO;
  2512. typedef struct tagMIMEPARAMINFO __RPC_FAR *LPMIMEPARAMINFO;
  2513. typedef
  2514. enum tagPROPINFOMASK
  2515. { PIM_CHARSET = 0x1,
  2516. PIM_ENCODINGTYPE = 0x2,
  2517. PIM_ROWNUMBER = 0x4,
  2518. PIM_FLAGS = 0x8,
  2519. PIM_PROPID = 0x10,
  2520. PIM_VALUES = 0x20
  2521. } PROPINFOMASK;
  2522. typedef struct tagMIMEPROPINFO
  2523. {
  2524. DWORD dwMask;
  2525. HCHARSET hCharset;
  2526. ENCODINGTYPE ietEncoding;
  2527. DWORD dwRowNumber;
  2528. DWORD dwFlags;
  2529. DWORD dwPropId;
  2530. DWORD cValues;
  2531. } MIMEPROPINFO;
  2532. typedef struct tagMIMEPROPINFO __RPC_FAR *LPMIMEPROPINFO;
  2533. EXTERN_C const IID IID_IMimePropertySet;
  2534. #if defined(__cplusplus) && !defined(CINTERFACE)
  2535. interface DECLSPEC_UUID("6AD6A204-C19B-11d0-85EB-00C04FD85AB4")
  2536. IMimePropertySet : public IPersistStreamInit
  2537. {
  2538. public:
  2539. virtual HRESULT STDMETHODCALLTYPE GetPropInfo(
  2540. /* [in] */ LPCSTR pszName,
  2541. /* [out][in] */ LPMIMEPROPINFO pInfo) = 0;
  2542. virtual HRESULT STDMETHODCALLTYPE SetPropInfo(
  2543. /* [in] */ LPCSTR pszName,
  2544. /* [in] */ LPMIMEPROPINFO pInfo) = 0;
  2545. virtual HRESULT STDMETHODCALLTYPE GetProp(
  2546. /* [in] */ LPCSTR pszName,
  2547. /* [in] */ DWORD dwFlags,
  2548. /* [out][in] */ LPPROPVARIANT pValue) = 0;
  2549. virtual HRESULT STDMETHODCALLTYPE SetProp(
  2550. /* [in] */ LPCSTR pszName,
  2551. /* [in] */ DWORD dwFlags,
  2552. /* [in] */ LPPROPVARIANT pValue) = 0;
  2553. virtual HRESULT STDMETHODCALLTYPE AppendProp(
  2554. /* [in] */ LPCSTR pszName,
  2555. /* [in] */ DWORD dwFlags,
  2556. /* [in] */ LPPROPVARIANT pValue) = 0;
  2557. virtual HRESULT STDMETHODCALLTYPE DeleteProp(
  2558. /* [in] */ LPCSTR pszName) = 0;
  2559. virtual HRESULT STDMETHODCALLTYPE CopyProps(
  2560. /* [in] */ ULONG cNames,
  2561. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  2562. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet) = 0;
  2563. virtual HRESULT STDMETHODCALLTYPE MoveProps(
  2564. /* [in] */ ULONG cNames,
  2565. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  2566. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet) = 0;
  2567. virtual HRESULT STDMETHODCALLTYPE DeleteExcept(
  2568. /* [in] */ ULONG cNames,
  2569. /* [in] */ LPCSTR __RPC_FAR *prgszName) = 0;
  2570. virtual HRESULT STDMETHODCALLTYPE QueryProp(
  2571. /* [in] */ LPCSTR pszName,
  2572. /* [in] */ LPCSTR pszCriteria,
  2573. /* [in] */ boolean fSubString,
  2574. /* [in] */ boolean fCaseSensitive) = 0;
  2575. virtual HRESULT STDMETHODCALLTYPE GetCharset(
  2576. /* [out] */ LPHCHARSET phCharset) = 0;
  2577. virtual HRESULT STDMETHODCALLTYPE SetCharset(
  2578. /* [in] */ HCHARSET hCharset,
  2579. /* [in] */ CSETAPPLYTYPE applytype) = 0;
  2580. virtual HRESULT STDMETHODCALLTYPE GetParameters(
  2581. /* [in] */ LPCSTR pszName,
  2582. /* [out] */ ULONG __RPC_FAR *pcParams,
  2583. /* [out] */ LPMIMEPARAMINFO __RPC_FAR *pprgParam) = 0;
  2584. virtual HRESULT STDMETHODCALLTYPE IsContentType(
  2585. /* [in] */ LPCSTR pszPriType,
  2586. /* [in] */ LPCSTR pszSubType) = 0;
  2587. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  2588. /* [in] */ REFIID riid,
  2589. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  2590. virtual HRESULT STDMETHODCALLTYPE Clone(
  2591. /* [out] */ IMimePropertySet __RPC_FAR *__RPC_FAR *ppPropertySet) = 0;
  2592. virtual HRESULT STDMETHODCALLTYPE SetOption(
  2593. /* [in] */ TYPEDID oid,
  2594. /* [in] */ LPPROPVARIANT pValue) = 0;
  2595. virtual HRESULT STDMETHODCALLTYPE GetOption(
  2596. /* [in] */ TYPEDID oid,
  2597. /* [out][in] */ LPPROPVARIANT pValue) = 0;
  2598. virtual HRESULT STDMETHODCALLTYPE EnumProps(
  2599. /* [in] */ DWORD dwFlags,
  2600. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  2601. };
  2602. #else /* C style interface */
  2603. typedef struct IMimePropertySetVtbl
  2604. {
  2605. BEGIN_INTERFACE
  2606. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2607. IMimePropertySet __RPC_FAR * This,
  2608. /* [in] */ REFIID riid,
  2609. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2610. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2611. IMimePropertySet __RPC_FAR * This);
  2612. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2613. IMimePropertySet __RPC_FAR * This);
  2614. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )(
  2615. IMimePropertySet __RPC_FAR * This,
  2616. /* [out] */ CLSID __RPC_FAR *pClassID);
  2617. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )(
  2618. IMimePropertySet __RPC_FAR * This);
  2619. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )(
  2620. IMimePropertySet __RPC_FAR * This,
  2621. /* [in] */ LPSTREAM pStm);
  2622. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )(
  2623. IMimePropertySet __RPC_FAR * This,
  2624. /* [in] */ LPSTREAM pStm,
  2625. /* [in] */ BOOL fClearDirty);
  2626. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )(
  2627. IMimePropertySet __RPC_FAR * This,
  2628. /* [out] */ ULARGE_INTEGER __RPC_FAR *pCbSize);
  2629. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )(
  2630. IMimePropertySet __RPC_FAR * This);
  2631. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropInfo )(
  2632. IMimePropertySet __RPC_FAR * This,
  2633. /* [in] */ LPCSTR pszName,
  2634. /* [out][in] */ LPMIMEPROPINFO pInfo);
  2635. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPropInfo )(
  2636. IMimePropertySet __RPC_FAR * This,
  2637. /* [in] */ LPCSTR pszName,
  2638. /* [in] */ LPMIMEPROPINFO pInfo);
  2639. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProp )(
  2640. IMimePropertySet __RPC_FAR * This,
  2641. /* [in] */ LPCSTR pszName,
  2642. /* [in] */ DWORD dwFlags,
  2643. /* [out][in] */ LPPROPVARIANT pValue);
  2644. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProp )(
  2645. IMimePropertySet __RPC_FAR * This,
  2646. /* [in] */ LPCSTR pszName,
  2647. /* [in] */ DWORD dwFlags,
  2648. /* [in] */ LPPROPVARIANT pValue);
  2649. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendProp )(
  2650. IMimePropertySet __RPC_FAR * This,
  2651. /* [in] */ LPCSTR pszName,
  2652. /* [in] */ DWORD dwFlags,
  2653. /* [in] */ LPPROPVARIANT pValue);
  2654. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteProp )(
  2655. IMimePropertySet __RPC_FAR * This,
  2656. /* [in] */ LPCSTR pszName);
  2657. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyProps )(
  2658. IMimePropertySet __RPC_FAR * This,
  2659. /* [in] */ ULONG cNames,
  2660. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  2661. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet);
  2662. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveProps )(
  2663. IMimePropertySet __RPC_FAR * This,
  2664. /* [in] */ ULONG cNames,
  2665. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  2666. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet);
  2667. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteExcept )(
  2668. IMimePropertySet __RPC_FAR * This,
  2669. /* [in] */ ULONG cNames,
  2670. /* [in] */ LPCSTR __RPC_FAR *prgszName);
  2671. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryProp )(
  2672. IMimePropertySet __RPC_FAR * This,
  2673. /* [in] */ LPCSTR pszName,
  2674. /* [in] */ LPCSTR pszCriteria,
  2675. /* [in] */ boolean fSubString,
  2676. /* [in] */ boolean fCaseSensitive);
  2677. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCharset )(
  2678. IMimePropertySet __RPC_FAR * This,
  2679. /* [out] */ LPHCHARSET phCharset);
  2680. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCharset )(
  2681. IMimePropertySet __RPC_FAR * This,
  2682. /* [in] */ HCHARSET hCharset,
  2683. /* [in] */ CSETAPPLYTYPE applytype);
  2684. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParameters )(
  2685. IMimePropertySet __RPC_FAR * This,
  2686. /* [in] */ LPCSTR pszName,
  2687. /* [out] */ ULONG __RPC_FAR *pcParams,
  2688. /* [out] */ LPMIMEPARAMINFO __RPC_FAR *pprgParam);
  2689. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsContentType )(
  2690. IMimePropertySet __RPC_FAR * This,
  2691. /* [in] */ LPCSTR pszPriType,
  2692. /* [in] */ LPCSTR pszSubType);
  2693. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )(
  2694. IMimePropertySet __RPC_FAR * This,
  2695. /* [in] */ REFIID riid,
  2696. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2697. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  2698. IMimePropertySet __RPC_FAR * This,
  2699. /* [out] */ IMimePropertySet __RPC_FAR *__RPC_FAR *ppPropertySet);
  2700. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOption )(
  2701. IMimePropertySet __RPC_FAR * This,
  2702. /* [in] */ TYPEDID oid,
  2703. /* [in] */ LPPROPVARIANT pValue);
  2704. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOption )(
  2705. IMimePropertySet __RPC_FAR * This,
  2706. /* [in] */ TYPEDID oid,
  2707. /* [out][in] */ LPPROPVARIANT pValue);
  2708. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumProps )(
  2709. IMimePropertySet __RPC_FAR * This,
  2710. /* [in] */ DWORD dwFlags,
  2711. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum);
  2712. END_INTERFACE
  2713. } IMimePropertySetVtbl;
  2714. interface IMimePropertySet
  2715. {
  2716. CONST_VTBL struct IMimePropertySetVtbl __RPC_FAR *lpVtbl;
  2717. };
  2718. #ifdef COBJMACROS
  2719. #define IMimePropertySet_QueryInterface(This,riid,ppvObject) \
  2720. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2721. #define IMimePropertySet_AddRef(This) \
  2722. (This)->lpVtbl -> AddRef(This)
  2723. #define IMimePropertySet_Release(This) \
  2724. (This)->lpVtbl -> Release(This)
  2725. #define IMimePropertySet_GetClassID(This,pClassID) \
  2726. (This)->lpVtbl -> GetClassID(This,pClassID)
  2727. #define IMimePropertySet_IsDirty(This) \
  2728. (This)->lpVtbl -> IsDirty(This)
  2729. #define IMimePropertySet_Load(This,pStm) \
  2730. (This)->lpVtbl -> Load(This,pStm)
  2731. #define IMimePropertySet_Save(This,pStm,fClearDirty) \
  2732. (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  2733. #define IMimePropertySet_GetSizeMax(This,pCbSize) \
  2734. (This)->lpVtbl -> GetSizeMax(This,pCbSize)
  2735. #define IMimePropertySet_InitNew(This) \
  2736. (This)->lpVtbl -> InitNew(This)
  2737. #define IMimePropertySet_GetPropInfo(This,pszName,pInfo) \
  2738. (This)->lpVtbl -> GetPropInfo(This,pszName,pInfo)
  2739. #define IMimePropertySet_SetPropInfo(This,pszName,pInfo) \
  2740. (This)->lpVtbl -> SetPropInfo(This,pszName,pInfo)
  2741. #define IMimePropertySet_GetProp(This,pszName,dwFlags,pValue) \
  2742. (This)->lpVtbl -> GetProp(This,pszName,dwFlags,pValue)
  2743. #define IMimePropertySet_SetProp(This,pszName,dwFlags,pValue) \
  2744. (This)->lpVtbl -> SetProp(This,pszName,dwFlags,pValue)
  2745. #define IMimePropertySet_AppendProp(This,pszName,dwFlags,pValue) \
  2746. (This)->lpVtbl -> AppendProp(This,pszName,dwFlags,pValue)
  2747. #define IMimePropertySet_DeleteProp(This,pszName) \
  2748. (This)->lpVtbl -> DeleteProp(This,pszName)
  2749. #define IMimePropertySet_CopyProps(This,cNames,prgszName,pPropertySet) \
  2750. (This)->lpVtbl -> CopyProps(This,cNames,prgszName,pPropertySet)
  2751. #define IMimePropertySet_MoveProps(This,cNames,prgszName,pPropertySet) \
  2752. (This)->lpVtbl -> MoveProps(This,cNames,prgszName,pPropertySet)
  2753. #define IMimePropertySet_DeleteExcept(This,cNames,prgszName) \
  2754. (This)->lpVtbl -> DeleteExcept(This,cNames,prgszName)
  2755. #define IMimePropertySet_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) \
  2756. (This)->lpVtbl -> QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive)
  2757. #define IMimePropertySet_GetCharset(This,phCharset) \
  2758. (This)->lpVtbl -> GetCharset(This,phCharset)
  2759. #define IMimePropertySet_SetCharset(This,hCharset,applytype) \
  2760. (This)->lpVtbl -> SetCharset(This,hCharset,applytype)
  2761. #define IMimePropertySet_GetParameters(This,pszName,pcParams,pprgParam) \
  2762. (This)->lpVtbl -> GetParameters(This,pszName,pcParams,pprgParam)
  2763. #define IMimePropertySet_IsContentType(This,pszPriType,pszSubType) \
  2764. (This)->lpVtbl -> IsContentType(This,pszPriType,pszSubType)
  2765. #define IMimePropertySet_BindToObject(This,riid,ppvObject) \
  2766. (This)->lpVtbl -> BindToObject(This,riid,ppvObject)
  2767. #define IMimePropertySet_Clone(This,ppPropertySet) \
  2768. (This)->lpVtbl -> Clone(This,ppPropertySet)
  2769. #define IMimePropertySet_SetOption(This,oid,pValue) \
  2770. (This)->lpVtbl -> SetOption(This,oid,pValue)
  2771. #define IMimePropertySet_GetOption(This,oid,pValue) \
  2772. (This)->lpVtbl -> GetOption(This,oid,pValue)
  2773. #define IMimePropertySet_EnumProps(This,dwFlags,ppEnum) \
  2774. (This)->lpVtbl -> EnumProps(This,dwFlags,ppEnum)
  2775. #endif /* COBJMACROS */
  2776. #endif /* C style interface */
  2777. HRESULT STDMETHODCALLTYPE IMimePropertySet_GetPropInfo_Proxy(
  2778. IMimePropertySet __RPC_FAR * This,
  2779. /* [in] */ LPCSTR pszName,
  2780. /* [out][in] */ LPMIMEPROPINFO pInfo);
  2781. void __RPC_STUB IMimePropertySet_GetPropInfo_Stub(
  2782. IRpcStubBuffer *This,
  2783. IRpcChannelBuffer *_pRpcChannelBuffer,
  2784. PRPC_MESSAGE _pRpcMessage,
  2785. DWORD *_pdwStubPhase);
  2786. HRESULT STDMETHODCALLTYPE IMimePropertySet_SetPropInfo_Proxy(
  2787. IMimePropertySet __RPC_FAR * This,
  2788. /* [in] */ LPCSTR pszName,
  2789. /* [in] */ LPMIMEPROPINFO pInfo);
  2790. void __RPC_STUB IMimePropertySet_SetPropInfo_Stub(
  2791. IRpcStubBuffer *This,
  2792. IRpcChannelBuffer *_pRpcChannelBuffer,
  2793. PRPC_MESSAGE _pRpcMessage,
  2794. DWORD *_pdwStubPhase);
  2795. HRESULT STDMETHODCALLTYPE IMimePropertySet_GetProp_Proxy(
  2796. IMimePropertySet __RPC_FAR * This,
  2797. /* [in] */ LPCSTR pszName,
  2798. /* [in] */ DWORD dwFlags,
  2799. /* [out][in] */ LPPROPVARIANT pValue);
  2800. void __RPC_STUB IMimePropertySet_GetProp_Stub(
  2801. IRpcStubBuffer *This,
  2802. IRpcChannelBuffer *_pRpcChannelBuffer,
  2803. PRPC_MESSAGE _pRpcMessage,
  2804. DWORD *_pdwStubPhase);
  2805. HRESULT STDMETHODCALLTYPE IMimePropertySet_SetProp_Proxy(
  2806. IMimePropertySet __RPC_FAR * This,
  2807. /* [in] */ LPCSTR pszName,
  2808. /* [in] */ DWORD dwFlags,
  2809. /* [in] */ LPPROPVARIANT pValue);
  2810. void __RPC_STUB IMimePropertySet_SetProp_Stub(
  2811. IRpcStubBuffer *This,
  2812. IRpcChannelBuffer *_pRpcChannelBuffer,
  2813. PRPC_MESSAGE _pRpcMessage,
  2814. DWORD *_pdwStubPhase);
  2815. HRESULT STDMETHODCALLTYPE IMimePropertySet_AppendProp_Proxy(
  2816. IMimePropertySet __RPC_FAR * This,
  2817. /* [in] */ LPCSTR pszName,
  2818. /* [in] */ DWORD dwFlags,
  2819. /* [in] */ LPPROPVARIANT pValue);
  2820. void __RPC_STUB IMimePropertySet_AppendProp_Stub(
  2821. IRpcStubBuffer *This,
  2822. IRpcChannelBuffer *_pRpcChannelBuffer,
  2823. PRPC_MESSAGE _pRpcMessage,
  2824. DWORD *_pdwStubPhase);
  2825. HRESULT STDMETHODCALLTYPE IMimePropertySet_DeleteProp_Proxy(
  2826. IMimePropertySet __RPC_FAR * This,
  2827. /* [in] */ LPCSTR pszName);
  2828. void __RPC_STUB IMimePropertySet_DeleteProp_Stub(
  2829. IRpcStubBuffer *This,
  2830. IRpcChannelBuffer *_pRpcChannelBuffer,
  2831. PRPC_MESSAGE _pRpcMessage,
  2832. DWORD *_pdwStubPhase);
  2833. HRESULT STDMETHODCALLTYPE IMimePropertySet_CopyProps_Proxy(
  2834. IMimePropertySet __RPC_FAR * This,
  2835. /* [in] */ ULONG cNames,
  2836. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  2837. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet);
  2838. void __RPC_STUB IMimePropertySet_CopyProps_Stub(
  2839. IRpcStubBuffer *This,
  2840. IRpcChannelBuffer *_pRpcChannelBuffer,
  2841. PRPC_MESSAGE _pRpcMessage,
  2842. DWORD *_pdwStubPhase);
  2843. HRESULT STDMETHODCALLTYPE IMimePropertySet_MoveProps_Proxy(
  2844. IMimePropertySet __RPC_FAR * This,
  2845. /* [in] */ ULONG cNames,
  2846. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  2847. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet);
  2848. void __RPC_STUB IMimePropertySet_MoveProps_Stub(
  2849. IRpcStubBuffer *This,
  2850. IRpcChannelBuffer *_pRpcChannelBuffer,
  2851. PRPC_MESSAGE _pRpcMessage,
  2852. DWORD *_pdwStubPhase);
  2853. HRESULT STDMETHODCALLTYPE IMimePropertySet_DeleteExcept_Proxy(
  2854. IMimePropertySet __RPC_FAR * This,
  2855. /* [in] */ ULONG cNames,
  2856. /* [in] */ LPCSTR __RPC_FAR *prgszName);
  2857. void __RPC_STUB IMimePropertySet_DeleteExcept_Stub(
  2858. IRpcStubBuffer *This,
  2859. IRpcChannelBuffer *_pRpcChannelBuffer,
  2860. PRPC_MESSAGE _pRpcMessage,
  2861. DWORD *_pdwStubPhase);
  2862. HRESULT STDMETHODCALLTYPE IMimePropertySet_QueryProp_Proxy(
  2863. IMimePropertySet __RPC_FAR * This,
  2864. /* [in] */ LPCSTR pszName,
  2865. /* [in] */ LPCSTR pszCriteria,
  2866. /* [in] */ boolean fSubString,
  2867. /* [in] */ boolean fCaseSensitive);
  2868. void __RPC_STUB IMimePropertySet_QueryProp_Stub(
  2869. IRpcStubBuffer *This,
  2870. IRpcChannelBuffer *_pRpcChannelBuffer,
  2871. PRPC_MESSAGE _pRpcMessage,
  2872. DWORD *_pdwStubPhase);
  2873. HRESULT STDMETHODCALLTYPE IMimePropertySet_GetCharset_Proxy(
  2874. IMimePropertySet __RPC_FAR * This,
  2875. /* [out] */ LPHCHARSET phCharset);
  2876. void __RPC_STUB IMimePropertySet_GetCharset_Stub(
  2877. IRpcStubBuffer *This,
  2878. IRpcChannelBuffer *_pRpcChannelBuffer,
  2879. PRPC_MESSAGE _pRpcMessage,
  2880. DWORD *_pdwStubPhase);
  2881. HRESULT STDMETHODCALLTYPE IMimePropertySet_SetCharset_Proxy(
  2882. IMimePropertySet __RPC_FAR * This,
  2883. /* [in] */ HCHARSET hCharset,
  2884. /* [in] */ CSETAPPLYTYPE applytype);
  2885. void __RPC_STUB IMimePropertySet_SetCharset_Stub(
  2886. IRpcStubBuffer *This,
  2887. IRpcChannelBuffer *_pRpcChannelBuffer,
  2888. PRPC_MESSAGE _pRpcMessage,
  2889. DWORD *_pdwStubPhase);
  2890. HRESULT STDMETHODCALLTYPE IMimePropertySet_GetParameters_Proxy(
  2891. IMimePropertySet __RPC_FAR * This,
  2892. /* [in] */ LPCSTR pszName,
  2893. /* [out] */ ULONG __RPC_FAR *pcParams,
  2894. /* [out] */ LPMIMEPARAMINFO __RPC_FAR *pprgParam);
  2895. void __RPC_STUB IMimePropertySet_GetParameters_Stub(
  2896. IRpcStubBuffer *This,
  2897. IRpcChannelBuffer *_pRpcChannelBuffer,
  2898. PRPC_MESSAGE _pRpcMessage,
  2899. DWORD *_pdwStubPhase);
  2900. HRESULT STDMETHODCALLTYPE IMimePropertySet_IsContentType_Proxy(
  2901. IMimePropertySet __RPC_FAR * This,
  2902. /* [in] */ LPCSTR pszPriType,
  2903. /* [in] */ LPCSTR pszSubType);
  2904. void __RPC_STUB IMimePropertySet_IsContentType_Stub(
  2905. IRpcStubBuffer *This,
  2906. IRpcChannelBuffer *_pRpcChannelBuffer,
  2907. PRPC_MESSAGE _pRpcMessage,
  2908. DWORD *_pdwStubPhase);
  2909. HRESULT STDMETHODCALLTYPE IMimePropertySet_BindToObject_Proxy(
  2910. IMimePropertySet __RPC_FAR * This,
  2911. /* [in] */ REFIID riid,
  2912. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2913. void __RPC_STUB IMimePropertySet_BindToObject_Stub(
  2914. IRpcStubBuffer *This,
  2915. IRpcChannelBuffer *_pRpcChannelBuffer,
  2916. PRPC_MESSAGE _pRpcMessage,
  2917. DWORD *_pdwStubPhase);
  2918. HRESULT STDMETHODCALLTYPE IMimePropertySet_Clone_Proxy(
  2919. IMimePropertySet __RPC_FAR * This,
  2920. /* [out] */ IMimePropertySet __RPC_FAR *__RPC_FAR *ppPropertySet);
  2921. void __RPC_STUB IMimePropertySet_Clone_Stub(
  2922. IRpcStubBuffer *This,
  2923. IRpcChannelBuffer *_pRpcChannelBuffer,
  2924. PRPC_MESSAGE _pRpcMessage,
  2925. DWORD *_pdwStubPhase);
  2926. HRESULT STDMETHODCALLTYPE IMimePropertySet_SetOption_Proxy(
  2927. IMimePropertySet __RPC_FAR * This,
  2928. /* [in] */ TYPEDID oid,
  2929. /* [in] */ LPPROPVARIANT pValue);
  2930. void __RPC_STUB IMimePropertySet_SetOption_Stub(
  2931. IRpcStubBuffer *This,
  2932. IRpcChannelBuffer *_pRpcChannelBuffer,
  2933. PRPC_MESSAGE _pRpcMessage,
  2934. DWORD *_pdwStubPhase);
  2935. HRESULT STDMETHODCALLTYPE IMimePropertySet_GetOption_Proxy(
  2936. IMimePropertySet __RPC_FAR * This,
  2937. /* [in] */ TYPEDID oid,
  2938. /* [out][in] */ LPPROPVARIANT pValue);
  2939. void __RPC_STUB IMimePropertySet_GetOption_Stub(
  2940. IRpcStubBuffer *This,
  2941. IRpcChannelBuffer *_pRpcChannelBuffer,
  2942. PRPC_MESSAGE _pRpcMessage,
  2943. DWORD *_pdwStubPhase);
  2944. HRESULT STDMETHODCALLTYPE IMimePropertySet_EnumProps_Proxy(
  2945. IMimePropertySet __RPC_FAR * This,
  2946. /* [in] */ DWORD dwFlags,
  2947. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum);
  2948. void __RPC_STUB IMimePropertySet_EnumProps_Stub(
  2949. IRpcStubBuffer *This,
  2950. IRpcChannelBuffer *_pRpcChannelBuffer,
  2951. PRPC_MESSAGE _pRpcMessage,
  2952. DWORD *_pdwStubPhase);
  2953. #endif /* __IMimePropertySet_INTERFACE_DEFINED__ */
  2954. #ifndef __IMimeAddressInfo_INTERFACE_DEFINED__
  2955. #define __IMimeAddressInfo_INTERFACE_DEFINED__
  2956. /****************************************
  2957. * Generated header for interface: IMimeAddressInfo
  2958. * at Mon May 12 23:53:20 1997
  2959. * using MIDL 3.02.88
  2960. ****************************************/
  2961. /* [object][helpstring][uuid] */
  2962. typedef /* [unique] */ IMimeAddressInfo __RPC_FAR *LPMIMEADDRESSINFO;
  2963. typedef DWORD IADDRESSTYPE;
  2964. #define IAT_UNKNOWN ( 0 )
  2965. #define IAT_FROM ( 0x1 )
  2966. #define IAT_SENDER ( 0x2 )
  2967. #define IAT_TO ( 0x4 )
  2968. #define IAT_CC ( 0x8 )
  2969. #define IAT_BCC ( 0x10 )
  2970. #define IAT_REPLYTO ( 0x20 )
  2971. #define IAT_RETURNPATH ( 0x40 )
  2972. #define IAT_RETRCPTTO ( 0x80 )
  2973. #define IAT_RR ( 0x100 )
  2974. #define IAT_APPARTO ( 0x200 )
  2975. EXTERN_C const IID IID_IMimeAddressInfo;
  2976. #if defined(__cplusplus) && !defined(CINTERFACE)
  2977. interface DECLSPEC_UUID("6AD6A1EF-C19B-11d0-85EB-00C04FD85AB4")
  2978. IMimeAddressInfo : public IUnknown
  2979. {
  2980. public:
  2981. virtual HRESULT STDMETHODCALLTYPE GetId(
  2982. /* [out] */ LPDWORD pdwId) = 0;
  2983. virtual HRESULT STDMETHODCALLTYPE GetType(
  2984. /* [out] */ LPDWORD pdwAdrType) = 0;
  2985. virtual HRESULT STDMETHODCALLTYPE SetType(
  2986. /* [in] */ DWORD dwAdrType) = 0;
  2987. virtual HRESULT STDMETHODCALLTYPE SetAddress(
  2988. /* [in] */ ENCODINGTYPE ietEncoding,
  2989. /* [in] */ LPCSTR pszFriendly,
  2990. /* [in] */ LPCSTR pszEmail) = 0;
  2991. virtual HRESULT STDMETHODCALLTYPE GetAddress(
  2992. /* [out] */ LPSTR __RPC_FAR *pszFriendly,
  2993. /* [out] */ LPSTR __RPC_FAR *ppszEmail) = 0;
  2994. virtual HRESULT STDMETHODCALLTYPE GetCertState(
  2995. /* [out] */ CERTSTATE __RPC_FAR *pcertstate) = 0;
  2996. virtual HRESULT STDMETHODCALLTYPE SetCertState(
  2997. /* [in] */ CERTSTATE certstate) = 0;
  2998. virtual HRESULT STDMETHODCALLTYPE SetThumbprint(
  2999. /* [in] */ LPBLOB pThumbPrint,
  3000. /* [in] */ DWORD dwType) = 0;
  3001. virtual HRESULT STDMETHODCALLTYPE GetThumbprint(
  3002. /* [unique][out][in] */ LPBLOB pThumbPrint,
  3003. /* [in] */ DWORD dwType) = 0;
  3004. virtual HRESULT STDMETHODCALLTYPE CopyTo(
  3005. /* [in] */ IMimeAddressInfo __RPC_FAR *pAddress,
  3006. /* [in] */ boolean fIncludeType) = 0;
  3007. virtual HRESULT STDMETHODCALLTYPE SetCharset(
  3008. /* [in] */ HCHARSET hCharset,
  3009. /* [in] */ CSETAPPLYTYPE applytype) = 0;
  3010. virtual HRESULT STDMETHODCALLTYPE GetCharset(
  3011. /* [out] */ LPHCHARSET phCharset) = 0;
  3012. virtual HRESULT STDMETHODCALLTYPE Delete( void) = 0;
  3013. };
  3014. #else /* C style interface */
  3015. typedef struct IMimeAddressInfoVtbl
  3016. {
  3017. BEGIN_INTERFACE
  3018. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3019. IMimeAddressInfo __RPC_FAR * This,
  3020. /* [in] */ REFIID riid,
  3021. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3022. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3023. IMimeAddressInfo __RPC_FAR * This);
  3024. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3025. IMimeAddressInfo __RPC_FAR * This);
  3026. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetId )(
  3027. IMimeAddressInfo __RPC_FAR * This,
  3028. /* [out] */ LPDWORD pdwId);
  3029. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  3030. IMimeAddressInfo __RPC_FAR * This,
  3031. /* [out] */ LPDWORD pdwAdrType);
  3032. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetType )(
  3033. IMimeAddressInfo __RPC_FAR * This,
  3034. /* [in] */ DWORD dwAdrType);
  3035. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAddress )(
  3036. IMimeAddressInfo __RPC_FAR * This,
  3037. /* [in] */ ENCODINGTYPE ietEncoding,
  3038. /* [in] */ LPCSTR pszFriendly,
  3039. /* [in] */ LPCSTR pszEmail);
  3040. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAddress )(
  3041. IMimeAddressInfo __RPC_FAR * This,
  3042. /* [out] */ LPSTR __RPC_FAR *pszFriendly,
  3043. /* [out] */ LPSTR __RPC_FAR *ppszEmail);
  3044. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCertState )(
  3045. IMimeAddressInfo __RPC_FAR * This,
  3046. /* [out] */ CERTSTATE __RPC_FAR *pcertstate);
  3047. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCertState )(
  3048. IMimeAddressInfo __RPC_FAR * This,
  3049. /* [in] */ CERTSTATE certstate);
  3050. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetThumbprint )(
  3051. IMimeAddressInfo __RPC_FAR * This,
  3052. /* [in] */ LPBLOB pThumbPrint,
  3053. /* [in] */ DWORD dwType);
  3054. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetThumbprint )(
  3055. IMimeAddressInfo __RPC_FAR * This,
  3056. /* [unique][out][in] */ LPBLOB pThumbPrint,
  3057. /* [in] */ DWORD dwType);
  3058. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )(
  3059. IMimeAddressInfo __RPC_FAR * This,
  3060. /* [in] */ IMimeAddressInfo __RPC_FAR *pAddress,
  3061. /* [in] */ boolean fIncludeType);
  3062. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCharset )(
  3063. IMimeAddressInfo __RPC_FAR * This,
  3064. /* [in] */ HCHARSET hCharset,
  3065. /* [in] */ CSETAPPLYTYPE applytype);
  3066. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCharset )(
  3067. IMimeAddressInfo __RPC_FAR * This,
  3068. /* [out] */ LPHCHARSET phCharset);
  3069. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )(
  3070. IMimeAddressInfo __RPC_FAR * This);
  3071. END_INTERFACE
  3072. } IMimeAddressInfoVtbl;
  3073. interface IMimeAddressInfo
  3074. {
  3075. CONST_VTBL struct IMimeAddressInfoVtbl __RPC_FAR *lpVtbl;
  3076. };
  3077. #ifdef COBJMACROS
  3078. #define IMimeAddressInfo_QueryInterface(This,riid,ppvObject) \
  3079. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3080. #define IMimeAddressInfo_AddRef(This) \
  3081. (This)->lpVtbl -> AddRef(This)
  3082. #define IMimeAddressInfo_Release(This) \
  3083. (This)->lpVtbl -> Release(This)
  3084. #define IMimeAddressInfo_GetId(This,pdwId) \
  3085. (This)->lpVtbl -> GetId(This,pdwId)
  3086. #define IMimeAddressInfo_GetType(This,pdwAdrType) \
  3087. (This)->lpVtbl -> GetType(This,pdwAdrType)
  3088. #define IMimeAddressInfo_SetType(This,dwAdrType) \
  3089. (This)->lpVtbl -> SetType(This,dwAdrType)
  3090. #define IMimeAddressInfo_SetAddress(This,ietEncoding,pszFriendly,pszEmail) \
  3091. (This)->lpVtbl -> SetAddress(This,ietEncoding,pszFriendly,pszEmail)
  3092. #define IMimeAddressInfo_GetAddress(This,pszFriendly,ppszEmail) \
  3093. (This)->lpVtbl -> GetAddress(This,pszFriendly,ppszEmail)
  3094. #define IMimeAddressInfo_GetCertState(This,pcertstate) \
  3095. (This)->lpVtbl -> GetCertState(This,pcertstate)
  3096. #define IMimeAddressInfo_SetCertState(This,certstate) \
  3097. (This)->lpVtbl -> SetCertState(This,certstate)
  3098. #define IMimeAddressInfo_SetThumbprint(This,pThumbPrint,dwType) \
  3099. (This)->lpVtbl -> SetThumbprint(This,pThumbPrint,dwType)
  3100. #define IMimeAddressInfo_GetThumbprint(This,pThumbPrint,dwType) \
  3101. (This)->lpVtbl -> GetThumbprint(This,pThumbPrint,dwType)
  3102. #define IMimeAddressInfo_CopyTo(This,pAddress,fIncludeType) \
  3103. (This)->lpVtbl -> CopyTo(This,pAddress,fIncludeType)
  3104. #define IMimeAddressInfo_SetCharset(This,hCharset,applytype) \
  3105. (This)->lpVtbl -> SetCharset(This,hCharset,applytype)
  3106. #define IMimeAddressInfo_GetCharset(This,phCharset) \
  3107. (This)->lpVtbl -> GetCharset(This,phCharset)
  3108. #define IMimeAddressInfo_Delete(This) \
  3109. (This)->lpVtbl -> Delete(This)
  3110. #endif /* COBJMACROS */
  3111. #endif /* C style interface */
  3112. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_GetId_Proxy(
  3113. IMimeAddressInfo __RPC_FAR * This,
  3114. /* [out] */ LPDWORD pdwId);
  3115. void __RPC_STUB IMimeAddressInfo_GetId_Stub(
  3116. IRpcStubBuffer *This,
  3117. IRpcChannelBuffer *_pRpcChannelBuffer,
  3118. PRPC_MESSAGE _pRpcMessage,
  3119. DWORD *_pdwStubPhase);
  3120. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_GetType_Proxy(
  3121. IMimeAddressInfo __RPC_FAR * This,
  3122. /* [out] */ LPDWORD pdwAdrType);
  3123. void __RPC_STUB IMimeAddressInfo_GetType_Stub(
  3124. IRpcStubBuffer *This,
  3125. IRpcChannelBuffer *_pRpcChannelBuffer,
  3126. PRPC_MESSAGE _pRpcMessage,
  3127. DWORD *_pdwStubPhase);
  3128. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_SetType_Proxy(
  3129. IMimeAddressInfo __RPC_FAR * This,
  3130. /* [in] */ DWORD dwAdrType);
  3131. void __RPC_STUB IMimeAddressInfo_SetType_Stub(
  3132. IRpcStubBuffer *This,
  3133. IRpcChannelBuffer *_pRpcChannelBuffer,
  3134. PRPC_MESSAGE _pRpcMessage,
  3135. DWORD *_pdwStubPhase);
  3136. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_SetAddress_Proxy(
  3137. IMimeAddressInfo __RPC_FAR * This,
  3138. /* [in] */ ENCODINGTYPE ietEncoding,
  3139. /* [in] */ LPCSTR pszFriendly,
  3140. /* [in] */ LPCSTR pszEmail);
  3141. void __RPC_STUB IMimeAddressInfo_SetAddress_Stub(
  3142. IRpcStubBuffer *This,
  3143. IRpcChannelBuffer *_pRpcChannelBuffer,
  3144. PRPC_MESSAGE _pRpcMessage,
  3145. DWORD *_pdwStubPhase);
  3146. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_GetAddress_Proxy(
  3147. IMimeAddressInfo __RPC_FAR * This,
  3148. /* [out] */ LPSTR __RPC_FAR *pszFriendly,
  3149. /* [out] */ LPSTR __RPC_FAR *ppszEmail);
  3150. void __RPC_STUB IMimeAddressInfo_GetAddress_Stub(
  3151. IRpcStubBuffer *This,
  3152. IRpcChannelBuffer *_pRpcChannelBuffer,
  3153. PRPC_MESSAGE _pRpcMessage,
  3154. DWORD *_pdwStubPhase);
  3155. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_GetCertState_Proxy(
  3156. IMimeAddressInfo __RPC_FAR * This,
  3157. /* [out] */ CERTSTATE __RPC_FAR *pcertstate);
  3158. void __RPC_STUB IMimeAddressInfo_GetCertState_Stub(
  3159. IRpcStubBuffer *This,
  3160. IRpcChannelBuffer *_pRpcChannelBuffer,
  3161. PRPC_MESSAGE _pRpcMessage,
  3162. DWORD *_pdwStubPhase);
  3163. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_SetCertState_Proxy(
  3164. IMimeAddressInfo __RPC_FAR * This,
  3165. /* [in] */ CERTSTATE certstate);
  3166. void __RPC_STUB IMimeAddressInfo_SetCertState_Stub(
  3167. IRpcStubBuffer *This,
  3168. IRpcChannelBuffer *_pRpcChannelBuffer,
  3169. PRPC_MESSAGE _pRpcMessage,
  3170. DWORD *_pdwStubPhase);
  3171. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_SetThumbprint_Proxy(
  3172. IMimeAddressInfo __RPC_FAR * This,
  3173. /* [in] */ LPBLOB pThumbPrint,
  3174. /* [in] */ DWORD dwType);
  3175. void __RPC_STUB IMimeAddressInfo_SetThumbprint_Stub(
  3176. IRpcStubBuffer *This,
  3177. IRpcChannelBuffer *_pRpcChannelBuffer,
  3178. PRPC_MESSAGE _pRpcMessage,
  3179. DWORD *_pdwStubPhase);
  3180. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_GetThumbprint_Proxy(
  3181. IMimeAddressInfo __RPC_FAR * This,
  3182. /* [unique][out][in] */ LPBLOB pThumbPrint,
  3183. /* [in] */ DWORD dwType);
  3184. void __RPC_STUB IMimeAddressInfo_GetThumbprint_Stub(
  3185. IRpcStubBuffer *This,
  3186. IRpcChannelBuffer *_pRpcChannelBuffer,
  3187. PRPC_MESSAGE _pRpcMessage,
  3188. DWORD *_pdwStubPhase);
  3189. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_CopyTo_Proxy(
  3190. IMimeAddressInfo __RPC_FAR * This,
  3191. /* [in] */ IMimeAddressInfo __RPC_FAR *pAddress,
  3192. /* [in] */ boolean fIncludeType);
  3193. void __RPC_STUB IMimeAddressInfo_CopyTo_Stub(
  3194. IRpcStubBuffer *This,
  3195. IRpcChannelBuffer *_pRpcChannelBuffer,
  3196. PRPC_MESSAGE _pRpcMessage,
  3197. DWORD *_pdwStubPhase);
  3198. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_SetCharset_Proxy(
  3199. IMimeAddressInfo __RPC_FAR * This,
  3200. /* [in] */ HCHARSET hCharset,
  3201. /* [in] */ CSETAPPLYTYPE applytype);
  3202. void __RPC_STUB IMimeAddressInfo_SetCharset_Stub(
  3203. IRpcStubBuffer *This,
  3204. IRpcChannelBuffer *_pRpcChannelBuffer,
  3205. PRPC_MESSAGE _pRpcMessage,
  3206. DWORD *_pdwStubPhase);
  3207. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_GetCharset_Proxy(
  3208. IMimeAddressInfo __RPC_FAR * This,
  3209. /* [out] */ LPHCHARSET phCharset);
  3210. void __RPC_STUB IMimeAddressInfo_GetCharset_Stub(
  3211. IRpcStubBuffer *This,
  3212. IRpcChannelBuffer *_pRpcChannelBuffer,
  3213. PRPC_MESSAGE _pRpcMessage,
  3214. DWORD *_pdwStubPhase);
  3215. HRESULT STDMETHODCALLTYPE IMimeAddressInfo_Delete_Proxy(
  3216. IMimeAddressInfo __RPC_FAR * This);
  3217. void __RPC_STUB IMimeAddressInfo_Delete_Stub(
  3218. IRpcStubBuffer *This,
  3219. IRpcChannelBuffer *_pRpcChannelBuffer,
  3220. PRPC_MESSAGE _pRpcMessage,
  3221. DWORD *_pdwStubPhase);
  3222. #endif /* __IMimeAddressInfo_INTERFACE_DEFINED__ */
  3223. #ifndef __IMimeAddressTable_INTERFACE_DEFINED__
  3224. #define __IMimeAddressTable_INTERFACE_DEFINED__
  3225. /****************************************
  3226. * Generated header for interface: IMimeAddressTable
  3227. * at Mon May 12 23:53:20 1997
  3228. * using MIDL 3.02.88
  3229. ****************************************/
  3230. /* [object][helpstring][uuid] */
  3231. typedef /* [unique] */ IMimeAddressTable __RPC_FAR *LPMIMEADDRESSTABLE;
  3232. #define IAT_ALL ( ( DWORD )0xffffffff )
  3233. #define IAT_KNOWN ( ( DWORD )(IAT_FROM | IAT_TO | IAT_CC | IAT_BCC | IAT_REPLYTO | IAT_SENDER) )
  3234. #define IAT_RECIPS ( ( DWORD )(IAT_TO | IAT_CC | IAT_BCC) )
  3235. typedef
  3236. enum tagADDRESSFORMAT
  3237. { AFT_DISPLAY_FRIENDLY = 0,
  3238. AFT_DISPLAY_EMAIL = AFT_DISPLAY_FRIENDLY + 1,
  3239. AFT_DISPLAY_BOTH = AFT_DISPLAY_EMAIL + 1,
  3240. AFT_RFC822_DECODED = AFT_DISPLAY_BOTH + 1,
  3241. AFT_RFC822_ENCODED = AFT_RFC822_DECODED + 1,
  3242. AFT_RFC822_TRANSMIT = AFT_RFC822_ENCODED + 1
  3243. } ADDRESSFORMAT;
  3244. typedef struct tagADDRESSLIST
  3245. {
  3246. ULONG cAddresses;
  3247. IMimeAddressInfo __RPC_FAR *__RPC_FAR *prgpAddress;
  3248. } ADDRESSLIST;
  3249. typedef struct tagADDRESSLIST __RPC_FAR *LPADDRESSLIST;
  3250. EXTERN_C const IID IID_IMimeAddressTable;
  3251. #if defined(__cplusplus) && !defined(CINTERFACE)
  3252. interface DECLSPEC_UUID("6AD6A1EE-C19B-11d0-85EB-00C04FD85AB4")
  3253. IMimeAddressTable : public IUnknown
  3254. {
  3255. public:
  3256. virtual HRESULT STDMETHODCALLTYPE GetSender(
  3257. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress) = 0;
  3258. virtual HRESULT STDMETHODCALLTYPE CountTypes(
  3259. /* [in] */ DWORD dwAdrTypes,
  3260. /* [out] */ ULONG __RPC_FAR *pcAddresses) = 0;
  3261. virtual HRESULT STDMETHODCALLTYPE EnumTypes(
  3262. /* [in] */ DWORD dwAdrTypes,
  3263. /* [out] */ IMimeEnumAddressTypes __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  3264. virtual HRESULT STDMETHODCALLTYPE GetTypes(
  3265. /* [in] */ DWORD dwAdrTypes,
  3266. /* [out][in] */ LPADDRESSLIST pList) = 0;
  3267. virtual HRESULT STDMETHODCALLTYPE DeleteTypes(
  3268. /* [in] */ DWORD dwAdrTypes) = 0;
  3269. virtual HRESULT STDMETHODCALLTYPE DeleteAll( void) = 0;
  3270. virtual HRESULT STDMETHODCALLTYPE AppendBasic(
  3271. /* [in] */ DWORD dwAdrType,
  3272. /* [in] */ ENCODINGTYPE ietEncoding,
  3273. /* [in] */ LPCSTR pszFriendly,
  3274. /* [in] */ LPCSTR pszEmail) = 0;
  3275. virtual HRESULT STDMETHODCALLTYPE AppendNew(
  3276. /* [in] */ DWORD dwAdrType,
  3277. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress) = 0;
  3278. virtual HRESULT STDMETHODCALLTYPE AppendAs(
  3279. /* [in] */ DWORD dwAdrType,
  3280. /* [in] */ IMimeAddressInfo __RPC_FAR *pAddress) = 0;
  3281. virtual HRESULT STDMETHODCALLTYPE AppendList(
  3282. /* [in] */ LPADDRESSLIST pList) = 0;
  3283. virtual HRESULT STDMETHODCALLTYPE AppendRfc822(
  3284. /* [in] */ DWORD dwAdrType,
  3285. /* [in] */ ENCODINGTYPE ietEncoding,
  3286. /* [in] */ LPCSTR pszRfc822Adr) = 0;
  3287. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  3288. /* [in] */ DWORD dwAdrType,
  3289. /* [in] */ ADDRESSFORMAT format,
  3290. /* [out] */ LPSTR __RPC_FAR *ppszAddress) = 0;
  3291. virtual HRESULT STDMETHODCALLTYPE ParseRfc822(
  3292. /* [in] */ DWORD dwAdrType,
  3293. /* [in] */ ENCODINGTYPE ietEncoding,
  3294. /* [in] */ LPCSTR pszRfc822Adr,
  3295. /* [out][in] */ LPADDRESSLIST pList) = 0;
  3296. virtual HRESULT STDMETHODCALLTYPE Clone(
  3297. /* [out] */ IMimeAddressTable __RPC_FAR *__RPC_FAR *ppTable) = 0;
  3298. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  3299. /* [in] */ REFIID riid,
  3300. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  3301. };
  3302. #else /* C style interface */
  3303. typedef struct IMimeAddressTableVtbl
  3304. {
  3305. BEGIN_INTERFACE
  3306. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3307. IMimeAddressTable __RPC_FAR * This,
  3308. /* [in] */ REFIID riid,
  3309. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3310. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3311. IMimeAddressTable __RPC_FAR * This);
  3312. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3313. IMimeAddressTable __RPC_FAR * This);
  3314. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSender )(
  3315. IMimeAddressTable __RPC_FAR * This,
  3316. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress);
  3317. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CountTypes )(
  3318. IMimeAddressTable __RPC_FAR * This,
  3319. /* [in] */ DWORD dwAdrTypes,
  3320. /* [out] */ ULONG __RPC_FAR *pcAddresses);
  3321. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumTypes )(
  3322. IMimeAddressTable __RPC_FAR * This,
  3323. /* [in] */ DWORD dwAdrTypes,
  3324. /* [out] */ IMimeEnumAddressTypes __RPC_FAR *__RPC_FAR *ppEnum);
  3325. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypes )(
  3326. IMimeAddressTable __RPC_FAR * This,
  3327. /* [in] */ DWORD dwAdrTypes,
  3328. /* [out][in] */ LPADDRESSLIST pList);
  3329. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteTypes )(
  3330. IMimeAddressTable __RPC_FAR * This,
  3331. /* [in] */ DWORD dwAdrTypes);
  3332. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteAll )(
  3333. IMimeAddressTable __RPC_FAR * This);
  3334. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendBasic )(
  3335. IMimeAddressTable __RPC_FAR * This,
  3336. /* [in] */ DWORD dwAdrType,
  3337. /* [in] */ ENCODINGTYPE ietEncoding,
  3338. /* [in] */ LPCSTR pszFriendly,
  3339. /* [in] */ LPCSTR pszEmail);
  3340. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendNew )(
  3341. IMimeAddressTable __RPC_FAR * This,
  3342. /* [in] */ DWORD dwAdrType,
  3343. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress);
  3344. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendAs )(
  3345. IMimeAddressTable __RPC_FAR * This,
  3346. /* [in] */ DWORD dwAdrType,
  3347. /* [in] */ IMimeAddressInfo __RPC_FAR *pAddress);
  3348. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendList )(
  3349. IMimeAddressTable __RPC_FAR * This,
  3350. /* [in] */ LPADDRESSLIST pList);
  3351. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendRfc822 )(
  3352. IMimeAddressTable __RPC_FAR * This,
  3353. /* [in] */ DWORD dwAdrType,
  3354. /* [in] */ ENCODINGTYPE ietEncoding,
  3355. /* [in] */ LPCSTR pszRfc822Adr);
  3356. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )(
  3357. IMimeAddressTable __RPC_FAR * This,
  3358. /* [in] */ DWORD dwAdrType,
  3359. /* [in] */ ADDRESSFORMAT format,
  3360. /* [out] */ LPSTR __RPC_FAR *ppszAddress);
  3361. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseRfc822 )(
  3362. IMimeAddressTable __RPC_FAR * This,
  3363. /* [in] */ DWORD dwAdrType,
  3364. /* [in] */ ENCODINGTYPE ietEncoding,
  3365. /* [in] */ LPCSTR pszRfc822Adr,
  3366. /* [out][in] */ LPADDRESSLIST pList);
  3367. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  3368. IMimeAddressTable __RPC_FAR * This,
  3369. /* [out] */ IMimeAddressTable __RPC_FAR *__RPC_FAR *ppTable);
  3370. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )(
  3371. IMimeAddressTable __RPC_FAR * This,
  3372. /* [in] */ REFIID riid,
  3373. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3374. END_INTERFACE
  3375. } IMimeAddressTableVtbl;
  3376. interface IMimeAddressTable
  3377. {
  3378. CONST_VTBL struct IMimeAddressTableVtbl __RPC_FAR *lpVtbl;
  3379. };
  3380. #ifdef COBJMACROS
  3381. #define IMimeAddressTable_QueryInterface(This,riid,ppvObject) \
  3382. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3383. #define IMimeAddressTable_AddRef(This) \
  3384. (This)->lpVtbl -> AddRef(This)
  3385. #define IMimeAddressTable_Release(This) \
  3386. (This)->lpVtbl -> Release(This)
  3387. #define IMimeAddressTable_GetSender(This,ppAddress) \
  3388. (This)->lpVtbl -> GetSender(This,ppAddress)
  3389. #define IMimeAddressTable_CountTypes(This,dwAdrTypes,pcAddresses) \
  3390. (This)->lpVtbl -> CountTypes(This,dwAdrTypes,pcAddresses)
  3391. #define IMimeAddressTable_EnumTypes(This,dwAdrTypes,ppEnum) \
  3392. (This)->lpVtbl -> EnumTypes(This,dwAdrTypes,ppEnum)
  3393. #define IMimeAddressTable_GetTypes(This,dwAdrTypes,pList) \
  3394. (This)->lpVtbl -> GetTypes(This,dwAdrTypes,pList)
  3395. #define IMimeAddressTable_DeleteTypes(This,dwAdrTypes) \
  3396. (This)->lpVtbl -> DeleteTypes(This,dwAdrTypes)
  3397. #define IMimeAddressTable_DeleteAll(This) \
  3398. (This)->lpVtbl -> DeleteAll(This)
  3399. #define IMimeAddressTable_AppendBasic(This,dwAdrType,ietEncoding,pszFriendly,pszEmail) \
  3400. (This)->lpVtbl -> AppendBasic(This,dwAdrType,ietEncoding,pszFriendly,pszEmail)
  3401. #define IMimeAddressTable_AppendNew(This,dwAdrType,ppAddress) \
  3402. (This)->lpVtbl -> AppendNew(This,dwAdrType,ppAddress)
  3403. #define IMimeAddressTable_AppendAs(This,dwAdrType,pAddress) \
  3404. (This)->lpVtbl -> AppendAs(This,dwAdrType,pAddress)
  3405. #define IMimeAddressTable_AppendList(This,pList) \
  3406. (This)->lpVtbl -> AppendList(This,pList)
  3407. #define IMimeAddressTable_AppendRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr) \
  3408. (This)->lpVtbl -> AppendRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr)
  3409. #define IMimeAddressTable_GetFormat(This,dwAdrType,format,ppszAddress) \
  3410. (This)->lpVtbl -> GetFormat(This,dwAdrType,format,ppszAddress)
  3411. #define IMimeAddressTable_ParseRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr,pList) \
  3412. (This)->lpVtbl -> ParseRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr,pList)
  3413. #define IMimeAddressTable_Clone(This,ppTable) \
  3414. (This)->lpVtbl -> Clone(This,ppTable)
  3415. #define IMimeAddressTable_BindToObject(This,riid,ppvObject) \
  3416. (This)->lpVtbl -> BindToObject(This,riid,ppvObject)
  3417. #endif /* COBJMACROS */
  3418. #endif /* C style interface */
  3419. HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetSender_Proxy(
  3420. IMimeAddressTable __RPC_FAR * This,
  3421. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress);
  3422. void __RPC_STUB IMimeAddressTable_GetSender_Stub(
  3423. IRpcStubBuffer *This,
  3424. IRpcChannelBuffer *_pRpcChannelBuffer,
  3425. PRPC_MESSAGE _pRpcMessage,
  3426. DWORD *_pdwStubPhase);
  3427. HRESULT STDMETHODCALLTYPE IMimeAddressTable_CountTypes_Proxy(
  3428. IMimeAddressTable __RPC_FAR * This,
  3429. /* [in] */ DWORD dwAdrTypes,
  3430. /* [out] */ ULONG __RPC_FAR *pcAddresses);
  3431. void __RPC_STUB IMimeAddressTable_CountTypes_Stub(
  3432. IRpcStubBuffer *This,
  3433. IRpcChannelBuffer *_pRpcChannelBuffer,
  3434. PRPC_MESSAGE _pRpcMessage,
  3435. DWORD *_pdwStubPhase);
  3436. HRESULT STDMETHODCALLTYPE IMimeAddressTable_EnumTypes_Proxy(
  3437. IMimeAddressTable __RPC_FAR * This,
  3438. /* [in] */ DWORD dwAdrTypes,
  3439. /* [out] */ IMimeEnumAddressTypes __RPC_FAR *__RPC_FAR *ppEnum);
  3440. void __RPC_STUB IMimeAddressTable_EnumTypes_Stub(
  3441. IRpcStubBuffer *This,
  3442. IRpcChannelBuffer *_pRpcChannelBuffer,
  3443. PRPC_MESSAGE _pRpcMessage,
  3444. DWORD *_pdwStubPhase);
  3445. HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetTypes_Proxy(
  3446. IMimeAddressTable __RPC_FAR * This,
  3447. /* [in] */ DWORD dwAdrTypes,
  3448. /* [out][in] */ LPADDRESSLIST pList);
  3449. void __RPC_STUB IMimeAddressTable_GetTypes_Stub(
  3450. IRpcStubBuffer *This,
  3451. IRpcChannelBuffer *_pRpcChannelBuffer,
  3452. PRPC_MESSAGE _pRpcMessage,
  3453. DWORD *_pdwStubPhase);
  3454. HRESULT STDMETHODCALLTYPE IMimeAddressTable_DeleteTypes_Proxy(
  3455. IMimeAddressTable __RPC_FAR * This,
  3456. /* [in] */ DWORD dwAdrTypes);
  3457. void __RPC_STUB IMimeAddressTable_DeleteTypes_Stub(
  3458. IRpcStubBuffer *This,
  3459. IRpcChannelBuffer *_pRpcChannelBuffer,
  3460. PRPC_MESSAGE _pRpcMessage,
  3461. DWORD *_pdwStubPhase);
  3462. HRESULT STDMETHODCALLTYPE IMimeAddressTable_DeleteAll_Proxy(
  3463. IMimeAddressTable __RPC_FAR * This);
  3464. void __RPC_STUB IMimeAddressTable_DeleteAll_Stub(
  3465. IRpcStubBuffer *This,
  3466. IRpcChannelBuffer *_pRpcChannelBuffer,
  3467. PRPC_MESSAGE _pRpcMessage,
  3468. DWORD *_pdwStubPhase);
  3469. HRESULT STDMETHODCALLTYPE IMimeAddressTable_AppendBasic_Proxy(
  3470. IMimeAddressTable __RPC_FAR * This,
  3471. /* [in] */ DWORD dwAdrType,
  3472. /* [in] */ ENCODINGTYPE ietEncoding,
  3473. /* [in] */ LPCSTR pszFriendly,
  3474. /* [in] */ LPCSTR pszEmail);
  3475. void __RPC_STUB IMimeAddressTable_AppendBasic_Stub(
  3476. IRpcStubBuffer *This,
  3477. IRpcChannelBuffer *_pRpcChannelBuffer,
  3478. PRPC_MESSAGE _pRpcMessage,
  3479. DWORD *_pdwStubPhase);
  3480. HRESULT STDMETHODCALLTYPE IMimeAddressTable_AppendNew_Proxy(
  3481. IMimeAddressTable __RPC_FAR * This,
  3482. /* [in] */ DWORD dwAdrType,
  3483. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress);
  3484. void __RPC_STUB IMimeAddressTable_AppendNew_Stub(
  3485. IRpcStubBuffer *This,
  3486. IRpcChannelBuffer *_pRpcChannelBuffer,
  3487. PRPC_MESSAGE _pRpcMessage,
  3488. DWORD *_pdwStubPhase);
  3489. HRESULT STDMETHODCALLTYPE IMimeAddressTable_AppendAs_Proxy(
  3490. IMimeAddressTable __RPC_FAR * This,
  3491. /* [in] */ DWORD dwAdrType,
  3492. /* [in] */ IMimeAddressInfo __RPC_FAR *pAddress);
  3493. void __RPC_STUB IMimeAddressTable_AppendAs_Stub(
  3494. IRpcStubBuffer *This,
  3495. IRpcChannelBuffer *_pRpcChannelBuffer,
  3496. PRPC_MESSAGE _pRpcMessage,
  3497. DWORD *_pdwStubPhase);
  3498. HRESULT STDMETHODCALLTYPE IMimeAddressTable_AppendList_Proxy(
  3499. IMimeAddressTable __RPC_FAR * This,
  3500. /* [in] */ LPADDRESSLIST pList);
  3501. void __RPC_STUB IMimeAddressTable_AppendList_Stub(
  3502. IRpcStubBuffer *This,
  3503. IRpcChannelBuffer *_pRpcChannelBuffer,
  3504. PRPC_MESSAGE _pRpcMessage,
  3505. DWORD *_pdwStubPhase);
  3506. HRESULT STDMETHODCALLTYPE IMimeAddressTable_AppendRfc822_Proxy(
  3507. IMimeAddressTable __RPC_FAR * This,
  3508. /* [in] */ DWORD dwAdrType,
  3509. /* [in] */ ENCODINGTYPE ietEncoding,
  3510. /* [in] */ LPCSTR pszRfc822Adr);
  3511. void __RPC_STUB IMimeAddressTable_AppendRfc822_Stub(
  3512. IRpcStubBuffer *This,
  3513. IRpcChannelBuffer *_pRpcChannelBuffer,
  3514. PRPC_MESSAGE _pRpcMessage,
  3515. DWORD *_pdwStubPhase);
  3516. HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetFormat_Proxy(
  3517. IMimeAddressTable __RPC_FAR * This,
  3518. /* [in] */ DWORD dwAdrType,
  3519. /* [in] */ ADDRESSFORMAT format,
  3520. /* [out] */ LPSTR __RPC_FAR *ppszAddress);
  3521. void __RPC_STUB IMimeAddressTable_GetFormat_Stub(
  3522. IRpcStubBuffer *This,
  3523. IRpcChannelBuffer *_pRpcChannelBuffer,
  3524. PRPC_MESSAGE _pRpcMessage,
  3525. DWORD *_pdwStubPhase);
  3526. HRESULT STDMETHODCALLTYPE IMimeAddressTable_ParseRfc822_Proxy(
  3527. IMimeAddressTable __RPC_FAR * This,
  3528. /* [in] */ DWORD dwAdrType,
  3529. /* [in] */ ENCODINGTYPE ietEncoding,
  3530. /* [in] */ LPCSTR pszRfc822Adr,
  3531. /* [out][in] */ LPADDRESSLIST pList);
  3532. void __RPC_STUB IMimeAddressTable_ParseRfc822_Stub(
  3533. IRpcStubBuffer *This,
  3534. IRpcChannelBuffer *_pRpcChannelBuffer,
  3535. PRPC_MESSAGE _pRpcMessage,
  3536. DWORD *_pdwStubPhase);
  3537. HRESULT STDMETHODCALLTYPE IMimeAddressTable_Clone_Proxy(
  3538. IMimeAddressTable __RPC_FAR * This,
  3539. /* [out] */ IMimeAddressTable __RPC_FAR *__RPC_FAR *ppTable);
  3540. void __RPC_STUB IMimeAddressTable_Clone_Stub(
  3541. IRpcStubBuffer *This,
  3542. IRpcChannelBuffer *_pRpcChannelBuffer,
  3543. PRPC_MESSAGE _pRpcMessage,
  3544. DWORD *_pdwStubPhase);
  3545. HRESULT STDMETHODCALLTYPE IMimeAddressTable_BindToObject_Proxy(
  3546. IMimeAddressTable __RPC_FAR * This,
  3547. /* [in] */ REFIID riid,
  3548. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3549. void __RPC_STUB IMimeAddressTable_BindToObject_Stub(
  3550. IRpcStubBuffer *This,
  3551. IRpcChannelBuffer *_pRpcChannelBuffer,
  3552. PRPC_MESSAGE _pRpcMessage,
  3553. DWORD *_pdwStubPhase);
  3554. #endif /* __IMimeAddressTable_INTERFACE_DEFINED__ */
  3555. #ifndef __IMimeWebDocument_INTERFACE_DEFINED__
  3556. #define __IMimeWebDocument_INTERFACE_DEFINED__
  3557. /****************************************
  3558. * Generated header for interface: IMimeWebDocument
  3559. * at Mon May 12 23:53:20 1997
  3560. * using MIDL 3.02.88
  3561. ****************************************/
  3562. /* [object][helpstring][uuid] */
  3563. EXTERN_C const IID IID_IMimeWebDocument;
  3564. #if defined(__cplusplus) && !defined(CINTERFACE)
  3565. interface DECLSPEC_UUID("6AD6A1EC-C19B-11d0-85EB-00C04FD85AB4")
  3566. IMimeWebDocument : public IUnknown
  3567. {
  3568. public:
  3569. virtual HRESULT STDMETHODCALLTYPE GetURL(
  3570. /* [out] */ LPSTR __RPC_FAR *ppszURL) = 0;
  3571. virtual HRESULT STDMETHODCALLTYPE BindToStorage(
  3572. /* [in] */ REFIID riid,
  3573. /* [iid_is][out] */ LPVOID __RPC_FAR *ppvObject) = 0;
  3574. };
  3575. #else /* C style interface */
  3576. typedef struct IMimeWebDocumentVtbl
  3577. {
  3578. BEGIN_INTERFACE
  3579. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3580. IMimeWebDocument __RPC_FAR * This,
  3581. /* [in] */ REFIID riid,
  3582. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3583. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3584. IMimeWebDocument __RPC_FAR * This);
  3585. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3586. IMimeWebDocument __RPC_FAR * This);
  3587. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetURL )(
  3588. IMimeWebDocument __RPC_FAR * This,
  3589. /* [out] */ LPSTR __RPC_FAR *ppszURL);
  3590. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToStorage )(
  3591. IMimeWebDocument __RPC_FAR * This,
  3592. /* [in] */ REFIID riid,
  3593. /* [iid_is][out] */ LPVOID __RPC_FAR *ppvObject);
  3594. END_INTERFACE
  3595. } IMimeWebDocumentVtbl;
  3596. interface IMimeWebDocument
  3597. {
  3598. CONST_VTBL struct IMimeWebDocumentVtbl __RPC_FAR *lpVtbl;
  3599. };
  3600. #ifdef COBJMACROS
  3601. #define IMimeWebDocument_QueryInterface(This,riid,ppvObject) \
  3602. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3603. #define IMimeWebDocument_AddRef(This) \
  3604. (This)->lpVtbl -> AddRef(This)
  3605. #define IMimeWebDocument_Release(This) \
  3606. (This)->lpVtbl -> Release(This)
  3607. #define IMimeWebDocument_GetURL(This,ppszURL) \
  3608. (This)->lpVtbl -> GetURL(This,ppszURL)
  3609. #define IMimeWebDocument_BindToStorage(This,riid,ppvObject) \
  3610. (This)->lpVtbl -> BindToStorage(This,riid,ppvObject)
  3611. #endif /* COBJMACROS */
  3612. #endif /* C style interface */
  3613. HRESULT STDMETHODCALLTYPE IMimeWebDocument_GetURL_Proxy(
  3614. IMimeWebDocument __RPC_FAR * This,
  3615. /* [out] */ LPSTR __RPC_FAR *ppszURL);
  3616. void __RPC_STUB IMimeWebDocument_GetURL_Stub(
  3617. IRpcStubBuffer *This,
  3618. IRpcChannelBuffer *_pRpcChannelBuffer,
  3619. PRPC_MESSAGE _pRpcMessage,
  3620. DWORD *_pdwStubPhase);
  3621. HRESULT STDMETHODCALLTYPE IMimeWebDocument_BindToStorage_Proxy(
  3622. IMimeWebDocument __RPC_FAR * This,
  3623. /* [in] */ REFIID riid,
  3624. /* [iid_is][out] */ LPVOID __RPC_FAR *ppvObject);
  3625. void __RPC_STUB IMimeWebDocument_BindToStorage_Stub(
  3626. IRpcStubBuffer *This,
  3627. IRpcChannelBuffer *_pRpcChannelBuffer,
  3628. PRPC_MESSAGE _pRpcMessage,
  3629. DWORD *_pdwStubPhase);
  3630. #endif /* __IMimeWebDocument_INTERFACE_DEFINED__ */
  3631. #ifndef __IMimeBody_INTERFACE_DEFINED__
  3632. #define __IMimeBody_INTERFACE_DEFINED__
  3633. /****************************************
  3634. * Generated header for interface: IMimeBody
  3635. * at Mon May 12 23:53:20 1997
  3636. * using MIDL 3.02.88
  3637. ****************************************/
  3638. /* [object][helpstring][uuid] */
  3639. typedef /* [unique] */ IMimeBody __RPC_FAR *LPMIMEBODY;
  3640. typedef struct tagBODYOFFSETS
  3641. {
  3642. DWORD cbBoundaryStart;
  3643. DWORD cbHeaderStart;
  3644. DWORD cbBodyStart;
  3645. DWORD cbBodyEnd;
  3646. } BODYOFFSETS;
  3647. typedef struct tagBODYOFFSETS __RPC_FAR *LPBODYOFFSETS;
  3648. typedef
  3649. enum tagIMSGBODYTYPE
  3650. { IBT_SECURE = 0,
  3651. IBT_ATTACHMENT = IBT_SECURE + 1,
  3652. IBT_EMPTY = IBT_ATTACHMENT + 1
  3653. } IMSGBODYTYPE;
  3654. typedef struct tagTRANSMITINFO
  3655. {
  3656. ENCODINGTYPE ietCurrent;
  3657. ENCODINGTYPE ietOption;
  3658. ENCODINGTYPE ietXmitMime;
  3659. ENCODINGTYPE ietXmit822;
  3660. ULONG cbLongestLine;
  3661. ULONG cExtended;
  3662. ULONG ulPercentExt;
  3663. ULONG cbSize;
  3664. ULONG cLines;
  3665. } TRANSMITINFO;
  3666. typedef struct tagTRANSMITINFO __RPC_FAR *LPTRANSMITINFO;
  3667. EXTERN_C const IID IID_IMimeBody;
  3668. #if defined(__cplusplus) && !defined(CINTERFACE)
  3669. interface DECLSPEC_UUID("6AD6A1F8-C19B-11d0-85EB-00C04FD85AB4")
  3670. IMimeBody : public IMimePropertySet
  3671. {
  3672. public:
  3673. virtual HRESULT STDMETHODCALLTYPE IsType(
  3674. /* [in] */ IMSGBODYTYPE bodytype) = 0;
  3675. virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
  3676. /* [in] */ LPCSTR pszDisplay) = 0;
  3677. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  3678. /* [out] */ LPSTR __RPC_FAR *ppszDisplay) = 0;
  3679. virtual HRESULT STDMETHODCALLTYPE GetOffsets(
  3680. /* [out] */ LPBODYOFFSETS pOffsets) = 0;
  3681. virtual HRESULT STDMETHODCALLTYPE GetCurrentEncoding(
  3682. /* [out] */ ENCODINGTYPE __RPC_FAR *pietEncoding) = 0;
  3683. virtual HRESULT STDMETHODCALLTYPE SetCurrentEncoding(
  3684. /* [in] */ ENCODINGTYPE ietEncoding) = 0;
  3685. virtual HRESULT STDMETHODCALLTYPE GetEstimatedSize(
  3686. /* [in] */ ENCODINGTYPE ietEncoding,
  3687. /* [out] */ ULONG __RPC_FAR *pcbSize) = 0;
  3688. virtual HRESULT STDMETHODCALLTYPE GetDataHere(
  3689. /* [in] */ ENCODINGTYPE ietEncoding,
  3690. /* [in] */ IStream __RPC_FAR *pStream) = 0;
  3691. virtual HRESULT STDMETHODCALLTYPE GetData(
  3692. /* [in] */ ENCODINGTYPE ietEncoding,
  3693. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream) = 0;
  3694. virtual HRESULT STDMETHODCALLTYPE SetData(
  3695. /* [in] */ ENCODINGTYPE ietEncoding,
  3696. /* [in] */ LPCSTR pszPriType,
  3697. /* [in] */ LPCSTR pszSubType,
  3698. /* [in] */ REFIID riid,
  3699. /* [iid_is][in] */ LPVOID pvObject) = 0;
  3700. virtual HRESULT STDMETHODCALLTYPE EmptyData( void) = 0;
  3701. virtual HRESULT STDMETHODCALLTYPE CopyTo(
  3702. /* [in] */ IMimeBody __RPC_FAR *pBody) = 0;
  3703. virtual HRESULT STDMETHODCALLTYPE GetTransmitInfo(
  3704. /* [out][in] */ LPTRANSMITINFO pTransmitInfo) = 0;
  3705. virtual HRESULT STDMETHODCALLTYPE SaveToFile(
  3706. /* [in] */ ENCODINGTYPE ietEncoding,
  3707. /* [in] */ LPCSTR pszFilePath) = 0;
  3708. virtual HRESULT STDMETHODCALLTYPE GetHandle(
  3709. /* [out] */ LPHBODY phBody) = 0;
  3710. };
  3711. #else /* C style interface */
  3712. typedef struct IMimeBodyVtbl
  3713. {
  3714. BEGIN_INTERFACE
  3715. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3716. IMimeBody __RPC_FAR * This,
  3717. /* [in] */ REFIID riid,
  3718. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3719. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3720. IMimeBody __RPC_FAR * This);
  3721. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3722. IMimeBody __RPC_FAR * This);
  3723. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )(
  3724. IMimeBody __RPC_FAR * This,
  3725. /* [out] */ CLSID __RPC_FAR *pClassID);
  3726. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )(
  3727. IMimeBody __RPC_FAR * This);
  3728. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )(
  3729. IMimeBody __RPC_FAR * This,
  3730. /* [in] */ LPSTREAM pStm);
  3731. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )(
  3732. IMimeBody __RPC_FAR * This,
  3733. /* [in] */ LPSTREAM pStm,
  3734. /* [in] */ BOOL fClearDirty);
  3735. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )(
  3736. IMimeBody __RPC_FAR * This,
  3737. /* [out] */ ULARGE_INTEGER __RPC_FAR *pCbSize);
  3738. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )(
  3739. IMimeBody __RPC_FAR * This);
  3740. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropInfo )(
  3741. IMimeBody __RPC_FAR * This,
  3742. /* [in] */ LPCSTR pszName,
  3743. /* [out][in] */ LPMIMEPROPINFO pInfo);
  3744. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPropInfo )(
  3745. IMimeBody __RPC_FAR * This,
  3746. /* [in] */ LPCSTR pszName,
  3747. /* [in] */ LPMIMEPROPINFO pInfo);
  3748. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProp )(
  3749. IMimeBody __RPC_FAR * This,
  3750. /* [in] */ LPCSTR pszName,
  3751. /* [in] */ DWORD dwFlags,
  3752. /* [out][in] */ LPPROPVARIANT pValue);
  3753. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProp )(
  3754. IMimeBody __RPC_FAR * This,
  3755. /* [in] */ LPCSTR pszName,
  3756. /* [in] */ DWORD dwFlags,
  3757. /* [in] */ LPPROPVARIANT pValue);
  3758. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendProp )(
  3759. IMimeBody __RPC_FAR * This,
  3760. /* [in] */ LPCSTR pszName,
  3761. /* [in] */ DWORD dwFlags,
  3762. /* [in] */ LPPROPVARIANT pValue);
  3763. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteProp )(
  3764. IMimeBody __RPC_FAR * This,
  3765. /* [in] */ LPCSTR pszName);
  3766. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyProps )(
  3767. IMimeBody __RPC_FAR * This,
  3768. /* [in] */ ULONG cNames,
  3769. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  3770. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet);
  3771. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveProps )(
  3772. IMimeBody __RPC_FAR * This,
  3773. /* [in] */ ULONG cNames,
  3774. /* [in] */ LPCSTR __RPC_FAR *prgszName,
  3775. /* [in] */ IMimePropertySet __RPC_FAR *pPropertySet);
  3776. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteExcept )(
  3777. IMimeBody __RPC_FAR * This,
  3778. /* [in] */ ULONG cNames,
  3779. /* [in] */ LPCSTR __RPC_FAR *prgszName);
  3780. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryProp )(
  3781. IMimeBody __RPC_FAR * This,
  3782. /* [in] */ LPCSTR pszName,
  3783. /* [in] */ LPCSTR pszCriteria,
  3784. /* [in] */ boolean fSubString,
  3785. /* [in] */ boolean fCaseSensitive);
  3786. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCharset )(
  3787. IMimeBody __RPC_FAR * This,
  3788. /* [out] */ LPHCHARSET phCharset);
  3789. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCharset )(
  3790. IMimeBody __RPC_FAR * This,
  3791. /* [in] */ HCHARSET hCharset,
  3792. /* [in] */ CSETAPPLYTYPE applytype);
  3793. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParameters )(
  3794. IMimeBody __RPC_FAR * This,
  3795. /* [in] */ LPCSTR pszName,
  3796. /* [out] */ ULONG __RPC_FAR *pcParams,
  3797. /* [out] */ LPMIMEPARAMINFO __RPC_FAR *pprgParam);
  3798. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsContentType )(
  3799. IMimeBody __RPC_FAR * This,
  3800. /* [in] */ LPCSTR pszPriType,
  3801. /* [in] */ LPCSTR pszSubType);
  3802. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )(
  3803. IMimeBody __RPC_FAR * This,
  3804. /* [in] */ REFIID riid,
  3805. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3806. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  3807. IMimeBody __RPC_FAR * This,
  3808. /* [out] */ IMimePropertySet __RPC_FAR *__RPC_FAR *ppPropertySet);
  3809. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOption )(
  3810. IMimeBody __RPC_FAR * This,
  3811. /* [in] */ TYPEDID oid,
  3812. /* [in] */ LPPROPVARIANT pValue);
  3813. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOption )(
  3814. IMimeBody __RPC_FAR * This,
  3815. /* [in] */ TYPEDID oid,
  3816. /* [out][in] */ LPPROPVARIANT pValue);
  3817. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumProps )(
  3818. IMimeBody __RPC_FAR * This,
  3819. /* [in] */ DWORD dwFlags,
  3820. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum);
  3821. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsType )(
  3822. IMimeBody __RPC_FAR * This,
  3823. /* [in] */ IMSGBODYTYPE bodytype);
  3824. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDisplayName )(
  3825. IMimeBody __RPC_FAR * This,
  3826. /* [in] */ LPCSTR pszDisplay);
  3827. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDisplayName )(
  3828. IMimeBody __RPC_FAR * This,
  3829. /* [out] */ LPSTR __RPC_FAR *ppszDisplay);
  3830. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOffsets )(
  3831. IMimeBody __RPC_FAR * This,
  3832. /* [out] */ LPBODYOFFSETS pOffsets);
  3833. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentEncoding )(
  3834. IMimeBody __RPC_FAR * This,
  3835. /* [out] */ ENCODINGTYPE __RPC_FAR *pietEncoding);
  3836. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCurrentEncoding )(
  3837. IMimeBody __RPC_FAR * This,
  3838. /* [in] */ ENCODINGTYPE ietEncoding);
  3839. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEstimatedSize )(
  3840. IMimeBody __RPC_FAR * This,
  3841. /* [in] */ ENCODINGTYPE ietEncoding,
  3842. /* [out] */ ULONG __RPC_FAR *pcbSize);
  3843. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataHere )(
  3844. IMimeBody __RPC_FAR * This,
  3845. /* [in] */ ENCODINGTYPE ietEncoding,
  3846. /* [in] */ IStream __RPC_FAR *pStream);
  3847. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )(
  3848. IMimeBody __RPC_FAR * This,
  3849. /* [in] */ ENCODINGTYPE ietEncoding,
  3850. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream);
  3851. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )(
  3852. IMimeBody __RPC_FAR * This,
  3853. /* [in] */ ENCODINGTYPE ietEncoding,
  3854. /* [in] */ LPCSTR pszPriType,
  3855. /* [in] */ LPCSTR pszSubType,
  3856. /* [in] */ REFIID riid,
  3857. /* [iid_is][in] */ LPVOID pvObject);
  3858. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EmptyData )(
  3859. IMimeBody __RPC_FAR * This);
  3860. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )(
  3861. IMimeBody __RPC_FAR * This,
  3862. /* [in] */ IMimeBody __RPC_FAR *pBody);
  3863. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransmitInfo )(
  3864. IMimeBody __RPC_FAR * This,
  3865. /* [out][in] */ LPTRANSMITINFO pTransmitInfo);
  3866. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveToFile )(
  3867. IMimeBody __RPC_FAR * This,
  3868. /* [in] */ ENCODINGTYPE ietEncoding,
  3869. /* [in] */ LPCSTR pszFilePath);
  3870. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHandle )(
  3871. IMimeBody __RPC_FAR * This,
  3872. /* [out] */ LPHBODY phBody);
  3873. END_INTERFACE
  3874. } IMimeBodyVtbl;
  3875. interface IMimeBody
  3876. {
  3877. CONST_VTBL struct IMimeBodyVtbl __RPC_FAR *lpVtbl;
  3878. };
  3879. #ifdef COBJMACROS
  3880. #define IMimeBody_QueryInterface(This,riid,ppvObject) \
  3881. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3882. #define IMimeBody_AddRef(This) \
  3883. (This)->lpVtbl -> AddRef(This)
  3884. #define IMimeBody_Release(This) \
  3885. (This)->lpVtbl -> Release(This)
  3886. #define IMimeBody_GetClassID(This,pClassID) \
  3887. (This)->lpVtbl -> GetClassID(This,pClassID)
  3888. #define IMimeBody_IsDirty(This) \
  3889. (This)->lpVtbl -> IsDirty(This)
  3890. #define IMimeBody_Load(This,pStm) \
  3891. (This)->lpVtbl -> Load(This,pStm)
  3892. #define IMimeBody_Save(This,pStm,fClearDirty) \
  3893. (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  3894. #define IMimeBody_GetSizeMax(This,pCbSize) \
  3895. (This)->lpVtbl -> GetSizeMax(This,pCbSize)
  3896. #define IMimeBody_InitNew(This) \
  3897. (This)->lpVtbl -> InitNew(This)
  3898. #define IMimeBody_GetPropInfo(This,pszName,pInfo) \
  3899. (This)->lpVtbl -> GetPropInfo(This,pszName,pInfo)
  3900. #define IMimeBody_SetPropInfo(This,pszName,pInfo) \
  3901. (This)->lpVtbl -> SetPropInfo(This,pszName,pInfo)
  3902. #define IMimeBody_GetProp(This,pszName,dwFlags,pValue) \
  3903. (This)->lpVtbl -> GetProp(This,pszName,dwFlags,pValue)
  3904. #define IMimeBody_SetProp(This,pszName,dwFlags,pValue) \
  3905. (This)->lpVtbl -> SetProp(This,pszName,dwFlags,pValue)
  3906. #define IMimeBody_AppendProp(This,pszName,dwFlags,pValue) \
  3907. (This)->lpVtbl -> AppendProp(This,pszName,dwFlags,pValue)
  3908. #define IMimeBody_DeleteProp(This,pszName) \
  3909. (This)->lpVtbl -> DeleteProp(This,pszName)
  3910. #define IMimeBody_CopyProps(This,cNames,prgszName,pPropertySet) \
  3911. (This)->lpVtbl -> CopyProps(This,cNames,prgszName,pPropertySet)
  3912. #define IMimeBody_MoveProps(This,cNames,prgszName,pPropertySet) \
  3913. (This)->lpVtbl -> MoveProps(This,cNames,prgszName,pPropertySet)
  3914. #define IMimeBody_DeleteExcept(This,cNames,prgszName) \
  3915. (This)->lpVtbl -> DeleteExcept(This,cNames,prgszName)
  3916. #define IMimeBody_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) \
  3917. (This)->lpVtbl -> QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive)
  3918. #define IMimeBody_GetCharset(This,phCharset) \
  3919. (This)->lpVtbl -> GetCharset(This,phCharset)
  3920. #define IMimeBody_SetCharset(This,hCharset,applytype) \
  3921. (This)->lpVtbl -> SetCharset(This,hCharset,applytype)
  3922. #define IMimeBody_GetParameters(This,pszName,pcParams,pprgParam) \
  3923. (This)->lpVtbl -> GetParameters(This,pszName,pcParams,pprgParam)
  3924. #define IMimeBody_IsContentType(This,pszPriType,pszSubType) \
  3925. (This)->lpVtbl -> IsContentType(This,pszPriType,pszSubType)
  3926. #define IMimeBody_BindToObject(This,riid,ppvObject) \
  3927. (This)->lpVtbl -> BindToObject(This,riid,ppvObject)
  3928. #define IMimeBody_Clone(This,ppPropertySet) \
  3929. (This)->lpVtbl -> Clone(This,ppPropertySet)
  3930. #define IMimeBody_SetOption(This,oid,pValue) \
  3931. (This)->lpVtbl -> SetOption(This,oid,pValue)
  3932. #define IMimeBody_GetOption(This,oid,pValue) \
  3933. (This)->lpVtbl -> GetOption(This,oid,pValue)
  3934. #define IMimeBody_EnumProps(This,dwFlags,ppEnum) \
  3935. (This)->lpVtbl -> EnumProps(This,dwFlags,ppEnum)
  3936. #define IMimeBody_IsType(This,bodytype) \
  3937. (This)->lpVtbl -> IsType(This,bodytype)
  3938. #define IMimeBody_SetDisplayName(This,pszDisplay) \
  3939. (This)->lpVtbl -> SetDisplayName(This,pszDisplay)
  3940. #define IMimeBody_GetDisplayName(This,ppszDisplay) \
  3941. (This)->lpVtbl -> GetDisplayName(This,ppszDisplay)
  3942. #define IMimeBody_GetOffsets(This,pOffsets) \
  3943. (This)->lpVtbl -> GetOffsets(This,pOffsets)
  3944. #define IMimeBody_GetCurrentEncoding(This,pietEncoding) \
  3945. (This)->lpVtbl -> GetCurrentEncoding(This,pietEncoding)
  3946. #define IMimeBody_SetCurrentEncoding(This,ietEncoding) \
  3947. (This)->lpVtbl -> SetCurrentEncoding(This,ietEncoding)
  3948. #define IMimeBody_GetEstimatedSize(This,ietEncoding,pcbSize) \
  3949. (This)->lpVtbl -> GetEstimatedSize(This,ietEncoding,pcbSize)
  3950. #define IMimeBody_GetDataHere(This,ietEncoding,pStream) \
  3951. (This)->lpVtbl -> GetDataHere(This,ietEncoding,pStream)
  3952. #define IMimeBody_GetData(This,ietEncoding,ppStream) \
  3953. (This)->lpVtbl -> GetData(This,ietEncoding,ppStream)
  3954. #define IMimeBody_SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject) \
  3955. (This)->lpVtbl -> SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject)
  3956. #define IMimeBody_EmptyData(This) \
  3957. (This)->lpVtbl -> EmptyData(This)
  3958. #define IMimeBody_CopyTo(This,pBody) \
  3959. (This)->lpVtbl -> CopyTo(This,pBody)
  3960. #define IMimeBody_GetTransmitInfo(This,pTransmitInfo) \
  3961. (This)->lpVtbl -> GetTransmitInfo(This,pTransmitInfo)
  3962. #define IMimeBody_SaveToFile(This,ietEncoding,pszFilePath) \
  3963. (This)->lpVtbl -> SaveToFile(This,ietEncoding,pszFilePath)
  3964. #define IMimeBody_GetHandle(This,phBody) \
  3965. (This)->lpVtbl -> GetHandle(This,phBody)
  3966. #endif /* COBJMACROS */
  3967. #endif /* C style interface */
  3968. HRESULT STDMETHODCALLTYPE IMimeBody_IsType_Proxy(
  3969. IMimeBody __RPC_FAR * This,
  3970. /* [in] */ IMSGBODYTYPE bodytype);
  3971. void __RPC_STUB IMimeBody_IsType_Stub(
  3972. IRpcStubBuffer *This,
  3973. IRpcChannelBuffer *_pRpcChannelBuffer,
  3974. PRPC_MESSAGE _pRpcMessage,
  3975. DWORD *_pdwStubPhase);
  3976. HRESULT STDMETHODCALLTYPE IMimeBody_SetDisplayName_Proxy(
  3977. IMimeBody __RPC_FAR * This,
  3978. /* [in] */ LPCSTR pszDisplay);
  3979. void __RPC_STUB IMimeBody_SetDisplayName_Stub(
  3980. IRpcStubBuffer *This,
  3981. IRpcChannelBuffer *_pRpcChannelBuffer,
  3982. PRPC_MESSAGE _pRpcMessage,
  3983. DWORD *_pdwStubPhase);
  3984. HRESULT STDMETHODCALLTYPE IMimeBody_GetDisplayName_Proxy(
  3985. IMimeBody __RPC_FAR * This,
  3986. /* [out] */ LPSTR __RPC_FAR *ppszDisplay);
  3987. void __RPC_STUB IMimeBody_GetDisplayName_Stub(
  3988. IRpcStubBuffer *This,
  3989. IRpcChannelBuffer *_pRpcChannelBuffer,
  3990. PRPC_MESSAGE _pRpcMessage,
  3991. DWORD *_pdwStubPhase);
  3992. HRESULT STDMETHODCALLTYPE IMimeBody_GetOffsets_Proxy(
  3993. IMimeBody __RPC_FAR * This,
  3994. /* [out] */ LPBODYOFFSETS pOffsets);
  3995. void __RPC_STUB IMimeBody_GetOffsets_Stub(
  3996. IRpcStubBuffer *This,
  3997. IRpcChannelBuffer *_pRpcChannelBuffer,
  3998. PRPC_MESSAGE _pRpcMessage,
  3999. DWORD *_pdwStubPhase);
  4000. HRESULT STDMETHODCALLTYPE IMimeBody_GetCurrentEncoding_Proxy(
  4001. IMimeBody __RPC_FAR * This,
  4002. /* [out] */ ENCODINGTYPE __RPC_FAR *pietEncoding);
  4003. void __RPC_STUB IMimeBody_GetCurrentEncoding_Stub(
  4004. IRpcStubBuffer *This,
  4005. IRpcChannelBuffer *_pRpcChannelBuffer,
  4006. PRPC_MESSAGE _pRpcMessage,
  4007. DWORD *_pdwStubPhase);
  4008. HRESULT STDMETHODCALLTYPE IMimeBody_SetCurrentEncoding_Proxy(
  4009. IMimeBody __RPC_FAR * This,
  4010. /* [in] */ ENCODINGTYPE ietEncoding);
  4011. void __RPC_STUB IMimeBody_SetCurrentEncoding_Stub(
  4012. IRpcStubBuffer *This,
  4013. IRpcChannelBuffer *_pRpcChannelBuffer,
  4014. PRPC_MESSAGE _pRpcMessage,
  4015. DWORD *_pdwStubPhase);
  4016. HRESULT STDMETHODCALLTYPE IMimeBody_GetEstimatedSize_Proxy(
  4017. IMimeBody __RPC_FAR * This,
  4018. /* [in] */ ENCODINGTYPE ietEncoding,
  4019. /* [out] */ ULONG __RPC_FAR *pcbSize);
  4020. void __RPC_STUB IMimeBody_GetEstimatedSize_Stub(
  4021. IRpcStubBuffer *This,
  4022. IRpcChannelBuffer *_pRpcChannelBuffer,
  4023. PRPC_MESSAGE _pRpcMessage,
  4024. DWORD *_pdwStubPhase);
  4025. HRESULT STDMETHODCALLTYPE IMimeBody_GetDataHere_Proxy(
  4026. IMimeBody __RPC_FAR * This,
  4027. /* [in] */ ENCODINGTYPE ietEncoding,
  4028. /* [in] */ IStream __RPC_FAR *pStream);
  4029. void __RPC_STUB IMimeBody_GetDataHere_Stub(
  4030. IRpcStubBuffer *This,
  4031. IRpcChannelBuffer *_pRpcChannelBuffer,
  4032. PRPC_MESSAGE _pRpcMessage,
  4033. DWORD *_pdwStubPhase);
  4034. HRESULT STDMETHODCALLTYPE IMimeBody_GetData_Proxy(
  4035. IMimeBody __RPC_FAR * This,
  4036. /* [in] */ ENCODINGTYPE ietEncoding,
  4037. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream);
  4038. void __RPC_STUB IMimeBody_GetData_Stub(
  4039. IRpcStubBuffer *This,
  4040. IRpcChannelBuffer *_pRpcChannelBuffer,
  4041. PRPC_MESSAGE _pRpcMessage,
  4042. DWORD *_pdwStubPhase);
  4043. HRESULT STDMETHODCALLTYPE IMimeBody_SetData_Proxy(
  4044. IMimeBody __RPC_FAR * This,
  4045. /* [in] */ ENCODINGTYPE ietEncoding,
  4046. /* [in] */ LPCSTR pszPriType,
  4047. /* [in] */ LPCSTR pszSubType,
  4048. /* [in] */ REFIID riid,
  4049. /* [iid_is][in] */ LPVOID pvObject);
  4050. void __RPC_STUB IMimeBody_SetData_Stub(
  4051. IRpcStubBuffer *This,
  4052. IRpcChannelBuffer *_pRpcChannelBuffer,
  4053. PRPC_MESSAGE _pRpcMessage,
  4054. DWORD *_pdwStubPhase);
  4055. HRESULT STDMETHODCALLTYPE IMimeBody_EmptyData_Proxy(
  4056. IMimeBody __RPC_FAR * This);
  4057. void __RPC_STUB IMimeBody_EmptyData_Stub(
  4058. IRpcStubBuffer *This,
  4059. IRpcChannelBuffer *_pRpcChannelBuffer,
  4060. PRPC_MESSAGE _pRpcMessage,
  4061. DWORD *_pdwStubPhase);
  4062. HRESULT STDMETHODCALLTYPE IMimeBody_CopyTo_Proxy(
  4063. IMimeBody __RPC_FAR * This,
  4064. /* [in] */ IMimeBody __RPC_FAR *pBody);
  4065. void __RPC_STUB IMimeBody_CopyTo_Stub(
  4066. IRpcStubBuffer *This,
  4067. IRpcChannelBuffer *_pRpcChannelBuffer,
  4068. PRPC_MESSAGE _pRpcMessage,
  4069. DWORD *_pdwStubPhase);
  4070. HRESULT STDMETHODCALLTYPE IMimeBody_GetTransmitInfo_Proxy(
  4071. IMimeBody __RPC_FAR * This,
  4072. /* [out][in] */ LPTRANSMITINFO pTransmitInfo);
  4073. void __RPC_STUB IMimeBody_GetTransmitInfo_Stub(
  4074. IRpcStubBuffer *This,
  4075. IRpcChannelBuffer *_pRpcChannelBuffer,
  4076. PRPC_MESSAGE _pRpcMessage,
  4077. DWORD *_pdwStubPhase);
  4078. HRESULT STDMETHODCALLTYPE IMimeBody_SaveToFile_Proxy(
  4079. IMimeBody __RPC_FAR * This,
  4080. /* [in] */ ENCODINGTYPE ietEncoding,
  4081. /* [in] */ LPCSTR pszFilePath);
  4082. void __RPC_STUB IMimeBody_SaveToFile_Stub(
  4083. IRpcStubBuffer *This,
  4084. IRpcChannelBuffer *_pRpcChannelBuffer,
  4085. PRPC_MESSAGE _pRpcMessage,
  4086. DWORD *_pdwStubPhase);
  4087. HRESULT STDMETHODCALLTYPE IMimeBody_GetHandle_Proxy(
  4088. IMimeBody __RPC_FAR * This,
  4089. /* [out] */ LPHBODY phBody);
  4090. void __RPC_STUB IMimeBody_GetHandle_Stub(
  4091. IRpcStubBuffer *This,
  4092. IRpcChannelBuffer *_pRpcChannelBuffer,
  4093. PRPC_MESSAGE _pRpcMessage,
  4094. DWORD *_pdwStubPhase);
  4095. #endif /* __IMimeBody_INTERFACE_DEFINED__ */
  4096. #ifndef __IMimeMessageTree_INTERFACE_DEFINED__
  4097. #define __IMimeMessageTree_INTERFACE_DEFINED__
  4098. /****************************************
  4099. * Generated header for interface: IMimeMessageTree
  4100. * at Mon May 12 23:53:20 1997
  4101. * using MIDL 3.02.88
  4102. ****************************************/
  4103. /* [object][helpstring][uuid] */
  4104. typedef /* [unique] */ IMimeMessageTree __RPC_FAR *LPMIMEMESSAGETREE;
  4105. #define HBODY_ROOT ( ( HBODY )0xffffffff )
  4106. typedef
  4107. enum tagBODYLOCATION
  4108. { IBL_ROOT = 0,
  4109. IBL_PARENT = IBL_ROOT + 1,
  4110. IBL_FIRST = IBL_PARENT + 1,
  4111. IBL_LAST = IBL_FIRST + 1,
  4112. IBL_NEXT = IBL_LAST + 1,
  4113. IBL_PREVIOUS = IBL_NEXT + 1
  4114. } BODYLOCATION;
  4115. typedef
  4116. enum tagBODYDELETEFLAGS
  4117. { DELETE_PROMOTE_CHILDREN = 0x1
  4118. } BODYDELETEFLAGS;
  4119. typedef struct tagFINDBODY
  4120. {
  4121. LPSTR pszPriType;
  4122. LPSTR pszSubType;
  4123. DWORD dwReserved;
  4124. } FINDBODY;
  4125. typedef struct tagFINDBODY __RPC_FAR *LPFINDBODY;
  4126. EXTERN_C const IID IID_IMimeMessageTree;
  4127. #if defined(__cplusplus) && !defined(CINTERFACE)
  4128. interface DECLSPEC_UUID("6AD6A206-C19B-11d0-85EB-00C04FD85AB4")
  4129. IMimeMessageTree : public IPersistStreamInit
  4130. {
  4131. public:
  4132. virtual HRESULT STDMETHODCALLTYPE CreateRootMoniker(
  4133. /* [in] */ IStream __RPC_FAR *pStream,
  4134. /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker) = 0;
  4135. virtual HRESULT STDMETHODCALLTYPE GetMessageSource(
  4136. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  4137. /* [in] */ boolean fCommitIfDirty) = 0;
  4138. virtual HRESULT STDMETHODCALLTYPE GetMessageSize(
  4139. /* [out] */ ULONG __RPC_FAR *pcbSize,
  4140. /* [in] */ boolean fCommitIfDirty) = 0;
  4141. virtual HRESULT STDMETHODCALLTYPE LoadOffsetTable(
  4142. /* [in] */ IStream __RPC_FAR *pStream) = 0;
  4143. virtual HRESULT STDMETHODCALLTYPE SaveOffsetTable(
  4144. /* [in] */ IStream __RPC_FAR *pStream,
  4145. /* [in] */ boolean fCommitIfDirty) = 0;
  4146. virtual HRESULT STDMETHODCALLTYPE GetFlags(
  4147. /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  4148. virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  4149. virtual HRESULT STDMETHODCALLTYPE HandsOffStorage( void) = 0;
  4150. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  4151. /* [in] */ HBODY hBody,
  4152. /* [in] */ REFIID riid,
  4153. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  4154. virtual HRESULT STDMETHODCALLTYPE InsertBody(
  4155. /* [in] */ BODYLOCATION location,
  4156. /* [in] */ HBODY hPivot,
  4157. /* [out] */ LPHBODY phBody) = 0;
  4158. virtual HRESULT STDMETHODCALLTYPE GetBody(
  4159. /* [in] */ BODYLOCATION location,
  4160. /* [in] */ HBODY hPivot,
  4161. /* [out] */ LPHBODY phBody) = 0;
  4162. virtual HRESULT STDMETHODCALLTYPE DeleteBody(
  4163. /* [in] */ HBODY hBody,
  4164. /* [in] */ DWORD dwFlags) = 0;
  4165. virtual HRESULT STDMETHODCALLTYPE MoveBody(
  4166. /* [in] */ HBODY hBody,
  4167. /* [in] */ BODYLOCATION location) = 0;
  4168. virtual HRESULT STDMETHODCALLTYPE CountBodies(
  4169. /* [in] */ HBODY hParent,
  4170. /* [in] */ boolean fRecurse,
  4171. /* [out] */ ULONG __RPC_FAR *pcBodies) = 0;
  4172. virtual HRESULT STDMETHODCALLTYPE FindFirst(
  4173. /* [out][in] */ LPFINDBODY pFindBody,
  4174. /* [out] */ LPHBODY phBody) = 0;
  4175. virtual HRESULT STDMETHODCALLTYPE FindNext(
  4176. /* [out][in] */ LPFINDBODY pFindBody,
  4177. /* [out] */ LPHBODY phBody) = 0;
  4178. virtual HRESULT STDMETHODCALLTYPE ResolveURL(
  4179. /* [in] */ HBODY hRelated,
  4180. /* [in] */ LPCSTR pszBase,
  4181. /* [in] */ LPCSTR pszURL,
  4182. /* [in] */ DWORD dwFlags,
  4183. /* [out] */ LPHBODY phBody) = 0;
  4184. virtual HRESULT STDMETHODCALLTYPE ToMultipart(
  4185. /* [in] */ HBODY hBody,
  4186. /* [in] */ LPCSTR pszSubType,
  4187. /* [out] */ LPHBODY phMultipart) = 0;
  4188. virtual HRESULT STDMETHODCALLTYPE GetBodyOffsets(
  4189. /* [in] */ HBODY hBody,
  4190. /* [out][in] */ LPBODYOFFSETS pOffsets) = 0;
  4191. virtual HRESULT STDMETHODCALLTYPE GetCharset(
  4192. /* [out] */ LPHCHARSET phCharset) = 0;
  4193. virtual HRESULT STDMETHODCALLTYPE SetCharset(
  4194. /* [in] */ HCHARSET hCharset,
  4195. /* [in] */ CSETAPPLYTYPE applytype) = 0;
  4196. virtual HRESULT STDMETHODCALLTYPE IsBodyType(
  4197. /* [in] */ HBODY hBody,
  4198. /* [in] */ IMSGBODYTYPE bodytype) = 0;
  4199. virtual HRESULT STDMETHODCALLTYPE IsContentType(
  4200. /* [in] */ HBODY hBody,
  4201. /* [in] */ LPCSTR pszPriType,
  4202. /* [in] */ LPCSTR pszSubType) = 0;
  4203. virtual HRESULT STDMETHODCALLTYPE QueryBodyProp(
  4204. /* [in] */ HBODY hBody,
  4205. /* [in] */ LPCSTR pszName,
  4206. /* [in] */ LPCSTR pszCriteria,
  4207. /* [in] */ boolean fSubString,
  4208. /* [in] */ boolean fCaseSensitive) = 0;
  4209. virtual HRESULT STDMETHODCALLTYPE GetBodyProp(
  4210. /* [in] */ HBODY hBody,
  4211. /* [in] */ LPCSTR pszName,
  4212. /* [in] */ DWORD dwFlags,
  4213. /* [out][in] */ LPPROPVARIANT pValue) = 0;
  4214. virtual HRESULT STDMETHODCALLTYPE SetBodyProp(
  4215. /* [in] */ HBODY hBody,
  4216. /* [in] */ LPCSTR pszName,
  4217. /* [in] */ DWORD dwFlags,
  4218. /* [in] */ LPPROPVARIANT pValue) = 0;
  4219. virtual HRESULT STDMETHODCALLTYPE DeleteBodyProp(
  4220. /* [in] */ HBODY hBody,
  4221. /* [in] */ LPCSTR pszName) = 0;
  4222. virtual HRESULT STDMETHODCALLTYPE SetOption(
  4223. /* [in] */ TYPEDID oid,
  4224. /* [in] */ LPPROPVARIANT pValue) = 0;
  4225. virtual HRESULT STDMETHODCALLTYPE GetOption(
  4226. /* [in] */ TYPEDID oid,
  4227. /* [out][in] */ LPPROPVARIANT pValue) = 0;
  4228. };
  4229. #else /* C style interface */
  4230. typedef struct IMimeMessageTreeVtbl
  4231. {
  4232. BEGIN_INTERFACE
  4233. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4234. IMimeMessageTree __RPC_FAR * This,
  4235. /* [in] */ REFIID riid,
  4236. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4237. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4238. IMimeMessageTree __RPC_FAR * This);
  4239. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4240. IMimeMessageTree __RPC_FAR * This);
  4241. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )(
  4242. IMimeMessageTree __RPC_FAR * This,
  4243. /* [out] */ CLSID __RPC_FAR *pClassID);
  4244. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )(
  4245. IMimeMessageTree __RPC_FAR * This);
  4246. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )(
  4247. IMimeMessageTree __RPC_FAR * This,
  4248. /* [in] */ LPSTREAM pStm);
  4249. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )(
  4250. IMimeMessageTree __RPC_FAR * This,
  4251. /* [in] */ LPSTREAM pStm,
  4252. /* [in] */ BOOL fClearDirty);
  4253. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )(
  4254. IMimeMessageTree __RPC_FAR * This,
  4255. /* [out] */ ULARGE_INTEGER __RPC_FAR *pCbSize);
  4256. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )(
  4257. IMimeMessageTree __RPC_FAR * This);
  4258. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateRootMoniker )(
  4259. IMimeMessageTree __RPC_FAR * This,
  4260. /* [in] */ IStream __RPC_FAR *pStream,
  4261. /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker);
  4262. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMessageSource )(
  4263. IMimeMessageTree __RPC_FAR * This,
  4264. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  4265. /* [in] */ boolean fCommitIfDirty);
  4266. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMessageSize )(
  4267. IMimeMessageTree __RPC_FAR * This,
  4268. /* [out] */ ULONG __RPC_FAR *pcbSize,
  4269. /* [in] */ boolean fCommitIfDirty);
  4270. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadOffsetTable )(
  4271. IMimeMessageTree __RPC_FAR * This,
  4272. /* [in] */ IStream __RPC_FAR *pStream);
  4273. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveOffsetTable )(
  4274. IMimeMessageTree __RPC_FAR * This,
  4275. /* [in] */ IStream __RPC_FAR *pStream,
  4276. /* [in] */ boolean fCommitIfDirty);
  4277. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )(
  4278. IMimeMessageTree __RPC_FAR * This,
  4279. /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4280. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )(
  4281. IMimeMessageTree __RPC_FAR * This);
  4282. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HandsOffStorage )(
  4283. IMimeMessageTree __RPC_FAR * This);
  4284. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )(
  4285. IMimeMessageTree __RPC_FAR * This,
  4286. /* [in] */ HBODY hBody,
  4287. /* [in] */ REFIID riid,
  4288. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4289. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertBody )(
  4290. IMimeMessageTree __RPC_FAR * This,
  4291. /* [in] */ BODYLOCATION location,
  4292. /* [in] */ HBODY hPivot,
  4293. /* [out] */ LPHBODY phBody);
  4294. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBody )(
  4295. IMimeMessageTree __RPC_FAR * This,
  4296. /* [in] */ BODYLOCATION location,
  4297. /* [in] */ HBODY hPivot,
  4298. /* [out] */ LPHBODY phBody);
  4299. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteBody )(
  4300. IMimeMessageTree __RPC_FAR * This,
  4301. /* [in] */ HBODY hBody,
  4302. /* [in] */ DWORD dwFlags);
  4303. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveBody )(
  4304. IMimeMessageTree __RPC_FAR * This,
  4305. /* [in] */ HBODY hBody,
  4306. /* [in] */ BODYLOCATION location);
  4307. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CountBodies )(
  4308. IMimeMessageTree __RPC_FAR * This,
  4309. /* [in] */ HBODY hParent,
  4310. /* [in] */ boolean fRecurse,
  4311. /* [out] */ ULONG __RPC_FAR *pcBodies);
  4312. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFirst )(
  4313. IMimeMessageTree __RPC_FAR * This,
  4314. /* [out][in] */ LPFINDBODY pFindBody,
  4315. /* [out] */ LPHBODY phBody);
  4316. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindNext )(
  4317. IMimeMessageTree __RPC_FAR * This,
  4318. /* [out][in] */ LPFINDBODY pFindBody,
  4319. /* [out] */ LPHBODY phBody);
  4320. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResolveURL )(
  4321. IMimeMessageTree __RPC_FAR * This,
  4322. /* [in] */ HBODY hRelated,
  4323. /* [in] */ LPCSTR pszBase,
  4324. /* [in] */ LPCSTR pszURL,
  4325. /* [in] */ DWORD dwFlags,
  4326. /* [out] */ LPHBODY phBody);
  4327. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ToMultipart )(
  4328. IMimeMessageTree __RPC_FAR * This,
  4329. /* [in] */ HBODY hBody,
  4330. /* [in] */ LPCSTR pszSubType,
  4331. /* [out] */ LPHBODY phMultipart);
  4332. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBodyOffsets )(
  4333. IMimeMessageTree __RPC_FAR * This,
  4334. /* [in] */ HBODY hBody,
  4335. /* [out][in] */ LPBODYOFFSETS pOffsets);
  4336. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCharset )(
  4337. IMimeMessageTree __RPC_FAR * This,
  4338. /* [out] */ LPHCHARSET phCharset);
  4339. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCharset )(
  4340. IMimeMessageTree __RPC_FAR * This,
  4341. /* [in] */ HCHARSET hCharset,
  4342. /* [in] */ CSETAPPLYTYPE applytype);
  4343. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsBodyType )(
  4344. IMimeMessageTree __RPC_FAR * This,
  4345. /* [in] */ HBODY hBody,
  4346. /* [in] */ IMSGBODYTYPE bodytype);
  4347. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsContentType )(
  4348. IMimeMessageTree __RPC_FAR * This,
  4349. /* [in] */ HBODY hBody,
  4350. /* [in] */ LPCSTR pszPriType,
  4351. /* [in] */ LPCSTR pszSubType);
  4352. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryBodyProp )(
  4353. IMimeMessageTree __RPC_FAR * This,
  4354. /* [in] */ HBODY hBody,
  4355. /* [in] */ LPCSTR pszName,
  4356. /* [in] */ LPCSTR pszCriteria,
  4357. /* [in] */ boolean fSubString,
  4358. /* [in] */ boolean fCaseSensitive);
  4359. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBodyProp )(
  4360. IMimeMessageTree __RPC_FAR * This,
  4361. /* [in] */ HBODY hBody,
  4362. /* [in] */ LPCSTR pszName,
  4363. /* [in] */ DWORD dwFlags,
  4364. /* [out][in] */ LPPROPVARIANT pValue);
  4365. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBodyProp )(
  4366. IMimeMessageTree __RPC_FAR * This,
  4367. /* [in] */ HBODY hBody,
  4368. /* [in] */ LPCSTR pszName,
  4369. /* [in] */ DWORD dwFlags,
  4370. /* [in] */ LPPROPVARIANT pValue);
  4371. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteBodyProp )(
  4372. IMimeMessageTree __RPC_FAR * This,
  4373. /* [in] */ HBODY hBody,
  4374. /* [in] */ LPCSTR pszName);
  4375. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOption )(
  4376. IMimeMessageTree __RPC_FAR * This,
  4377. /* [in] */ TYPEDID oid,
  4378. /* [in] */ LPPROPVARIANT pValue);
  4379. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOption )(
  4380. IMimeMessageTree __RPC_FAR * This,
  4381. /* [in] */ TYPEDID oid,
  4382. /* [out][in] */ LPPROPVARIANT pValue);
  4383. END_INTERFACE
  4384. } IMimeMessageTreeVtbl;
  4385. interface IMimeMessageTree
  4386. {
  4387. CONST_VTBL struct IMimeMessageTreeVtbl __RPC_FAR *lpVtbl;
  4388. };
  4389. #ifdef COBJMACROS
  4390. #define IMimeMessageTree_QueryInterface(This,riid,ppvObject) \
  4391. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4392. #define IMimeMessageTree_AddRef(This) \
  4393. (This)->lpVtbl -> AddRef(This)
  4394. #define IMimeMessageTree_Release(This) \
  4395. (This)->lpVtbl -> Release(This)
  4396. #define IMimeMessageTree_GetClassID(This,pClassID) \
  4397. (This)->lpVtbl -> GetClassID(This,pClassID)
  4398. #define IMimeMessageTree_IsDirty(This) \
  4399. (This)->lpVtbl -> IsDirty(This)
  4400. #define IMimeMessageTree_Load(This,pStm) \
  4401. (This)->lpVtbl -> Load(This,pStm)
  4402. #define IMimeMessageTree_Save(This,pStm,fClearDirty) \
  4403. (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  4404. #define IMimeMessageTree_GetSizeMax(This,pCbSize) \
  4405. (This)->lpVtbl -> GetSizeMax(This,pCbSize)
  4406. #define IMimeMessageTree_InitNew(This) \
  4407. (This)->lpVtbl -> InitNew(This)
  4408. #define IMimeMessageTree_CreateRootMoniker(This,pStream,ppMoniker) \
  4409. (This)->lpVtbl -> CreateRootMoniker(This,pStream,ppMoniker)
  4410. #define IMimeMessageTree_GetMessageSource(This,ppStream,fCommitIfDirty) \
  4411. (This)->lpVtbl -> GetMessageSource(This,ppStream,fCommitIfDirty)
  4412. #define IMimeMessageTree_GetMessageSize(This,pcbSize,fCommitIfDirty) \
  4413. (This)->lpVtbl -> GetMessageSize(This,pcbSize,fCommitIfDirty)
  4414. #define IMimeMessageTree_LoadOffsetTable(This,pStream) \
  4415. (This)->lpVtbl -> LoadOffsetTable(This,pStream)
  4416. #define IMimeMessageTree_SaveOffsetTable(This,pStream,fCommitIfDirty) \
  4417. (This)->lpVtbl -> SaveOffsetTable(This,pStream,fCommitIfDirty)
  4418. #define IMimeMessageTree_GetFlags(This,pdwFlags) \
  4419. (This)->lpVtbl -> GetFlags(This,pdwFlags)
  4420. #define IMimeMessageTree_Commit(This) \
  4421. (This)->lpVtbl -> Commit(This)
  4422. #define IMimeMessageTree_HandsOffStorage(This) \
  4423. (This)->lpVtbl -> HandsOffStorage(This)
  4424. #define IMimeMessageTree_BindToObject(This,hBody,riid,ppvObject) \
  4425. (This)->lpVtbl -> BindToObject(This,hBody,riid,ppvObject)
  4426. #define IMimeMessageTree_InsertBody(This,location,hPivot,phBody) \
  4427. (This)->lpVtbl -> InsertBody(This,location,hPivot,phBody)
  4428. #define IMimeMessageTree_GetBody(This,location,hPivot,phBody) \
  4429. (This)->lpVtbl -> GetBody(This,location,hPivot,phBody)
  4430. #define IMimeMessageTree_DeleteBody(This,hBody,dwFlags) \
  4431. (This)->lpVtbl -> DeleteBody(This,hBody,dwFlags)
  4432. #define IMimeMessageTree_MoveBody(This,hBody,location) \
  4433. (This)->lpVtbl -> MoveBody(This,hBody,location)
  4434. #define IMimeMessageTree_CountBodies(This,hParent,fRecurse,pcBodies) \
  4435. (This)->lpVtbl -> CountBodies(This,hParent,fRecurse,pcBodies)
  4436. #define IMimeMessageTree_FindFirst(This,pFindBody,phBody) \
  4437. (This)->lpVtbl -> FindFirst(This,pFindBody,phBody)
  4438. #define IMimeMessageTree_FindNext(This,pFindBody,phBody) \
  4439. (This)->lpVtbl -> FindNext(This,pFindBody,phBody)
  4440. #define IMimeMessageTree_ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) \
  4441. (This)->lpVtbl -> ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody)
  4442. #define IMimeMessageTree_ToMultipart(This,hBody,pszSubType,phMultipart) \
  4443. (This)->lpVtbl -> ToMultipart(This,hBody,pszSubType,phMultipart)
  4444. #define IMimeMessageTree_GetBodyOffsets(This,hBody,pOffsets) \
  4445. (This)->lpVtbl -> GetBodyOffsets(This,hBody,pOffsets)
  4446. #define IMimeMessageTree_GetCharset(This,phCharset) \
  4447. (This)->lpVtbl -> GetCharset(This,phCharset)
  4448. #define IMimeMessageTree_SetCharset(This,hCharset,applytype) \
  4449. (This)->lpVtbl -> SetCharset(This,hCharset,applytype)
  4450. #define IMimeMessageTree_IsBodyType(This,hBody,bodytype) \
  4451. (This)->lpVtbl -> IsBodyType(This,hBody,bodytype)
  4452. #define IMimeMessageTree_IsContentType(This,hBody,pszPriType,pszSubType) \
  4453. (This)->lpVtbl -> IsContentType(This,hBody,pszPriType,pszSubType)
  4454. #define IMimeMessageTree_QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) \
  4455. (This)->lpVtbl -> QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive)
  4456. #define IMimeMessageTree_GetBodyProp(This,hBody,pszName,dwFlags,pValue) \
  4457. (This)->lpVtbl -> GetBodyProp(This,hBody,pszName,dwFlags,pValue)
  4458. #define IMimeMessageTree_SetBodyProp(This,hBody,pszName,dwFlags,pValue) \
  4459. (This)->lpVtbl -> SetBodyProp(This,hBody,pszName,dwFlags,pValue)
  4460. #define IMimeMessageTree_DeleteBodyProp(This,hBody,pszName) \
  4461. (This)->lpVtbl -> DeleteBodyProp(This,hBody,pszName)
  4462. #define IMimeMessageTree_SetOption(This,oid,pValue) \
  4463. (This)->lpVtbl -> SetOption(This,oid,pValue)
  4464. #define IMimeMessageTree_GetOption(This,oid,pValue) \
  4465. (This)->lpVtbl -> GetOption(This,oid,pValue)
  4466. #endif /* COBJMACROS */
  4467. #endif /* C style interface */
  4468. HRESULT STDMETHODCALLTYPE IMimeMessageTree_CreateRootMoniker_Proxy(
  4469. IMimeMessageTree __RPC_FAR * This,
  4470. /* [in] */ IStream __RPC_FAR *pStream,
  4471. /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker);
  4472. void __RPC_STUB IMimeMessageTree_CreateRootMoniker_Stub(
  4473. IRpcStubBuffer *This,
  4474. IRpcChannelBuffer *_pRpcChannelBuffer,
  4475. PRPC_MESSAGE _pRpcMessage,
  4476. DWORD *_pdwStubPhase);
  4477. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetMessageSource_Proxy(
  4478. IMimeMessageTree __RPC_FAR * This,
  4479. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  4480. /* [in] */ boolean fCommitIfDirty);
  4481. void __RPC_STUB IMimeMessageTree_GetMessageSource_Stub(
  4482. IRpcStubBuffer *This,
  4483. IRpcChannelBuffer *_pRpcChannelBuffer,
  4484. PRPC_MESSAGE _pRpcMessage,
  4485. DWORD *_pdwStubPhase);
  4486. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetMessageSize_Proxy(
  4487. IMimeMessageTree __RPC_FAR * This,
  4488. /* [out] */ ULONG __RPC_FAR *pcbSize,
  4489. /* [in] */ boolean fCommitIfDirty);
  4490. void __RPC_STUB IMimeMessageTree_GetMessageSize_Stub(
  4491. IRpcStubBuffer *This,
  4492. IRpcChannelBuffer *_pRpcChannelBuffer,
  4493. PRPC_MESSAGE _pRpcMessage,
  4494. DWORD *_pdwStubPhase);
  4495. HRESULT STDMETHODCALLTYPE IMimeMessageTree_LoadOffsetTable_Proxy(
  4496. IMimeMessageTree __RPC_FAR * This,
  4497. /* [in] */ IStream __RPC_FAR *pStream);
  4498. void __RPC_STUB IMimeMessageTree_LoadOffsetTable_Stub(
  4499. IRpcStubBuffer *This,
  4500. IRpcChannelBuffer *_pRpcChannelBuffer,
  4501. PRPC_MESSAGE _pRpcMessage,
  4502. DWORD *_pdwStubPhase);
  4503. HRESULT STDMETHODCALLTYPE IMimeMessageTree_SaveOffsetTable_Proxy(
  4504. IMimeMessageTree __RPC_FAR * This,
  4505. /* [in] */ IStream __RPC_FAR *pStream,
  4506. /* [in] */ boolean fCommitIfDirty);
  4507. void __RPC_STUB IMimeMessageTree_SaveOffsetTable_Stub(
  4508. IRpcStubBuffer *This,
  4509. IRpcChannelBuffer *_pRpcChannelBuffer,
  4510. PRPC_MESSAGE _pRpcMessage,
  4511. DWORD *_pdwStubPhase);
  4512. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetFlags_Proxy(
  4513. IMimeMessageTree __RPC_FAR * This,
  4514. /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4515. void __RPC_STUB IMimeMessageTree_GetFlags_Stub(
  4516. IRpcStubBuffer *This,
  4517. IRpcChannelBuffer *_pRpcChannelBuffer,
  4518. PRPC_MESSAGE _pRpcMessage,
  4519. DWORD *_pdwStubPhase);
  4520. HRESULT STDMETHODCALLTYPE IMimeMessageTree_Commit_Proxy(
  4521. IMimeMessageTree __RPC_FAR * This);
  4522. void __RPC_STUB IMimeMessageTree_Commit_Stub(
  4523. IRpcStubBuffer *This,
  4524. IRpcChannelBuffer *_pRpcChannelBuffer,
  4525. PRPC_MESSAGE _pRpcMessage,
  4526. DWORD *_pdwStubPhase);
  4527. HRESULT STDMETHODCALLTYPE IMimeMessageTree_HandsOffStorage_Proxy(
  4528. IMimeMessageTree __RPC_FAR * This);
  4529. void __RPC_STUB IMimeMessageTree_HandsOffStorage_Stub(
  4530. IRpcStubBuffer *This,
  4531. IRpcChannelBuffer *_pRpcChannelBuffer,
  4532. PRPC_MESSAGE _pRpcMessage,
  4533. DWORD *_pdwStubPhase);
  4534. HRESULT STDMETHODCALLTYPE IMimeMessageTree_BindToObject_Proxy(
  4535. IMimeMessageTree __RPC_FAR * This,
  4536. /* [in] */ HBODY hBody,
  4537. /* [in] */ REFIID riid,
  4538. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4539. void __RPC_STUB IMimeMessageTree_BindToObject_Stub(
  4540. IRpcStubBuffer *This,
  4541. IRpcChannelBuffer *_pRpcChannelBuffer,
  4542. PRPC_MESSAGE _pRpcMessage,
  4543. DWORD *_pdwStubPhase);
  4544. HRESULT STDMETHODCALLTYPE IMimeMessageTree_InsertBody_Proxy(
  4545. IMimeMessageTree __RPC_FAR * This,
  4546. /* [in] */ BODYLOCATION location,
  4547. /* [in] */ HBODY hPivot,
  4548. /* [out] */ LPHBODY phBody);
  4549. void __RPC_STUB IMimeMessageTree_InsertBody_Stub(
  4550. IRpcStubBuffer *This,
  4551. IRpcChannelBuffer *_pRpcChannelBuffer,
  4552. PRPC_MESSAGE _pRpcMessage,
  4553. DWORD *_pdwStubPhase);
  4554. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetBody_Proxy(
  4555. IMimeMessageTree __RPC_FAR * This,
  4556. /* [in] */ BODYLOCATION location,
  4557. /* [in] */ HBODY hPivot,
  4558. /* [out] */ LPHBODY phBody);
  4559. void __RPC_STUB IMimeMessageTree_GetBody_Stub(
  4560. IRpcStubBuffer *This,
  4561. IRpcChannelBuffer *_pRpcChannelBuffer,
  4562. PRPC_MESSAGE _pRpcMessage,
  4563. DWORD *_pdwStubPhase);
  4564. HRESULT STDMETHODCALLTYPE IMimeMessageTree_DeleteBody_Proxy(
  4565. IMimeMessageTree __RPC_FAR * This,
  4566. /* [in] */ HBODY hBody,
  4567. /* [in] */ DWORD dwFlags);
  4568. void __RPC_STUB IMimeMessageTree_DeleteBody_Stub(
  4569. IRpcStubBuffer *This,
  4570. IRpcChannelBuffer *_pRpcChannelBuffer,
  4571. PRPC_MESSAGE _pRpcMessage,
  4572. DWORD *_pdwStubPhase);
  4573. HRESULT STDMETHODCALLTYPE IMimeMessageTree_MoveBody_Proxy(
  4574. IMimeMessageTree __RPC_FAR * This,
  4575. /* [in] */ HBODY hBody,
  4576. /* [in] */ BODYLOCATION location);
  4577. void __RPC_STUB IMimeMessageTree_MoveBody_Stub(
  4578. IRpcStubBuffer *This,
  4579. IRpcChannelBuffer *_pRpcChannelBuffer,
  4580. PRPC_MESSAGE _pRpcMessage,
  4581. DWORD *_pdwStubPhase);
  4582. HRESULT STDMETHODCALLTYPE IMimeMessageTree_CountBodies_Proxy(
  4583. IMimeMessageTree __RPC_FAR * This,
  4584. /* [in] */ HBODY hParent,
  4585. /* [in] */ boolean fRecurse,
  4586. /* [out] */ ULONG __RPC_FAR *pcBodies);
  4587. void __RPC_STUB IMimeMessageTree_CountBodies_Stub(
  4588. IRpcStubBuffer *This,
  4589. IRpcChannelBuffer *_pRpcChannelBuffer,
  4590. PRPC_MESSAGE _pRpcMessage,
  4591. DWORD *_pdwStubPhase);
  4592. HRESULT STDMETHODCALLTYPE IMimeMessageTree_FindFirst_Proxy(
  4593. IMimeMessageTree __RPC_FAR * This,
  4594. /* [out][in] */ LPFINDBODY pFindBody,
  4595. /* [out] */ LPHBODY phBody);
  4596. void __RPC_STUB IMimeMessageTree_FindFirst_Stub(
  4597. IRpcStubBuffer *This,
  4598. IRpcChannelBuffer *_pRpcChannelBuffer,
  4599. PRPC_MESSAGE _pRpcMessage,
  4600. DWORD *_pdwStubPhase);
  4601. HRESULT STDMETHODCALLTYPE IMimeMessageTree_FindNext_Proxy(
  4602. IMimeMessageTree __RPC_FAR * This,
  4603. /* [out][in] */ LPFINDBODY pFindBody,
  4604. /* [out] */ LPHBODY phBody);
  4605. void __RPC_STUB IMimeMessageTree_FindNext_Stub(
  4606. IRpcStubBuffer *This,
  4607. IRpcChannelBuffer *_pRpcChannelBuffer,
  4608. PRPC_MESSAGE _pRpcMessage,
  4609. DWORD *_pdwStubPhase);
  4610. HRESULT STDMETHODCALLTYPE IMimeMessageTree_ResolveURL_Proxy(
  4611. IMimeMessageTree __RPC_FAR * This,
  4612. /* [in] */ HBODY hRelated,
  4613. /* [in] */ LPCSTR pszBase,
  4614. /* [in] */ LPCSTR pszURL,
  4615. /* [in] */ DWORD dwFlags,
  4616. /* [out] */ LPHBODY phBody);
  4617. void __RPC_STUB IMimeMessageTree_ResolveURL_Stub(
  4618. IRpcStubBuffer *This,
  4619. IRpcChannelBuffer *_pRpcChannelBuffer,
  4620. PRPC_MESSAGE _pRpcMessage,
  4621. DWORD *_pdwStubPhase);
  4622. HRESULT STDMETHODCALLTYPE IMimeMessageTree_ToMultipart_Proxy(
  4623. IMimeMessageTree __RPC_FAR * This,
  4624. /* [in] */ HBODY hBody,
  4625. /* [in] */ LPCSTR pszSubType,
  4626. /* [out] */ LPHBODY phMultipart);
  4627. void __RPC_STUB IMimeMessageTree_ToMultipart_Stub(
  4628. IRpcStubBuffer *This,
  4629. IRpcChannelBuffer *_pRpcChannelBuffer,
  4630. PRPC_MESSAGE _pRpcMessage,
  4631. DWORD *_pdwStubPhase);
  4632. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetBodyOffsets_Proxy(
  4633. IMimeMessageTree __RPC_FAR * This,
  4634. /* [in] */ HBODY hBody,
  4635. /* [out][in] */ LPBODYOFFSETS pOffsets);
  4636. void __RPC_STUB IMimeMessageTree_GetBodyOffsets_Stub(
  4637. IRpcStubBuffer *This,
  4638. IRpcChannelBuffer *_pRpcChannelBuffer,
  4639. PRPC_MESSAGE _pRpcMessage,
  4640. DWORD *_pdwStubPhase);
  4641. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetCharset_Proxy(
  4642. IMimeMessageTree __RPC_FAR * This,
  4643. /* [out] */ LPHCHARSET phCharset);
  4644. void __RPC_STUB IMimeMessageTree_GetCharset_Stub(
  4645. IRpcStubBuffer *This,
  4646. IRpcChannelBuffer *_pRpcChannelBuffer,
  4647. PRPC_MESSAGE _pRpcMessage,
  4648. DWORD *_pdwStubPhase);
  4649. HRESULT STDMETHODCALLTYPE IMimeMessageTree_SetCharset_Proxy(
  4650. IMimeMessageTree __RPC_FAR * This,
  4651. /* [in] */ HCHARSET hCharset,
  4652. /* [in] */ CSETAPPLYTYPE applytype);
  4653. void __RPC_STUB IMimeMessageTree_SetCharset_Stub(
  4654. IRpcStubBuffer *This,
  4655. IRpcChannelBuffer *_pRpcChannelBuffer,
  4656. PRPC_MESSAGE _pRpcMessage,
  4657. DWORD *_pdwStubPhase);
  4658. HRESULT STDMETHODCALLTYPE IMimeMessageTree_IsBodyType_Proxy(
  4659. IMimeMessageTree __RPC_FAR * This,
  4660. /* [in] */ HBODY hBody,
  4661. /* [in] */ IMSGBODYTYPE bodytype);
  4662. void __RPC_STUB IMimeMessageTree_IsBodyType_Stub(
  4663. IRpcStubBuffer *This,
  4664. IRpcChannelBuffer *_pRpcChannelBuffer,
  4665. PRPC_MESSAGE _pRpcMessage,
  4666. DWORD *_pdwStubPhase);
  4667. HRESULT STDMETHODCALLTYPE IMimeMessageTree_IsContentType_Proxy(
  4668. IMimeMessageTree __RPC_FAR * This,
  4669. /* [in] */ HBODY hBody,
  4670. /* [in] */ LPCSTR pszPriType,
  4671. /* [in] */ LPCSTR pszSubType);
  4672. void __RPC_STUB IMimeMessageTree_IsContentType_Stub(
  4673. IRpcStubBuffer *This,
  4674. IRpcChannelBuffer *_pRpcChannelBuffer,
  4675. PRPC_MESSAGE _pRpcMessage,
  4676. DWORD *_pdwStubPhase);
  4677. HRESULT STDMETHODCALLTYPE IMimeMessageTree_QueryBodyProp_Proxy(
  4678. IMimeMessageTree __RPC_FAR * This,
  4679. /* [in] */ HBODY hBody,
  4680. /* [in] */ LPCSTR pszName,
  4681. /* [in] */ LPCSTR pszCriteria,
  4682. /* [in] */ boolean fSubString,
  4683. /* [in] */ boolean fCaseSensitive);
  4684. void __RPC_STUB IMimeMessageTree_QueryBodyProp_Stub(
  4685. IRpcStubBuffer *This,
  4686. IRpcChannelBuffer *_pRpcChannelBuffer,
  4687. PRPC_MESSAGE _pRpcMessage,
  4688. DWORD *_pdwStubPhase);
  4689. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetBodyProp_Proxy(
  4690. IMimeMessageTree __RPC_FAR * This,
  4691. /* [in] */ HBODY hBody,
  4692. /* [in] */ LPCSTR pszName,
  4693. /* [in] */ DWORD dwFlags,
  4694. /* [out][in] */ LPPROPVARIANT pValue);
  4695. void __RPC_STUB IMimeMessageTree_GetBodyProp_Stub(
  4696. IRpcStubBuffer *This,
  4697. IRpcChannelBuffer *_pRpcChannelBuffer,
  4698. PRPC_MESSAGE _pRpcMessage,
  4699. DWORD *_pdwStubPhase);
  4700. HRESULT STDMETHODCALLTYPE IMimeMessageTree_SetBodyProp_Proxy(
  4701. IMimeMessageTree __RPC_FAR * This,
  4702. /* [in] */ HBODY hBody,
  4703. /* [in] */ LPCSTR pszName,
  4704. /* [in] */ DWORD dwFlags,
  4705. /* [in] */ LPPROPVARIANT pValue);
  4706. void __RPC_STUB IMimeMessageTree_SetBodyProp_Stub(
  4707. IRpcStubBuffer *This,
  4708. IRpcChannelBuffer *_pRpcChannelBuffer,
  4709. PRPC_MESSAGE _pRpcMessage,
  4710. DWORD *_pdwStubPhase);
  4711. HRESULT STDMETHODCALLTYPE IMimeMessageTree_DeleteBodyProp_Proxy(
  4712. IMimeMessageTree __RPC_FAR * This,
  4713. /* [in] */ HBODY hBody,
  4714. /* [in] */ LPCSTR pszName);
  4715. void __RPC_STUB IMimeMessageTree_DeleteBodyProp_Stub(
  4716. IRpcStubBuffer *This,
  4717. IRpcChannelBuffer *_pRpcChannelBuffer,
  4718. PRPC_MESSAGE _pRpcMessage,
  4719. DWORD *_pdwStubPhase);
  4720. HRESULT STDMETHODCALLTYPE IMimeMessageTree_SetOption_Proxy(
  4721. IMimeMessageTree __RPC_FAR * This,
  4722. /* [in] */ TYPEDID oid,
  4723. /* [in] */ LPPROPVARIANT pValue);
  4724. void __RPC_STUB IMimeMessageTree_SetOption_Stub(
  4725. IRpcStubBuffer *This,
  4726. IRpcChannelBuffer *_pRpcChannelBuffer,
  4727. PRPC_MESSAGE _pRpcMessage,
  4728. DWORD *_pdwStubPhase);
  4729. HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetOption_Proxy(
  4730. IMimeMessageTree __RPC_FAR * This,
  4731. /* [in] */ TYPEDID oid,
  4732. /* [out][in] */ LPPROPVARIANT pValue);
  4733. void __RPC_STUB IMimeMessageTree_GetOption_Stub(
  4734. IRpcStubBuffer *This,
  4735. IRpcChannelBuffer *_pRpcChannelBuffer,
  4736. PRPC_MESSAGE _pRpcMessage,
  4737. DWORD *_pdwStubPhase);
  4738. #endif /* __IMimeMessageTree_INTERFACE_DEFINED__ */
  4739. #ifndef __IMimeMessage_INTERFACE_DEFINED__
  4740. #define __IMimeMessage_INTERFACE_DEFINED__
  4741. /****************************************
  4742. * Generated header for interface: IMimeMessage
  4743. * at Mon May 12 23:53:20 1997
  4744. * using MIDL 3.02.88
  4745. ****************************************/
  4746. /* [object][helpstring][uuid] */
  4747. typedef /* [unique] */ IMimeMessage __RPC_FAR *LPMIMEMESSAGE;
  4748. typedef
  4749. enum tagIMSGFLAGS
  4750. { IMF_ATTACHMENTS = 0x1,
  4751. IMF_MULTIPART = 0x2,
  4752. IMF_SUBMULTIPART = 0x4,
  4753. IMF_MIME = 0x8,
  4754. IMF_HTML = 0x10,
  4755. IMF_PLAIN = 0x20,
  4756. IMF_PARTIAL = 0x40,
  4757. IMF_SIGNED = 0x80,
  4758. IMF_ENCRYPTED = 0x100,
  4759. IMF_TNEF = 0x200,
  4760. IMF_MHTML = 0x400,
  4761. IMF_SECURE = 0x800,
  4762. IMF_TEXT = 0x1000
  4763. } IMSGFLAGS;
  4764. typedef
  4765. enum tagIMSGPRIORITY
  4766. { IMSG_PRI_LOW = 5,
  4767. IMSG_PRI_NORMAL = 3,
  4768. IMSG_PRI_HIGH = 1
  4769. } IMSGPRIORITY;
  4770. typedef DWORD TEXTTYPE;
  4771. typedef LPDWORD LPTEXTTYPE;
  4772. #define TXT_PLAIN ( 0x1 )
  4773. #define TXT_HTML ( 0x2 )
  4774. #define URL_ATTACH_INTO_MIXED ( 0x1 )
  4775. #define URL_ATTACH_GENERATE_CID ( 0x2 )
  4776. #define URL_RESOLVE_MARK ( 0x1 )
  4777. #define SET_TEXT_RELATED ( 0x1 )
  4778. EXTERN_C const IID IID_IMimeMessage;
  4779. #if defined(__cplusplus) && !defined(CINTERFACE)
  4780. interface DECLSPEC_UUID("6AD6A208-C19B-11d0-85EB-00C04FD85AB4")
  4781. IMimeMessage : public IMimeMessageTree
  4782. {
  4783. public:
  4784. virtual HRESULT STDMETHODCALLTYPE GetProp(
  4785. /* [in] */ LPCSTR pszName,
  4786. /* [in] */ DWORD dwFlags,
  4787. /* [out][in] */ LPPROPVARIANT pValue) = 0;
  4788. virtual HRESULT STDMETHODCALLTYPE SetProp(
  4789. /* [in] */ LPCSTR pszName,
  4790. /* [in] */ DWORD dwFlags,
  4791. /* [in] */ LPPROPVARIANT pValue) = 0;
  4792. virtual HRESULT STDMETHODCALLTYPE DeleteProp(
  4793. /* [in] */ LPCSTR pszName) = 0;
  4794. virtual HRESULT STDMETHODCALLTYPE QueryProp(
  4795. /* [in] */ LPCSTR pszName,
  4796. /* [in] */ LPCSTR pszCriteria,
  4797. /* [in] */ boolean fSubString,
  4798. /* [in] */ boolean fCaseSensitive) = 0;
  4799. virtual HRESULT STDMETHODCALLTYPE GetTextBody(
  4800. /* [in] */ TEXTTYPE dwTxtType,
  4801. /* [in] */ ENCODINGTYPE ietEncoding,
  4802. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  4803. /* [out] */ LPHBODY phBody) = 0;
  4804. virtual HRESULT STDMETHODCALLTYPE SetTextBody(
  4805. /* [in] */ TEXTTYPE dwTxtType,
  4806. /* [in] */ ENCODINGTYPE ietEncoding,
  4807. /* [in] */ HBODY hAlternative,
  4808. /* [in] */ IStream __RPC_FAR *pStream,
  4809. /* [out] */ LPHBODY phBody) = 0;
  4810. virtual HRESULT STDMETHODCALLTYPE AttachObject(
  4811. /* [in] */ REFIID riid,
  4812. /* [iid_is][in] */ void __RPC_FAR *pvObject,
  4813. /* [out] */ LPHBODY phBody) = 0;
  4814. virtual HRESULT STDMETHODCALLTYPE AttachFile(
  4815. /* [in] */ LPCSTR pszFilePath,
  4816. /* [in] */ IStream __RPC_FAR *pstmFile,
  4817. /* [out] */ LPHBODY phBody) = 0;
  4818. virtual HRESULT STDMETHODCALLTYPE AttachURL(
  4819. /* [in] */ LPCSTR pszBase,
  4820. /* [in] */ LPCSTR pszURL,
  4821. /* [in] */ DWORD dwFlags,
  4822. /* [in] */ IStream __RPC_FAR *pstmURL,
  4823. /* [out] */ LPSTR __RPC_FAR *ppszCID,
  4824. /* [out] */ LPHBODY phBody) = 0;
  4825. virtual HRESULT STDMETHODCALLTYPE GetAttachments(
  4826. /* [out] */ ULONG __RPC_FAR *pcAttach,
  4827. /* [out] */ LPHBODY __RPC_FAR *pprghAttach) = 0;
  4828. virtual HRESULT STDMETHODCALLTYPE GetSender(
  4829. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress) = 0;
  4830. virtual HRESULT STDMETHODCALLTYPE GetAddressTable(
  4831. /* [out] */ IMimeAddressTable __RPC_FAR *__RPC_FAR *ppTable) = 0;
  4832. virtual HRESULT STDMETHODCALLTYPE GetAddressTypes(
  4833. /* [in] */ DWORD dwAdrTypes,
  4834. /* [out][in] */ LPADDRESSLIST pList) = 0;
  4835. virtual HRESULT STDMETHODCALLTYPE GetAddressFormat(
  4836. /* [in] */ DWORD dwAdrType,
  4837. /* [in] */ ADDRESSFORMAT format,
  4838. /* [out] */ LPSTR __RPC_FAR *ppszAddress) = 0;
  4839. virtual HRESULT STDMETHODCALLTYPE SplitMessage(
  4840. /* [in] */ ULONG cbMaxPart,
  4841. /* [out] */ IMimeMessageParts __RPC_FAR *__RPC_FAR *ppParts) = 0;
  4842. virtual HRESULT STDMETHODCALLTYPE GetRootMoniker(
  4843. /* [out] */ LPMONIKER __RPC_FAR *ppmk) = 0;
  4844. };
  4845. #else /* C style interface */
  4846. typedef struct IMimeMessageVtbl
  4847. {
  4848. BEGIN_INTERFACE
  4849. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4850. IMimeMessage __RPC_FAR * This,
  4851. /* [in] */ REFIID riid,
  4852. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4853. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4854. IMimeMessage __RPC_FAR * This);
  4855. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4856. IMimeMessage __RPC_FAR * This);
  4857. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )(
  4858. IMimeMessage __RPC_FAR * This,
  4859. /* [out] */ CLSID __RPC_FAR *pClassID);
  4860. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )(
  4861. IMimeMessage __RPC_FAR * This);
  4862. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )(
  4863. IMimeMessage __RPC_FAR * This,
  4864. /* [in] */ LPSTREAM pStm);
  4865. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )(
  4866. IMimeMessage __RPC_FAR * This,
  4867. /* [in] */ LPSTREAM pStm,
  4868. /* [in] */ BOOL fClearDirty);
  4869. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )(
  4870. IMimeMessage __RPC_FAR * This,
  4871. /* [out] */ ULARGE_INTEGER __RPC_FAR *pCbSize);
  4872. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )(
  4873. IMimeMessage __RPC_FAR * This);
  4874. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateRootMoniker )(
  4875. IMimeMessage __RPC_FAR * This,
  4876. /* [in] */ IStream __RPC_FAR *pStream,
  4877. /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker);
  4878. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMessageSource )(
  4879. IMimeMessage __RPC_FAR * This,
  4880. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  4881. /* [in] */ boolean fCommitIfDirty);
  4882. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMessageSize )(
  4883. IMimeMessage __RPC_FAR * This,
  4884. /* [out] */ ULONG __RPC_FAR *pcbSize,
  4885. /* [in] */ boolean fCommitIfDirty);
  4886. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadOffsetTable )(
  4887. IMimeMessage __RPC_FAR * This,
  4888. /* [in] */ IStream __RPC_FAR *pStream);
  4889. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveOffsetTable )(
  4890. IMimeMessage __RPC_FAR * This,
  4891. /* [in] */ IStream __RPC_FAR *pStream,
  4892. /* [in] */ boolean fCommitIfDirty);
  4893. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )(
  4894. IMimeMessage __RPC_FAR * This,
  4895. /* [out] */ DWORD __RPC_FAR *pdwFlags);
  4896. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )(
  4897. IMimeMessage __RPC_FAR * This);
  4898. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HandsOffStorage )(
  4899. IMimeMessage __RPC_FAR * This);
  4900. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )(
  4901. IMimeMessage __RPC_FAR * This,
  4902. /* [in] */ HBODY hBody,
  4903. /* [in] */ REFIID riid,
  4904. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4905. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertBody )(
  4906. IMimeMessage __RPC_FAR * This,
  4907. /* [in] */ BODYLOCATION location,
  4908. /* [in] */ HBODY hPivot,
  4909. /* [out] */ LPHBODY phBody);
  4910. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBody )(
  4911. IMimeMessage __RPC_FAR * This,
  4912. /* [in] */ BODYLOCATION location,
  4913. /* [in] */ HBODY hPivot,
  4914. /* [out] */ LPHBODY phBody);
  4915. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteBody )(
  4916. IMimeMessage __RPC_FAR * This,
  4917. /* [in] */ HBODY hBody,
  4918. /* [in] */ DWORD dwFlags);
  4919. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveBody )(
  4920. IMimeMessage __RPC_FAR * This,
  4921. /* [in] */ HBODY hBody,
  4922. /* [in] */ BODYLOCATION location);
  4923. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CountBodies )(
  4924. IMimeMessage __RPC_FAR * This,
  4925. /* [in] */ HBODY hParent,
  4926. /* [in] */ boolean fRecurse,
  4927. /* [out] */ ULONG __RPC_FAR *pcBodies);
  4928. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFirst )(
  4929. IMimeMessage __RPC_FAR * This,
  4930. /* [out][in] */ LPFINDBODY pFindBody,
  4931. /* [out] */ LPHBODY phBody);
  4932. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindNext )(
  4933. IMimeMessage __RPC_FAR * This,
  4934. /* [out][in] */ LPFINDBODY pFindBody,
  4935. /* [out] */ LPHBODY phBody);
  4936. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResolveURL )(
  4937. IMimeMessage __RPC_FAR * This,
  4938. /* [in] */ HBODY hRelated,
  4939. /* [in] */ LPCSTR pszBase,
  4940. /* [in] */ LPCSTR pszURL,
  4941. /* [in] */ DWORD dwFlags,
  4942. /* [out] */ LPHBODY phBody);
  4943. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ToMultipart )(
  4944. IMimeMessage __RPC_FAR * This,
  4945. /* [in] */ HBODY hBody,
  4946. /* [in] */ LPCSTR pszSubType,
  4947. /* [out] */ LPHBODY phMultipart);
  4948. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBodyOffsets )(
  4949. IMimeMessage __RPC_FAR * This,
  4950. /* [in] */ HBODY hBody,
  4951. /* [out][in] */ LPBODYOFFSETS pOffsets);
  4952. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCharset )(
  4953. IMimeMessage __RPC_FAR * This,
  4954. /* [out] */ LPHCHARSET phCharset);
  4955. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCharset )(
  4956. IMimeMessage __RPC_FAR * This,
  4957. /* [in] */ HCHARSET hCharset,
  4958. /* [in] */ CSETAPPLYTYPE applytype);
  4959. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsBodyType )(
  4960. IMimeMessage __RPC_FAR * This,
  4961. /* [in] */ HBODY hBody,
  4962. /* [in] */ IMSGBODYTYPE bodytype);
  4963. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsContentType )(
  4964. IMimeMessage __RPC_FAR * This,
  4965. /* [in] */ HBODY hBody,
  4966. /* [in] */ LPCSTR pszPriType,
  4967. /* [in] */ LPCSTR pszSubType);
  4968. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryBodyProp )(
  4969. IMimeMessage __RPC_FAR * This,
  4970. /* [in] */ HBODY hBody,
  4971. /* [in] */ LPCSTR pszName,
  4972. /* [in] */ LPCSTR pszCriteria,
  4973. /* [in] */ boolean fSubString,
  4974. /* [in] */ boolean fCaseSensitive);
  4975. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBodyProp )(
  4976. IMimeMessage __RPC_FAR * This,
  4977. /* [in] */ HBODY hBody,
  4978. /* [in] */ LPCSTR pszName,
  4979. /* [in] */ DWORD dwFlags,
  4980. /* [out][in] */ LPPROPVARIANT pValue);
  4981. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBodyProp )(
  4982. IMimeMessage __RPC_FAR * This,
  4983. /* [in] */ HBODY hBody,
  4984. /* [in] */ LPCSTR pszName,
  4985. /* [in] */ DWORD dwFlags,
  4986. /* [in] */ LPPROPVARIANT pValue);
  4987. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteBodyProp )(
  4988. IMimeMessage __RPC_FAR * This,
  4989. /* [in] */ HBODY hBody,
  4990. /* [in] */ LPCSTR pszName);
  4991. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOption )(
  4992. IMimeMessage __RPC_FAR * This,
  4993. /* [in] */ TYPEDID oid,
  4994. /* [in] */ LPPROPVARIANT pValue);
  4995. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOption )(
  4996. IMimeMessage __RPC_FAR * This,
  4997. /* [in] */ TYPEDID oid,
  4998. /* [out][in] */ LPPROPVARIANT pValue);
  4999. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProp )(
  5000. IMimeMessage __RPC_FAR * This,
  5001. /* [in] */ LPCSTR pszName,
  5002. /* [in] */ DWORD dwFlags,
  5003. /* [out][in] */ LPPROPVARIANT pValue);
  5004. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProp )(
  5005. IMimeMessage __RPC_FAR * This,
  5006. /* [in] */ LPCSTR pszName,
  5007. /* [in] */ DWORD dwFlags,
  5008. /* [in] */ LPPROPVARIANT pValue);
  5009. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteProp )(
  5010. IMimeMessage __RPC_FAR * This,
  5011. /* [in] */ LPCSTR pszName);
  5012. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryProp )(
  5013. IMimeMessage __RPC_FAR * This,
  5014. /* [in] */ LPCSTR pszName,
  5015. /* [in] */ LPCSTR pszCriteria,
  5016. /* [in] */ boolean fSubString,
  5017. /* [in] */ boolean fCaseSensitive);
  5018. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTextBody )(
  5019. IMimeMessage __RPC_FAR * This,
  5020. /* [in] */ TEXTTYPE dwTxtType,
  5021. /* [in] */ ENCODINGTYPE ietEncoding,
  5022. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  5023. /* [out] */ LPHBODY phBody);
  5024. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTextBody )(
  5025. IMimeMessage __RPC_FAR * This,
  5026. /* [in] */ TEXTTYPE dwTxtType,
  5027. /* [in] */ ENCODINGTYPE ietEncoding,
  5028. /* [in] */ HBODY hAlternative,
  5029. /* [in] */ IStream __RPC_FAR *pStream,
  5030. /* [out] */ LPHBODY phBody);
  5031. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachObject )(
  5032. IMimeMessage __RPC_FAR * This,
  5033. /* [in] */ REFIID riid,
  5034. /* [iid_is][in] */ void __RPC_FAR *pvObject,
  5035. /* [out] */ LPHBODY phBody);
  5036. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachFile )(
  5037. IMimeMessage __RPC_FAR * This,
  5038. /* [in] */ LPCSTR pszFilePath,
  5039. /* [in] */ IStream __RPC_FAR *pstmFile,
  5040. /* [out] */ LPHBODY phBody);
  5041. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachURL )(
  5042. IMimeMessage __RPC_FAR * This,
  5043. /* [in] */ LPCSTR pszBase,
  5044. /* [in] */ LPCSTR pszURL,
  5045. /* [in] */ DWORD dwFlags,
  5046. /* [in] */ IStream __RPC_FAR *pstmURL,
  5047. /* [out] */ LPSTR __RPC_FAR *ppszCID,
  5048. /* [out] */ LPHBODY phBody);
  5049. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttachments )(
  5050. IMimeMessage __RPC_FAR * This,
  5051. /* [out] */ ULONG __RPC_FAR *pcAttach,
  5052. /* [out] */ LPHBODY __RPC_FAR *pprghAttach);
  5053. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSender )(
  5054. IMimeMessage __RPC_FAR * This,
  5055. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress);
  5056. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAddressTable )(
  5057. IMimeMessage __RPC_FAR * This,
  5058. /* [out] */ IMimeAddressTable __RPC_FAR *__RPC_FAR *ppTable);
  5059. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAddressTypes )(
  5060. IMimeMessage __RPC_FAR * This,
  5061. /* [in] */ DWORD dwAdrTypes,
  5062. /* [out][in] */ LPADDRESSLIST pList);
  5063. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAddressFormat )(
  5064. IMimeMessage __RPC_FAR * This,
  5065. /* [in] */ DWORD dwAdrType,
  5066. /* [in] */ ADDRESSFORMAT format,
  5067. /* [out] */ LPSTR __RPC_FAR *ppszAddress);
  5068. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SplitMessage )(
  5069. IMimeMessage __RPC_FAR * This,
  5070. /* [in] */ ULONG cbMaxPart,
  5071. /* [out] */ IMimeMessageParts __RPC_FAR *__RPC_FAR *ppParts);
  5072. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRootMoniker )(
  5073. IMimeMessage __RPC_FAR * This,
  5074. /* [out] */ LPMONIKER __RPC_FAR *ppmk);
  5075. END_INTERFACE
  5076. } IMimeMessageVtbl;
  5077. interface IMimeMessage
  5078. {
  5079. CONST_VTBL struct IMimeMessageVtbl __RPC_FAR *lpVtbl;
  5080. };
  5081. #ifdef COBJMACROS
  5082. #define IMimeMessage_QueryInterface(This,riid,ppvObject) \
  5083. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5084. #define IMimeMessage_AddRef(This) \
  5085. (This)->lpVtbl -> AddRef(This)
  5086. #define IMimeMessage_Release(This) \
  5087. (This)->lpVtbl -> Release(This)
  5088. #define IMimeMessage_GetClassID(This,pClassID) \
  5089. (This)->lpVtbl -> GetClassID(This,pClassID)
  5090. #define IMimeMessage_IsDirty(This) \
  5091. (This)->lpVtbl -> IsDirty(This)
  5092. #define IMimeMessage_Load(This,pStm) \
  5093. (This)->lpVtbl -> Load(This,pStm)
  5094. #define IMimeMessage_Save(This,pStm,fClearDirty) \
  5095. (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  5096. #define IMimeMessage_GetSizeMax(This,pCbSize) \
  5097. (This)->lpVtbl -> GetSizeMax(This,pCbSize)
  5098. #define IMimeMessage_InitNew(This) \
  5099. (This)->lpVtbl -> InitNew(This)
  5100. #define IMimeMessage_CreateRootMoniker(This,pStream,ppMoniker) \
  5101. (This)->lpVtbl -> CreateRootMoniker(This,pStream,ppMoniker)
  5102. #define IMimeMessage_GetMessageSource(This,ppStream,fCommitIfDirty) \
  5103. (This)->lpVtbl -> GetMessageSource(This,ppStream,fCommitIfDirty)
  5104. #define IMimeMessage_GetMessageSize(This,pcbSize,fCommitIfDirty) \
  5105. (This)->lpVtbl -> GetMessageSize(This,pcbSize,fCommitIfDirty)
  5106. #define IMimeMessage_LoadOffsetTable(This,pStream) \
  5107. (This)->lpVtbl -> LoadOffsetTable(This,pStream)
  5108. #define IMimeMessage_SaveOffsetTable(This,pStream,fCommitIfDirty) \
  5109. (This)->lpVtbl -> SaveOffsetTable(This,pStream,fCommitIfDirty)
  5110. #define IMimeMessage_GetFlags(This,pdwFlags) \
  5111. (This)->lpVtbl -> GetFlags(This,pdwFlags)
  5112. #define IMimeMessage_Commit(This) \
  5113. (This)->lpVtbl -> Commit(This)
  5114. #define IMimeMessage_HandsOffStorage(This) \
  5115. (This)->lpVtbl -> HandsOffStorage(This)
  5116. #define IMimeMessage_BindToObject(This,hBody,riid,ppvObject) \
  5117. (This)->lpVtbl -> BindToObject(This,hBody,riid,ppvObject)
  5118. #define IMimeMessage_InsertBody(This,location,hPivot,phBody) \
  5119. (This)->lpVtbl -> InsertBody(This,location,hPivot,phBody)
  5120. #define IMimeMessage_GetBody(This,location,hPivot,phBody) \
  5121. (This)->lpVtbl -> GetBody(This,location,hPivot,phBody)
  5122. #define IMimeMessage_DeleteBody(This,hBody,dwFlags) \
  5123. (This)->lpVtbl -> DeleteBody(This,hBody,dwFlags)
  5124. #define IMimeMessage_MoveBody(This,hBody,location) \
  5125. (This)->lpVtbl -> MoveBody(This,hBody,location)
  5126. #define IMimeMessage_CountBodies(This,hParent,fRecurse,pcBodies) \
  5127. (This)->lpVtbl -> CountBodies(This,hParent,fRecurse,pcBodies)
  5128. #define IMimeMessage_FindFirst(This,pFindBody,phBody) \
  5129. (This)->lpVtbl -> FindFirst(This,pFindBody,phBody)
  5130. #define IMimeMessage_FindNext(This,pFindBody,phBody) \
  5131. (This)->lpVtbl -> FindNext(This,pFindBody,phBody)
  5132. #define IMimeMessage_ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) \
  5133. (This)->lpVtbl -> ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody)
  5134. #define IMimeMessage_ToMultipart(This,hBody,pszSubType,phMultipart) \
  5135. (This)->lpVtbl -> ToMultipart(This,hBody,pszSubType,phMultipart)
  5136. #define IMimeMessage_GetBodyOffsets(This,hBody,pOffsets) \
  5137. (This)->lpVtbl -> GetBodyOffsets(This,hBody,pOffsets)
  5138. #define IMimeMessage_GetCharset(This,phCharset) \
  5139. (This)->lpVtbl -> GetCharset(This,phCharset)
  5140. #define IMimeMessage_SetCharset(This,hCharset,applytype) \
  5141. (This)->lpVtbl -> SetCharset(This,hCharset,applytype)
  5142. #define IMimeMessage_IsBodyType(This,hBody,bodytype) \
  5143. (This)->lpVtbl -> IsBodyType(This,hBody,bodytype)
  5144. #define IMimeMessage_IsContentType(This,hBody,pszPriType,pszSubType) \
  5145. (This)->lpVtbl -> IsContentType(This,hBody,pszPriType,pszSubType)
  5146. #define IMimeMessage_QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) \
  5147. (This)->lpVtbl -> QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive)
  5148. #define IMimeMessage_GetBodyProp(This,hBody,pszName,dwFlags,pValue) \
  5149. (This)->lpVtbl -> GetBodyProp(This,hBody,pszName,dwFlags,pValue)
  5150. #define IMimeMessage_SetBodyProp(This,hBody,pszName,dwFlags,pValue) \
  5151. (This)->lpVtbl -> SetBodyProp(This,hBody,pszName,dwFlags,pValue)
  5152. #define IMimeMessage_DeleteBodyProp(This,hBody,pszName) \
  5153. (This)->lpVtbl -> DeleteBodyProp(This,hBody,pszName)
  5154. #define IMimeMessage_SetOption(This,oid,pValue) \
  5155. (This)->lpVtbl -> SetOption(This,oid,pValue)
  5156. #define IMimeMessage_GetOption(This,oid,pValue) \
  5157. (This)->lpVtbl -> GetOption(This,oid,pValue)
  5158. #define IMimeMessage_GetProp(This,pszName,dwFlags,pValue) \
  5159. (This)->lpVtbl -> GetProp(This,pszName,dwFlags,pValue)
  5160. #define IMimeMessage_SetProp(This,pszName,dwFlags,pValue) \
  5161. (This)->lpVtbl -> SetProp(This,pszName,dwFlags,pValue)
  5162. #define IMimeMessage_DeleteProp(This,pszName) \
  5163. (This)->lpVtbl -> DeleteProp(This,pszName)
  5164. #define IMimeMessage_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) \
  5165. (This)->lpVtbl -> QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive)
  5166. #define IMimeMessage_GetTextBody(This,dwTxtType,ietEncoding,ppStream,phBody) \
  5167. (This)->lpVtbl -> GetTextBody(This,dwTxtType,ietEncoding,ppStream,phBody)
  5168. #define IMimeMessage_SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody) \
  5169. (This)->lpVtbl -> SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody)
  5170. #define IMimeMessage_AttachObject(This,riid,pvObject,phBody) \
  5171. (This)->lpVtbl -> AttachObject(This,riid,pvObject,phBody)
  5172. #define IMimeMessage_AttachFile(This,pszFilePath,pstmFile,phBody) \
  5173. (This)->lpVtbl -> AttachFile(This,pszFilePath,pstmFile,phBody)
  5174. #define IMimeMessage_AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCID,phBody) \
  5175. (This)->lpVtbl -> AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCID,phBody)
  5176. #define IMimeMessage_GetAttachments(This,pcAttach,pprghAttach) \
  5177. (This)->lpVtbl -> GetAttachments(This,pcAttach,pprghAttach)
  5178. #define IMimeMessage_GetSender(This,ppAddress) \
  5179. (This)->lpVtbl -> GetSender(This,ppAddress)
  5180. #define IMimeMessage_GetAddressTable(This,ppTable) \
  5181. (This)->lpVtbl -> GetAddressTable(This,ppTable)
  5182. #define IMimeMessage_GetAddressTypes(This,dwAdrTypes,pList) \
  5183. (This)->lpVtbl -> GetAddressTypes(This,dwAdrTypes,pList)
  5184. #define IMimeMessage_GetAddressFormat(This,dwAdrType,format,ppszAddress) \
  5185. (This)->lpVtbl -> GetAddressFormat(This,dwAdrType,format,ppszAddress)
  5186. #define IMimeMessage_SplitMessage(This,cbMaxPart,ppParts) \
  5187. (This)->lpVtbl -> SplitMessage(This,cbMaxPart,ppParts)
  5188. #define IMimeMessage_GetRootMoniker(This,ppmk) \
  5189. (This)->lpVtbl -> GetRootMoniker(This,ppmk)
  5190. #endif /* COBJMACROS */
  5191. #endif /* C style interface */
  5192. HRESULT STDMETHODCALLTYPE IMimeMessage_GetProp_Proxy(
  5193. IMimeMessage __RPC_FAR * This,
  5194. /* [in] */ LPCSTR pszName,
  5195. /* [in] */ DWORD dwFlags,
  5196. /* [out][in] */ LPPROPVARIANT pValue);
  5197. void __RPC_STUB IMimeMessage_GetProp_Stub(
  5198. IRpcStubBuffer *This,
  5199. IRpcChannelBuffer *_pRpcChannelBuffer,
  5200. PRPC_MESSAGE _pRpcMessage,
  5201. DWORD *_pdwStubPhase);
  5202. HRESULT STDMETHODCALLTYPE IMimeMessage_SetProp_Proxy(
  5203. IMimeMessage __RPC_FAR * This,
  5204. /* [in] */ LPCSTR pszName,
  5205. /* [in] */ DWORD dwFlags,
  5206. /* [in] */ LPPROPVARIANT pValue);
  5207. void __RPC_STUB IMimeMessage_SetProp_Stub(
  5208. IRpcStubBuffer *This,
  5209. IRpcChannelBuffer *_pRpcChannelBuffer,
  5210. PRPC_MESSAGE _pRpcMessage,
  5211. DWORD *_pdwStubPhase);
  5212. HRESULT STDMETHODCALLTYPE IMimeMessage_DeleteProp_Proxy(
  5213. IMimeMessage __RPC_FAR * This,
  5214. /* [in] */ LPCSTR pszName);
  5215. void __RPC_STUB IMimeMessage_DeleteProp_Stub(
  5216. IRpcStubBuffer *This,
  5217. IRpcChannelBuffer *_pRpcChannelBuffer,
  5218. PRPC_MESSAGE _pRpcMessage,
  5219. DWORD *_pdwStubPhase);
  5220. HRESULT STDMETHODCALLTYPE IMimeMessage_QueryProp_Proxy(
  5221. IMimeMessage __RPC_FAR * This,
  5222. /* [in] */ LPCSTR pszName,
  5223. /* [in] */ LPCSTR pszCriteria,
  5224. /* [in] */ boolean fSubString,
  5225. /* [in] */ boolean fCaseSensitive);
  5226. void __RPC_STUB IMimeMessage_QueryProp_Stub(
  5227. IRpcStubBuffer *This,
  5228. IRpcChannelBuffer *_pRpcChannelBuffer,
  5229. PRPC_MESSAGE _pRpcMessage,
  5230. DWORD *_pdwStubPhase);
  5231. HRESULT STDMETHODCALLTYPE IMimeMessage_GetTextBody_Proxy(
  5232. IMimeMessage __RPC_FAR * This,
  5233. /* [in] */ TEXTTYPE dwTxtType,
  5234. /* [in] */ ENCODINGTYPE ietEncoding,
  5235. /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppStream,
  5236. /* [out] */ LPHBODY phBody);
  5237. void __RPC_STUB IMimeMessage_GetTextBody_Stub(
  5238. IRpcStubBuffer *This,
  5239. IRpcChannelBuffer *_pRpcChannelBuffer,
  5240. PRPC_MESSAGE _pRpcMessage,
  5241. DWORD *_pdwStubPhase);
  5242. HRESULT STDMETHODCALLTYPE IMimeMessage_SetTextBody_Proxy(
  5243. IMimeMessage __RPC_FAR * This,
  5244. /* [in] */ TEXTTYPE dwTxtType,
  5245. /* [in] */ ENCODINGTYPE ietEncoding,
  5246. /* [in] */ HBODY hAlternative,
  5247. /* [in] */ IStream __RPC_FAR *pStream,
  5248. /* [out] */ LPHBODY phBody);
  5249. void __RPC_STUB IMimeMessage_SetTextBody_Stub(
  5250. IRpcStubBuffer *This,
  5251. IRpcChannelBuffer *_pRpcChannelBuffer,
  5252. PRPC_MESSAGE _pRpcMessage,
  5253. DWORD *_pdwStubPhase);
  5254. HRESULT STDMETHODCALLTYPE IMimeMessage_AttachObject_Proxy(
  5255. IMimeMessage __RPC_FAR * This,
  5256. /* [in] */ REFIID riid,
  5257. /* [iid_is][in] */ void __RPC_FAR *pvObject,
  5258. /* [out] */ LPHBODY phBody);
  5259. void __RPC_STUB IMimeMessage_AttachObject_Stub(
  5260. IRpcStubBuffer *This,
  5261. IRpcChannelBuffer *_pRpcChannelBuffer,
  5262. PRPC_MESSAGE _pRpcMessage,
  5263. DWORD *_pdwStubPhase);
  5264. HRESULT STDMETHODCALLTYPE IMimeMessage_AttachFile_Proxy(
  5265. IMimeMessage __RPC_FAR * This,
  5266. /* [in] */ LPCSTR pszFilePath,
  5267. /* [in] */ IStream __RPC_FAR *pstmFile,
  5268. /* [out] */ LPHBODY phBody);
  5269. void __RPC_STUB IMimeMessage_AttachFile_Stub(
  5270. IRpcStubBuffer *This,
  5271. IRpcChannelBuffer *_pRpcChannelBuffer,
  5272. PRPC_MESSAGE _pRpcMessage,
  5273. DWORD *_pdwStubPhase);
  5274. HRESULT STDMETHODCALLTYPE IMimeMessage_AttachURL_Proxy(
  5275. IMimeMessage __RPC_FAR * This,
  5276. /* [in] */ LPCSTR pszBase,
  5277. /* [in] */ LPCSTR pszURL,
  5278. /* [in] */ DWORD dwFlags,
  5279. /* [in] */ IStream __RPC_FAR *pstmURL,
  5280. /* [out] */ LPSTR __RPC_FAR *ppszCID,
  5281. /* [out] */ LPHBODY phBody);
  5282. void __RPC_STUB IMimeMessage_AttachURL_Stub(
  5283. IRpcStubBuffer *This,
  5284. IRpcChannelBuffer *_pRpcChannelBuffer,
  5285. PRPC_MESSAGE _pRpcMessage,
  5286. DWORD *_pdwStubPhase);
  5287. HRESULT STDMETHODCALLTYPE IMimeMessage_GetAttachments_Proxy(
  5288. IMimeMessage __RPC_FAR * This,
  5289. /* [out] */ ULONG __RPC_FAR *pcAttach,
  5290. /* [out] */ LPHBODY __RPC_FAR *pprghAttach);
  5291. void __RPC_STUB IMimeMessage_GetAttachments_Stub(
  5292. IRpcStubBuffer *This,
  5293. IRpcChannelBuffer *_pRpcChannelBuffer,
  5294. PRPC_MESSAGE _pRpcMessage,
  5295. DWORD *_pdwStubPhase);
  5296. HRESULT STDMETHODCALLTYPE IMimeMessage_GetSender_Proxy(
  5297. IMimeMessage __RPC_FAR * This,
  5298. /* [out] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *ppAddress);
  5299. void __RPC_STUB IMimeMessage_GetSender_Stub(
  5300. IRpcStubBuffer *This,
  5301. IRpcChannelBuffer *_pRpcChannelBuffer,
  5302. PRPC_MESSAGE _pRpcMessage,
  5303. DWORD *_pdwStubPhase);
  5304. HRESULT STDMETHODCALLTYPE IMimeMessage_GetAddressTable_Proxy(
  5305. IMimeMessage __RPC_FAR * This,
  5306. /* [out] */ IMimeAddressTable __RPC_FAR *__RPC_FAR *ppTable);
  5307. void __RPC_STUB IMimeMessage_GetAddressTable_Stub(
  5308. IRpcStubBuffer *This,
  5309. IRpcChannelBuffer *_pRpcChannelBuffer,
  5310. PRPC_MESSAGE _pRpcMessage,
  5311. DWORD *_pdwStubPhase);
  5312. HRESULT STDMETHODCALLTYPE IMimeMessage_GetAddressTypes_Proxy(
  5313. IMimeMessage __RPC_FAR * This,
  5314. /* [in] */ DWORD dwAdrTypes,
  5315. /* [out][in] */ LPADDRESSLIST pList);
  5316. void __RPC_STUB IMimeMessage_GetAddressTypes_Stub(
  5317. IRpcStubBuffer *This,
  5318. IRpcChannelBuffer *_pRpcChannelBuffer,
  5319. PRPC_MESSAGE _pRpcMessage,
  5320. DWORD *_pdwStubPhase);
  5321. HRESULT STDMETHODCALLTYPE IMimeMessage_GetAddressFormat_Proxy(
  5322. IMimeMessage __RPC_FAR * This,
  5323. /* [in] */ DWORD dwAdrType,
  5324. /* [in] */ ADDRESSFORMAT format,
  5325. /* [out] */ LPSTR __RPC_FAR *ppszAddress);
  5326. void __RPC_STUB IMimeMessage_GetAddressFormat_Stub(
  5327. IRpcStubBuffer *This,
  5328. IRpcChannelBuffer *_pRpcChannelBuffer,
  5329. PRPC_MESSAGE _pRpcMessage,
  5330. DWORD *_pdwStubPhase);
  5331. HRESULT STDMETHODCALLTYPE IMimeMessage_SplitMessage_Proxy(
  5332. IMimeMessage __RPC_FAR * This,
  5333. /* [in] */ ULONG cbMaxPart,
  5334. /* [out] */ IMimeMessageParts __RPC_FAR *__RPC_FAR *ppParts);
  5335. void __RPC_STUB IMimeMessage_SplitMessage_Stub(
  5336. IRpcStubBuffer *This,
  5337. IRpcChannelBuffer *_pRpcChannelBuffer,
  5338. PRPC_MESSAGE _pRpcMessage,
  5339. DWORD *_pdwStubPhase);
  5340. HRESULT STDMETHODCALLTYPE IMimeMessage_GetRootMoniker_Proxy(
  5341. IMimeMessage __RPC_FAR * This,
  5342. /* [out] */ LPMONIKER __RPC_FAR *ppmk);
  5343. void __RPC_STUB IMimeMessage_GetRootMoniker_Stub(
  5344. IRpcStubBuffer *This,
  5345. IRpcChannelBuffer *_pRpcChannelBuffer,
  5346. PRPC_MESSAGE _pRpcMessage,
  5347. DWORD *_pdwStubPhase);
  5348. #endif /* __IMimeMessage_INTERFACE_DEFINED__ */
  5349. #ifndef __IMimeMessageParts_INTERFACE_DEFINED__
  5350. #define __IMimeMessageParts_INTERFACE_DEFINED__
  5351. /****************************************
  5352. * Generated header for interface: IMimeMessageParts
  5353. * at Mon May 12 23:53:20 1997
  5354. * using MIDL 3.02.88
  5355. ****************************************/
  5356. /* [object][helpstring][uuid] */
  5357. typedef /* [unique] */ IMimeMessageParts __RPC_FAR *LPMIMEMESSAGEPARTS;
  5358. EXTERN_C const IID IID_IMimeMessageParts;
  5359. #if defined(__cplusplus) && !defined(CINTERFACE)
  5360. interface DECLSPEC_UUID("6AD6A1FA-C19B-11d0-85EB-00C04FD85AB4")
  5361. IMimeMessageParts : public IUnknown
  5362. {
  5363. public:
  5364. virtual HRESULT STDMETHODCALLTYPE CombineParts(
  5365. /* [out] */ IMimeMessage __RPC_FAR *__RPC_FAR *ppMessage) = 0;
  5366. virtual HRESULT STDMETHODCALLTYPE AddPart(
  5367. /* [in] */ IMimeMessage __RPC_FAR *pMessage) = 0;
  5368. virtual HRESULT STDMETHODCALLTYPE SetMaxParts(
  5369. /* [in] */ ULONG cParts) = 0;
  5370. virtual HRESULT STDMETHODCALLTYPE CountParts(
  5371. /* [out] */ ULONG __RPC_FAR *pcParts) = 0;
  5372. virtual HRESULT STDMETHODCALLTYPE EnumParts(
  5373. /* [out] */ IMimeEnumMessageParts __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  5374. };
  5375. #else /* C style interface */
  5376. typedef struct IMimeMessagePartsVtbl
  5377. {
  5378. BEGIN_INTERFACE
  5379. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5380. IMimeMessageParts __RPC_FAR * This,
  5381. /* [in] */ REFIID riid,
  5382. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5383. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5384. IMimeMessageParts __RPC_FAR * This);
  5385. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5386. IMimeMessageParts __RPC_FAR * This);
  5387. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CombineParts )(
  5388. IMimeMessageParts __RPC_FAR * This,
  5389. /* [out] */ IMimeMessage __RPC_FAR *__RPC_FAR *ppMessage);
  5390. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPart )(
  5391. IMimeMessageParts __RPC_FAR * This,
  5392. /* [in] */ IMimeMessage __RPC_FAR *pMessage);
  5393. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaxParts )(
  5394. IMimeMessageParts __RPC_FAR * This,
  5395. /* [in] */ ULONG cParts);
  5396. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CountParts )(
  5397. IMimeMessageParts __RPC_FAR * This,
  5398. /* [out] */ ULONG __RPC_FAR *pcParts);
  5399. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumParts )(
  5400. IMimeMessageParts __RPC_FAR * This,
  5401. /* [out] */ IMimeEnumMessageParts __RPC_FAR *__RPC_FAR *ppEnum);
  5402. END_INTERFACE
  5403. } IMimeMessagePartsVtbl;
  5404. interface IMimeMessageParts
  5405. {
  5406. CONST_VTBL struct IMimeMessagePartsVtbl __RPC_FAR *lpVtbl;
  5407. };
  5408. #ifdef COBJMACROS
  5409. #define IMimeMessageParts_QueryInterface(This,riid,ppvObject) \
  5410. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5411. #define IMimeMessageParts_AddRef(This) \
  5412. (This)->lpVtbl -> AddRef(This)
  5413. #define IMimeMessageParts_Release(This) \
  5414. (This)->lpVtbl -> Release(This)
  5415. #define IMimeMessageParts_CombineParts(This,ppMessage) \
  5416. (This)->lpVtbl -> CombineParts(This,ppMessage)
  5417. #define IMimeMessageParts_AddPart(This,pMessage) \
  5418. (This)->lpVtbl -> AddPart(This,pMessage)
  5419. #define IMimeMessageParts_SetMaxParts(This,cParts) \
  5420. (This)->lpVtbl -> SetMaxParts(This,cParts)
  5421. #define IMimeMessageParts_CountParts(This,pcParts) \
  5422. (This)->lpVtbl -> CountParts(This,pcParts)
  5423. #define IMimeMessageParts_EnumParts(This,ppEnum) \
  5424. (This)->lpVtbl -> EnumParts(This,ppEnum)
  5425. #endif /* COBJMACROS */
  5426. #endif /* C style interface */
  5427. HRESULT STDMETHODCALLTYPE IMimeMessageParts_CombineParts_Proxy(
  5428. IMimeMessageParts __RPC_FAR * This,
  5429. /* [out] */ IMimeMessage __RPC_FAR *__RPC_FAR *ppMessage);
  5430. void __RPC_STUB IMimeMessageParts_CombineParts_Stub(
  5431. IRpcStubBuffer *This,
  5432. IRpcChannelBuffer *_pRpcChannelBuffer,
  5433. PRPC_MESSAGE _pRpcMessage,
  5434. DWORD *_pdwStubPhase);
  5435. HRESULT STDMETHODCALLTYPE IMimeMessageParts_AddPart_Proxy(
  5436. IMimeMessageParts __RPC_FAR * This,
  5437. /* [in] */ IMimeMessage __RPC_FAR *pMessage);
  5438. void __RPC_STUB IMimeMessageParts_AddPart_Stub(
  5439. IRpcStubBuffer *This,
  5440. IRpcChannelBuffer *_pRpcChannelBuffer,
  5441. PRPC_MESSAGE _pRpcMessage,
  5442. DWORD *_pdwStubPhase);
  5443. HRESULT STDMETHODCALLTYPE IMimeMessageParts_SetMaxParts_Proxy(
  5444. IMimeMessageParts __RPC_FAR * This,
  5445. /* [in] */ ULONG cParts);
  5446. void __RPC_STUB IMimeMessageParts_SetMaxParts_Stub(
  5447. IRpcStubBuffer *This,
  5448. IRpcChannelBuffer *_pRpcChannelBuffer,
  5449. PRPC_MESSAGE _pRpcMessage,
  5450. DWORD *_pdwStubPhase);
  5451. HRESULT STDMETHODCALLTYPE IMimeMessageParts_CountParts_Proxy(
  5452. IMimeMessageParts __RPC_FAR * This,
  5453. /* [out] */ ULONG __RPC_FAR *pcParts);
  5454. void __RPC_STUB IMimeMessageParts_CountParts_Stub(
  5455. IRpcStubBuffer *This,
  5456. IRpcChannelBuffer *_pRpcChannelBuffer,
  5457. PRPC_MESSAGE _pRpcMessage,
  5458. DWORD *_pdwStubPhase);
  5459. HRESULT STDMETHODCALLTYPE IMimeMessageParts_EnumParts_Proxy(
  5460. IMimeMessageParts __RPC_FAR * This,
  5461. /* [out] */ IMimeEnumMessageParts __RPC_FAR *__RPC_FAR *ppEnum);
  5462. void __RPC_STUB IMimeMessageParts_EnumParts_Stub(
  5463. IRpcStubBuffer *This,
  5464. IRpcChannelBuffer *_pRpcChannelBuffer,
  5465. PRPC_MESSAGE _pRpcMessage,
  5466. DWORD *_pdwStubPhase);
  5467. #endif /* __IMimeMessageParts_INTERFACE_DEFINED__ */
  5468. #ifndef __IMimeEnumHeaderRows_INTERFACE_DEFINED__
  5469. #define __IMimeEnumHeaderRows_INTERFACE_DEFINED__
  5470. /****************************************
  5471. * Generated header for interface: IMimeEnumHeaderRows
  5472. * at Mon May 12 23:53:20 1997
  5473. * using MIDL 3.02.88
  5474. ****************************************/
  5475. /* [object][helpstring][uuid] */
  5476. typedef /* [unique] */ IMimeEnumHeaderRows __RPC_FAR *LPMIMEENUMHEADERROWS;
  5477. typedef struct tagENUMHEADERROW
  5478. {
  5479. HHEADERROW hRow;
  5480. LPSTR pszHeader;
  5481. LPSTR pszData;
  5482. ULONG cchData;
  5483. DWORD dwReserved;
  5484. } ENUMHEADERROW;
  5485. typedef struct tagENUMHEADERROW __RPC_FAR *LPENUMHEADERROW;
  5486. EXTERN_C const IID IID_IMimeEnumHeaderRows;
  5487. #if defined(__cplusplus) && !defined(CINTERFACE)
  5488. interface DECLSPEC_UUID("6AD6A1F0-C19B-11d0-85EB-00C04FD85AB4")
  5489. IMimeEnumHeaderRows : public IUnknown
  5490. {
  5491. public:
  5492. virtual HRESULT STDMETHODCALLTYPE Next(
  5493. /* [in] */ ULONG cFetch,
  5494. /* [out][in] */ LPENUMHEADERROW prgRow,
  5495. /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  5496. virtual HRESULT STDMETHODCALLTYPE Skip(
  5497. /* [in] */ ULONG cItems) = 0;
  5498. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5499. virtual HRESULT STDMETHODCALLTYPE Clone(
  5500. /* [out] */ IMimeEnumHeaderRows __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  5501. virtual HRESULT STDMETHODCALLTYPE Count(
  5502. /* [out] */ ULONG __RPC_FAR *pcItems) = 0;
  5503. };
  5504. #else /* C style interface */
  5505. typedef struct IMimeEnumHeaderRowsVtbl
  5506. {
  5507. BEGIN_INTERFACE
  5508. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5509. IMimeEnumHeaderRows __RPC_FAR * This,
  5510. /* [in] */ REFIID riid,
  5511. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5512. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5513. IMimeEnumHeaderRows __RPC_FAR * This);
  5514. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5515. IMimeEnumHeaderRows __RPC_FAR * This);
  5516. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  5517. IMimeEnumHeaderRows __RPC_FAR * This,
  5518. /* [in] */ ULONG cFetch,
  5519. /* [out][in] */ LPENUMHEADERROW prgRow,
  5520. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5521. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  5522. IMimeEnumHeaderRows __RPC_FAR * This,
  5523. /* [in] */ ULONG cItems);
  5524. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  5525. IMimeEnumHeaderRows __RPC_FAR * This);
  5526. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  5527. IMimeEnumHeaderRows __RPC_FAR * This,
  5528. /* [out] */ IMimeEnumHeaderRows __RPC_FAR *__RPC_FAR *ppEnum);
  5529. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Count )(
  5530. IMimeEnumHeaderRows __RPC_FAR * This,
  5531. /* [out] */ ULONG __RPC_FAR *pcItems);
  5532. END_INTERFACE
  5533. } IMimeEnumHeaderRowsVtbl;
  5534. interface IMimeEnumHeaderRows
  5535. {
  5536. CONST_VTBL struct IMimeEnumHeaderRowsVtbl __RPC_FAR *lpVtbl;
  5537. };
  5538. #ifdef COBJMACROS
  5539. #define IMimeEnumHeaderRows_QueryInterface(This,riid,ppvObject) \
  5540. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5541. #define IMimeEnumHeaderRows_AddRef(This) \
  5542. (This)->lpVtbl -> AddRef(This)
  5543. #define IMimeEnumHeaderRows_Release(This) \
  5544. (This)->lpVtbl -> Release(This)
  5545. #define IMimeEnumHeaderRows_Next(This,cFetch,prgRow,pcFetched) \
  5546. (This)->lpVtbl -> Next(This,cFetch,prgRow,pcFetched)
  5547. #define IMimeEnumHeaderRows_Skip(This,cItems) \
  5548. (This)->lpVtbl -> Skip(This,cItems)
  5549. #define IMimeEnumHeaderRows_Reset(This) \
  5550. (This)->lpVtbl -> Reset(This)
  5551. #define IMimeEnumHeaderRows_Clone(This,ppEnum) \
  5552. (This)->lpVtbl -> Clone(This,ppEnum)
  5553. #define IMimeEnumHeaderRows_Count(This,pcItems) \
  5554. (This)->lpVtbl -> Count(This,pcItems)
  5555. #endif /* COBJMACROS */
  5556. #endif /* C style interface */
  5557. HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Next_Proxy(
  5558. IMimeEnumHeaderRows __RPC_FAR * This,
  5559. /* [in] */ ULONG cFetch,
  5560. /* [out][in] */ LPENUMHEADERROW prgRow,
  5561. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5562. void __RPC_STUB IMimeEnumHeaderRows_Next_Stub(
  5563. IRpcStubBuffer *This,
  5564. IRpcChannelBuffer *_pRpcChannelBuffer,
  5565. PRPC_MESSAGE _pRpcMessage,
  5566. DWORD *_pdwStubPhase);
  5567. HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Skip_Proxy(
  5568. IMimeEnumHeaderRows __RPC_FAR * This,
  5569. /* [in] */ ULONG cItems);
  5570. void __RPC_STUB IMimeEnumHeaderRows_Skip_Stub(
  5571. IRpcStubBuffer *This,
  5572. IRpcChannelBuffer *_pRpcChannelBuffer,
  5573. PRPC_MESSAGE _pRpcMessage,
  5574. DWORD *_pdwStubPhase);
  5575. HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Reset_Proxy(
  5576. IMimeEnumHeaderRows __RPC_FAR * This);
  5577. void __RPC_STUB IMimeEnumHeaderRows_Reset_Stub(
  5578. IRpcStubBuffer *This,
  5579. IRpcChannelBuffer *_pRpcChannelBuffer,
  5580. PRPC_MESSAGE _pRpcMessage,
  5581. DWORD *_pdwStubPhase);
  5582. HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Clone_Proxy(
  5583. IMimeEnumHeaderRows __RPC_FAR * This,
  5584. /* [out] */ IMimeEnumHeaderRows __RPC_FAR *__RPC_FAR *ppEnum);
  5585. void __RPC_STUB IMimeEnumHeaderRows_Clone_Stub(
  5586. IRpcStubBuffer *This,
  5587. IRpcChannelBuffer *_pRpcChannelBuffer,
  5588. PRPC_MESSAGE _pRpcMessage,
  5589. DWORD *_pdwStubPhase);
  5590. HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Count_Proxy(
  5591. IMimeEnumHeaderRows __RPC_FAR * This,
  5592. /* [out] */ ULONG __RPC_FAR *pcItems);
  5593. void __RPC_STUB IMimeEnumHeaderRows_Count_Stub(
  5594. IRpcStubBuffer *This,
  5595. IRpcChannelBuffer *_pRpcChannelBuffer,
  5596. PRPC_MESSAGE _pRpcMessage,
  5597. DWORD *_pdwStubPhase);
  5598. #endif /* __IMimeEnumHeaderRows_INTERFACE_DEFINED__ */
  5599. #ifndef __IMimeEnumProperties_INTERFACE_DEFINED__
  5600. #define __IMimeEnumProperties_INTERFACE_DEFINED__
  5601. /****************************************
  5602. * Generated header for interface: IMimeEnumProperties
  5603. * at Mon May 12 23:53:20 1997
  5604. * using MIDL 3.02.88
  5605. ****************************************/
  5606. /* [object][helpstring][uuid] */
  5607. typedef /* [unique] */ IMimeEnumProperties __RPC_FAR *LPMIMEENUMPROPERTIES;
  5608. typedef struct tagENUMPROPERTY
  5609. {
  5610. LPSTR pszName;
  5611. HHEADERROW hRow;
  5612. DWORD dwPropId;
  5613. } ENUMPROPERTY;
  5614. typedef struct tagENUMPROPERTY __RPC_FAR *LPENUMPROPERTY;
  5615. EXTERN_C const IID IID_IMimeEnumProperties;
  5616. #if defined(__cplusplus) && !defined(CINTERFACE)
  5617. interface DECLSPEC_UUID("6AD6A20B-C19B-11d0-85EB-00C04FD85AB4")
  5618. IMimeEnumProperties : public IUnknown
  5619. {
  5620. public:
  5621. virtual HRESULT STDMETHODCALLTYPE Next(
  5622. /* [in] */ ULONG cFetch,
  5623. /* [out][in] */ LPENUMPROPERTY prgProp,
  5624. /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  5625. virtual HRESULT STDMETHODCALLTYPE Skip(
  5626. /* [in] */ ULONG cItems) = 0;
  5627. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5628. virtual HRESULT STDMETHODCALLTYPE Clone(
  5629. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  5630. virtual HRESULT STDMETHODCALLTYPE Count(
  5631. /* [out] */ ULONG __RPC_FAR *pcItems) = 0;
  5632. };
  5633. #else /* C style interface */
  5634. typedef struct IMimeEnumPropertiesVtbl
  5635. {
  5636. BEGIN_INTERFACE
  5637. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5638. IMimeEnumProperties __RPC_FAR * This,
  5639. /* [in] */ REFIID riid,
  5640. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5641. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5642. IMimeEnumProperties __RPC_FAR * This);
  5643. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5644. IMimeEnumProperties __RPC_FAR * This);
  5645. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  5646. IMimeEnumProperties __RPC_FAR * This,
  5647. /* [in] */ ULONG cFetch,
  5648. /* [out][in] */ LPENUMPROPERTY prgProp,
  5649. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5650. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  5651. IMimeEnumProperties __RPC_FAR * This,
  5652. /* [in] */ ULONG cItems);
  5653. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  5654. IMimeEnumProperties __RPC_FAR * This);
  5655. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  5656. IMimeEnumProperties __RPC_FAR * This,
  5657. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum);
  5658. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Count )(
  5659. IMimeEnumProperties __RPC_FAR * This,
  5660. /* [out] */ ULONG __RPC_FAR *pcItems);
  5661. END_INTERFACE
  5662. } IMimeEnumPropertiesVtbl;
  5663. interface IMimeEnumProperties
  5664. {
  5665. CONST_VTBL struct IMimeEnumPropertiesVtbl __RPC_FAR *lpVtbl;
  5666. };
  5667. #ifdef COBJMACROS
  5668. #define IMimeEnumProperties_QueryInterface(This,riid,ppvObject) \
  5669. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5670. #define IMimeEnumProperties_AddRef(This) \
  5671. (This)->lpVtbl -> AddRef(This)
  5672. #define IMimeEnumProperties_Release(This) \
  5673. (This)->lpVtbl -> Release(This)
  5674. #define IMimeEnumProperties_Next(This,cFetch,prgProp,pcFetched) \
  5675. (This)->lpVtbl -> Next(This,cFetch,prgProp,pcFetched)
  5676. #define IMimeEnumProperties_Skip(This,cItems) \
  5677. (This)->lpVtbl -> Skip(This,cItems)
  5678. #define IMimeEnumProperties_Reset(This) \
  5679. (This)->lpVtbl -> Reset(This)
  5680. #define IMimeEnumProperties_Clone(This,ppEnum) \
  5681. (This)->lpVtbl -> Clone(This,ppEnum)
  5682. #define IMimeEnumProperties_Count(This,pcItems) \
  5683. (This)->lpVtbl -> Count(This,pcItems)
  5684. #endif /* COBJMACROS */
  5685. #endif /* C style interface */
  5686. HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Next_Proxy(
  5687. IMimeEnumProperties __RPC_FAR * This,
  5688. /* [in] */ ULONG cFetch,
  5689. /* [out][in] */ LPENUMPROPERTY prgProp,
  5690. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5691. void __RPC_STUB IMimeEnumProperties_Next_Stub(
  5692. IRpcStubBuffer *This,
  5693. IRpcChannelBuffer *_pRpcChannelBuffer,
  5694. PRPC_MESSAGE _pRpcMessage,
  5695. DWORD *_pdwStubPhase);
  5696. HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Skip_Proxy(
  5697. IMimeEnumProperties __RPC_FAR * This,
  5698. /* [in] */ ULONG cItems);
  5699. void __RPC_STUB IMimeEnumProperties_Skip_Stub(
  5700. IRpcStubBuffer *This,
  5701. IRpcChannelBuffer *_pRpcChannelBuffer,
  5702. PRPC_MESSAGE _pRpcMessage,
  5703. DWORD *_pdwStubPhase);
  5704. HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Reset_Proxy(
  5705. IMimeEnumProperties __RPC_FAR * This);
  5706. void __RPC_STUB IMimeEnumProperties_Reset_Stub(
  5707. IRpcStubBuffer *This,
  5708. IRpcChannelBuffer *_pRpcChannelBuffer,
  5709. PRPC_MESSAGE _pRpcMessage,
  5710. DWORD *_pdwStubPhase);
  5711. HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Clone_Proxy(
  5712. IMimeEnumProperties __RPC_FAR * This,
  5713. /* [out] */ IMimeEnumProperties __RPC_FAR *__RPC_FAR *ppEnum);
  5714. void __RPC_STUB IMimeEnumProperties_Clone_Stub(
  5715. IRpcStubBuffer *This,
  5716. IRpcChannelBuffer *_pRpcChannelBuffer,
  5717. PRPC_MESSAGE _pRpcMessage,
  5718. DWORD *_pdwStubPhase);
  5719. HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Count_Proxy(
  5720. IMimeEnumProperties __RPC_FAR * This,
  5721. /* [out] */ ULONG __RPC_FAR *pcItems);
  5722. void __RPC_STUB IMimeEnumProperties_Count_Stub(
  5723. IRpcStubBuffer *This,
  5724. IRpcChannelBuffer *_pRpcChannelBuffer,
  5725. PRPC_MESSAGE _pRpcMessage,
  5726. DWORD *_pdwStubPhase);
  5727. #endif /* __IMimeEnumProperties_INTERFACE_DEFINED__ */
  5728. #ifndef __IMimeEnumAddressTypes_INTERFACE_DEFINED__
  5729. #define __IMimeEnumAddressTypes_INTERFACE_DEFINED__
  5730. /****************************************
  5731. * Generated header for interface: IMimeEnumAddressTypes
  5732. * at Mon May 12 23:53:20 1997
  5733. * using MIDL 3.02.88
  5734. ****************************************/
  5735. /* [object][helpstring][uuid] */
  5736. typedef /* [unique] */ IMimeEnumAddressTypes __RPC_FAR *LPMIMEENUMADDRESSTYPES;
  5737. EXTERN_C const IID IID_IMimeEnumAddressTypes;
  5738. #if defined(__cplusplus) && !defined(CINTERFACE)
  5739. interface DECLSPEC_UUID("6AD6A1EB-C19B-11d0-85EB-00C04FD85AB4")
  5740. IMimeEnumAddressTypes : public IUnknown
  5741. {
  5742. public:
  5743. virtual HRESULT STDMETHODCALLTYPE Next(
  5744. /* [in] */ ULONG cFetch,
  5745. /* [out][in] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *prgpAddress,
  5746. /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  5747. virtual HRESULT STDMETHODCALLTYPE Skip(
  5748. /* [in] */ ULONG cItems) = 0;
  5749. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5750. virtual HRESULT STDMETHODCALLTYPE Clone(
  5751. /* [out] */ IMimeEnumAddressTypes __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  5752. virtual HRESULT STDMETHODCALLTYPE Count(
  5753. /* [out] */ ULONG __RPC_FAR *pcItems) = 0;
  5754. };
  5755. #else /* C style interface */
  5756. typedef struct IMimeEnumAddressTypesVtbl
  5757. {
  5758. BEGIN_INTERFACE
  5759. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5760. IMimeEnumAddressTypes __RPC_FAR * This,
  5761. /* [in] */ REFIID riid,
  5762. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5763. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5764. IMimeEnumAddressTypes __RPC_FAR * This);
  5765. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5766. IMimeEnumAddressTypes __RPC_FAR * This);
  5767. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  5768. IMimeEnumAddressTypes __RPC_FAR * This,
  5769. /* [in] */ ULONG cFetch,
  5770. /* [out][in] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *prgpAddress,
  5771. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5772. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  5773. IMimeEnumAddressTypes __RPC_FAR * This,
  5774. /* [in] */ ULONG cItems);
  5775. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  5776. IMimeEnumAddressTypes __RPC_FAR * This);
  5777. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  5778. IMimeEnumAddressTypes __RPC_FAR * This,
  5779. /* [out] */ IMimeEnumAddressTypes __RPC_FAR *__RPC_FAR *ppEnum);
  5780. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Count )(
  5781. IMimeEnumAddressTypes __RPC_FAR * This,
  5782. /* [out] */ ULONG __RPC_FAR *pcItems);
  5783. END_INTERFACE
  5784. } IMimeEnumAddressTypesVtbl;
  5785. interface IMimeEnumAddressTypes
  5786. {
  5787. CONST_VTBL struct IMimeEnumAddressTypesVtbl __RPC_FAR *lpVtbl;
  5788. };
  5789. #ifdef COBJMACROS
  5790. #define IMimeEnumAddressTypes_QueryInterface(This,riid,ppvObject) \
  5791. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5792. #define IMimeEnumAddressTypes_AddRef(This) \
  5793. (This)->lpVtbl -> AddRef(This)
  5794. #define IMimeEnumAddressTypes_Release(This) \
  5795. (This)->lpVtbl -> Release(This)
  5796. #define IMimeEnumAddressTypes_Next(This,cFetch,prgpAddress,pcFetched) \
  5797. (This)->lpVtbl -> Next(This,cFetch,prgpAddress,pcFetched)
  5798. #define IMimeEnumAddressTypes_Skip(This,cItems) \
  5799. (This)->lpVtbl -> Skip(This,cItems)
  5800. #define IMimeEnumAddressTypes_Reset(This) \
  5801. (This)->lpVtbl -> Reset(This)
  5802. #define IMimeEnumAddressTypes_Clone(This,ppEnum) \
  5803. (This)->lpVtbl -> Clone(This,ppEnum)
  5804. #define IMimeEnumAddressTypes_Count(This,pcItems) \
  5805. (This)->lpVtbl -> Count(This,pcItems)
  5806. #endif /* COBJMACROS */
  5807. #endif /* C style interface */
  5808. HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Next_Proxy(
  5809. IMimeEnumAddressTypes __RPC_FAR * This,
  5810. /* [in] */ ULONG cFetch,
  5811. /* [out][in] */ IMimeAddressInfo __RPC_FAR *__RPC_FAR *prgpAddress,
  5812. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5813. void __RPC_STUB IMimeEnumAddressTypes_Next_Stub(
  5814. IRpcStubBuffer *This,
  5815. IRpcChannelBuffer *_pRpcChannelBuffer,
  5816. PRPC_MESSAGE _pRpcMessage,
  5817. DWORD *_pdwStubPhase);
  5818. HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Skip_Proxy(
  5819. IMimeEnumAddressTypes __RPC_FAR * This,
  5820. /* [in] */ ULONG cItems);
  5821. void __RPC_STUB IMimeEnumAddressTypes_Skip_Stub(
  5822. IRpcStubBuffer *This,
  5823. IRpcChannelBuffer *_pRpcChannelBuffer,
  5824. PRPC_MESSAGE _pRpcMessage,
  5825. DWORD *_pdwStubPhase);
  5826. HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Reset_Proxy(
  5827. IMimeEnumAddressTypes __RPC_FAR * This);
  5828. void __RPC_STUB IMimeEnumAddressTypes_Reset_Stub(
  5829. IRpcStubBuffer *This,
  5830. IRpcChannelBuffer *_pRpcChannelBuffer,
  5831. PRPC_MESSAGE _pRpcMessage,
  5832. DWORD *_pdwStubPhase);
  5833. HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Clone_Proxy(
  5834. IMimeEnumAddressTypes __RPC_FAR * This,
  5835. /* [out] */ IMimeEnumAddressTypes __RPC_FAR *__RPC_FAR *ppEnum);
  5836. void __RPC_STUB IMimeEnumAddressTypes_Clone_Stub(
  5837. IRpcStubBuffer *This,
  5838. IRpcChannelBuffer *_pRpcChannelBuffer,
  5839. PRPC_MESSAGE _pRpcMessage,
  5840. DWORD *_pdwStubPhase);
  5841. HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Count_Proxy(
  5842. IMimeEnumAddressTypes __RPC_FAR * This,
  5843. /* [out] */ ULONG __RPC_FAR *pcItems);
  5844. void __RPC_STUB IMimeEnumAddressTypes_Count_Stub(
  5845. IRpcStubBuffer *This,
  5846. IRpcChannelBuffer *_pRpcChannelBuffer,
  5847. PRPC_MESSAGE _pRpcMessage,
  5848. DWORD *_pdwStubPhase);
  5849. #endif /* __IMimeEnumAddressTypes_INTERFACE_DEFINED__ */
  5850. #ifndef __IMimeEnumMessageParts_INTERFACE_DEFINED__
  5851. #define __IMimeEnumMessageParts_INTERFACE_DEFINED__
  5852. /****************************************
  5853. * Generated header for interface: IMimeEnumMessageParts
  5854. * at Mon May 12 23:53:20 1997
  5855. * using MIDL 3.02.88
  5856. ****************************************/
  5857. /* [object][helpstring][uuid] */
  5858. typedef /* [unique] */ IMimeEnumMessageParts __RPC_FAR *LPMIMEENUMMESSAGEPARTS;
  5859. EXTERN_C const IID IID_IMimeEnumMessageParts;
  5860. #if defined(__cplusplus) && !defined(CINTERFACE)
  5861. interface DECLSPEC_UUID("6AD6A1F2-C19B-11d0-85EB-00C04FD85AB4")
  5862. IMimeEnumMessageParts : public IUnknown
  5863. {
  5864. public:
  5865. virtual HRESULT STDMETHODCALLTYPE Next(
  5866. /* [in] */ ULONG cFetch,
  5867. /* [out][in] */ IMimeMessage __RPC_FAR *__RPC_FAR *prgpMessage,
  5868. /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  5869. virtual HRESULT STDMETHODCALLTYPE Skip(
  5870. /* [in] */ ULONG cItems) = 0;
  5871. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5872. virtual HRESULT STDMETHODCALLTYPE Clone(
  5873. /* [out] */ IMimeEnumMessageParts __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  5874. virtual HRESULT STDMETHODCALLTYPE Count(
  5875. /* [out] */ ULONG __RPC_FAR *pcItems) = 0;
  5876. };
  5877. #else /* C style interface */
  5878. typedef struct IMimeEnumMessagePartsVtbl
  5879. {
  5880. BEGIN_INTERFACE
  5881. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5882. IMimeEnumMessageParts __RPC_FAR * This,
  5883. /* [in] */ REFIID riid,
  5884. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5885. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5886. IMimeEnumMessageParts __RPC_FAR * This);
  5887. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5888. IMimeEnumMessageParts __RPC_FAR * This);
  5889. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  5890. IMimeEnumMessageParts __RPC_FAR * This,
  5891. /* [in] */ ULONG cFetch,
  5892. /* [out][in] */ IMimeMessage __RPC_FAR *__RPC_FAR *prgpMessage,
  5893. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5894. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  5895. IMimeEnumMessageParts __RPC_FAR * This,
  5896. /* [in] */ ULONG cItems);
  5897. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  5898. IMimeEnumMessageParts __RPC_FAR * This);
  5899. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  5900. IMimeEnumMessageParts __RPC_FAR * This,
  5901. /* [out] */ IMimeEnumMessageParts __RPC_FAR *__RPC_FAR *ppEnum);
  5902. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Count )(
  5903. IMimeEnumMessageParts __RPC_FAR * This,
  5904. /* [out] */ ULONG __RPC_FAR *pcItems);
  5905. END_INTERFACE
  5906. } IMimeEnumMessagePartsVtbl;
  5907. interface IMimeEnumMessageParts
  5908. {
  5909. CONST_VTBL struct IMimeEnumMessagePartsVtbl __RPC_FAR *lpVtbl;
  5910. };
  5911. #ifdef COBJMACROS
  5912. #define IMimeEnumMessageParts_QueryInterface(This,riid,ppvObject) \
  5913. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5914. #define IMimeEnumMessageParts_AddRef(This) \
  5915. (This)->lpVtbl -> AddRef(This)
  5916. #define IMimeEnumMessageParts_Release(This) \
  5917. (This)->lpVtbl -> Release(This)
  5918. #define IMimeEnumMessageParts_Next(This,cFetch,prgpMessage,pcFetched) \
  5919. (This)->lpVtbl -> Next(This,cFetch,prgpMessage,pcFetched)
  5920. #define IMimeEnumMessageParts_Skip(This,cItems) \
  5921. (This)->lpVtbl -> Skip(This,cItems)
  5922. #define IMimeEnumMessageParts_Reset(This) \
  5923. (This)->lpVtbl -> Reset(This)
  5924. #define IMimeEnumMessageParts_Clone(This,ppEnum) \
  5925. (This)->lpVtbl -> Clone(This,ppEnum)
  5926. #define IMimeEnumMessageParts_Count(This,pcItems) \
  5927. (This)->lpVtbl -> Count(This,pcItems)
  5928. #endif /* COBJMACROS */
  5929. #endif /* C style interface */
  5930. HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Next_Proxy(
  5931. IMimeEnumMessageParts __RPC_FAR * This,
  5932. /* [in] */ ULONG cFetch,
  5933. /* [out][in] */ IMimeMessage __RPC_FAR *__RPC_FAR *prgpMessage,
  5934. /* [out] */ ULONG __RPC_FAR *pcFetched);
  5935. void __RPC_STUB IMimeEnumMessageParts_Next_Stub(
  5936. IRpcStubBuffer *This,
  5937. IRpcChannelBuffer *_pRpcChannelBuffer,
  5938. PRPC_MESSAGE _pRpcMessage,
  5939. DWORD *_pdwStubPhase);
  5940. HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Skip_Proxy(
  5941. IMimeEnumMessageParts __RPC_FAR * This,
  5942. /* [in] */ ULONG cItems);
  5943. void __RPC_STUB IMimeEnumMessageParts_Skip_Stub(
  5944. IRpcStubBuffer *This,
  5945. IRpcChannelBuffer *_pRpcChannelBuffer,
  5946. PRPC_MESSAGE _pRpcMessage,
  5947. DWORD *_pdwStubPhase);
  5948. HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Reset_Proxy(
  5949. IMimeEnumMessageParts __RPC_FAR * This);
  5950. void __RPC_STUB IMimeEnumMessageParts_Reset_Stub(
  5951. IRpcStubBuffer *This,
  5952. IRpcChannelBuffer *_pRpcChannelBuffer,
  5953. PRPC_MESSAGE _pRpcMessage,
  5954. DWORD *_pdwStubPhase);
  5955. HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Clone_Proxy(
  5956. IMimeEnumMessageParts __RPC_FAR * This,
  5957. /* [out] */ IMimeEnumMessageParts __RPC_FAR *__RPC_FAR *ppEnum);
  5958. void __RPC_STUB IMimeEnumMessageParts_Clone_Stub(
  5959. IRpcStubBuffer *This,
  5960. IRpcChannelBuffer *_pRpcChannelBuffer,
  5961. PRPC_MESSAGE _pRpcMessage,
  5962. DWORD *_pdwStubPhase);
  5963. HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Count_Proxy(
  5964. IMimeEnumMessageParts __RPC_FAR * This,
  5965. /* [out] */ ULONG __RPC_FAR *pcItems);
  5966. void __RPC_STUB IMimeEnumMessageParts_Count_Stub(
  5967. IRpcStubBuffer *This,
  5968. IRpcChannelBuffer *_pRpcChannelBuffer,
  5969. PRPC_MESSAGE _pRpcMessage,
  5970. DWORD *_pdwStubPhase);
  5971. #endif /* __IMimeEnumMessageParts_INTERFACE_DEFINED__ */
  5972. #ifndef __IMimeAllocator_INTERFACE_DEFINED__
  5973. #define __IMimeAllocator_INTERFACE_DEFINED__
  5974. /****************************************
  5975. * Generated header for interface: IMimeAllocator
  5976. * at Mon May 12 23:53:20 1997
  5977. * using MIDL 3.02.88
  5978. ****************************************/
  5979. /* [object][helpstring][uuid] */
  5980. typedef /* [unique] */ IMimeAllocator __RPC_FAR *LPMIMEALLOCATOR;
  5981. EXTERN_C const IID IID_IMimeAllocator;
  5982. #if defined(__cplusplus) && !defined(CINTERFACE)
  5983. interface DECLSPEC_UUID("6AD6A1FC-C19B-11d0-85EB-00C04FD85AB4")
  5984. IMimeAllocator : public IMalloc
  5985. {
  5986. public:
  5987. virtual HRESULT STDMETHODCALLTYPE FreeParamInfoArray(
  5988. /* [in] */ ULONG cParams,
  5989. /* [in] */ LPMIMEPARAMINFO prgParam,
  5990. /* [in] */ boolean fFreeArray) = 0;
  5991. virtual HRESULT STDMETHODCALLTYPE FreeAddressList(
  5992. /* [out][in] */ LPADDRESSLIST pList) = 0;
  5993. virtual HRESULT STDMETHODCALLTYPE ReleaseObjects(
  5994. /* [in] */ ULONG cObjects,
  5995. /* [in] */ IUnknown __RPC_FAR *__RPC_FAR *prgpUnknown,
  5996. /* [in] */ boolean fFreeArray) = 0;
  5997. virtual HRESULT STDMETHODCALLTYPE FreeEnumHeaderRowArray(
  5998. /* [in] */ ULONG cRows,
  5999. /* [in] */ LPENUMHEADERROW prgRow,
  6000. /* [in] */ boolean fFreeArray) = 0;
  6001. virtual HRESULT STDMETHODCALLTYPE FreeEnumPropertyArray(
  6002. /* [in] */ ULONG cProps,
  6003. /* [in] */ LPENUMPROPERTY prgProp,
  6004. /* [in] */ boolean fFreeArray) = 0;
  6005. virtual HRESULT STDMETHODCALLTYPE FreeThumbprint(
  6006. /* [in] */ THUMBBLOB __RPC_FAR *pthumbprint) = 0;
  6007. virtual HRESULT STDMETHODCALLTYPE FreeSMIMEINFO(
  6008. /* [in] */ SMIMEINFO __RPC_FAR *psi) = 0;
  6009. virtual HRESULT STDMETHODCALLTYPE PropVariantClear(
  6010. /* [in] */ LPPROPVARIANT pProp) = 0;
  6011. };
  6012. #else /* C style interface */
  6013. typedef struct IMimeAllocatorVtbl
  6014. {
  6015. BEGIN_INTERFACE
  6016. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  6017. IMimeAllocator __RPC_FAR * This,
  6018. /* [in] */ REFIID riid,
  6019. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6020. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  6021. IMimeAllocator __RPC_FAR * This);
  6022. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  6023. IMimeAllocator __RPC_FAR * This);
  6024. void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Alloc )(
  6025. IMimeAllocator __RPC_FAR * This,
  6026. /* [in] */ ULONG cb);
  6027. void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Realloc )(
  6028. IMimeAllocator __RPC_FAR * This,
  6029. /* [in] */ void __RPC_FAR *pv,
  6030. /* [in] */ ULONG cb);
  6031. void ( STDMETHODCALLTYPE __RPC_FAR *Free )(
  6032. IMimeAllocator __RPC_FAR * This,
  6033. /* [in] */ void __RPC_FAR *pv);
  6034. ULONG ( STDMETHODCALLTYPE __RPC_FAR *GetSize )(
  6035. IMimeAllocator __RPC_FAR * This,
  6036. /* [in] */ void __RPC_FAR *pv);
  6037. int ( STDMETHODCALLTYPE __RPC_FAR *DidAlloc )(
  6038. IMimeAllocator __RPC_FAR * This,
  6039. void __RPC_FAR *pv);
  6040. void ( STDMETHODCALLTYPE __RPC_FAR *HeapMinimize )(
  6041. IMimeAllocator __RPC_FAR * This);
  6042. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeParamInfoArray )(
  6043. IMimeAllocator __RPC_FAR * This,
  6044. /* [in] */ ULONG cParams,
  6045. /* [in] */ LPMIMEPARAMINFO prgParam,
  6046. /* [in] */ boolean fFreeArray);
  6047. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeAddressList )(
  6048. IMimeAllocator __RPC_FAR * This,
  6049. /* [out][in] */ LPADDRESSLIST pList);
  6050. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseObjects )(
  6051. IMimeAllocator __RPC_FAR * This,
  6052. /* [in] */ ULONG cObjects,
  6053. /* [in] */ IUnknown __RPC_FAR *__RPC_FAR *prgpUnknown,
  6054. /* [in] */ boolean fFreeArray);
  6055. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeEnumHeaderRowArray )(
  6056. IMimeAllocator __RPC_FAR * This,
  6057. /* [in] */ ULONG cRows,
  6058. /* [in] */ LPENUMHEADERROW prgRow,
  6059. /* [in] */ boolean fFreeArray);
  6060. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeEnumPropertyArray )(
  6061. IMimeAllocator __RPC_FAR * This,
  6062. /* [in] */ ULONG cProps,
  6063. /* [in] */ LPENUMPROPERTY prgProp,
  6064. /* [in] */ boolean fFreeArray);
  6065. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeThumbprint )(
  6066. IMimeAllocator __RPC_FAR * This,
  6067. /* [in] */ THUMBBLOB __RPC_FAR *pthumbprint);
  6068. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeSMIMEINFO )(
  6069. IMimeAllocator __RPC_FAR * This,
  6070. /* [in] */ SMIMEINFO __RPC_FAR *psi);
  6071. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PropVariantClear )(
  6072. IMimeAllocator __RPC_FAR * This,
  6073. /* [in] */ LPPROPVARIANT pProp);
  6074. END_INTERFACE
  6075. } IMimeAllocatorVtbl;
  6076. interface IMimeAllocator
  6077. {
  6078. CONST_VTBL struct IMimeAllocatorVtbl __RPC_FAR *lpVtbl;
  6079. };
  6080. #ifdef COBJMACROS
  6081. #define IMimeAllocator_QueryInterface(This,riid,ppvObject) \
  6082. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6083. #define IMimeAllocator_AddRef(This) \
  6084. (This)->lpVtbl -> AddRef(This)
  6085. #define IMimeAllocator_Release(This) \
  6086. (This)->lpVtbl -> Release(This)
  6087. #define IMimeAllocator_Alloc(This,cb) \
  6088. (This)->lpVtbl -> Alloc(This,cb)
  6089. #define IMimeAllocator_Realloc(This,pv,cb) \
  6090. (This)->lpVtbl -> Realloc(This,pv,cb)
  6091. #define IMimeAllocator_Free(This,pv) \
  6092. (This)->lpVtbl -> Free(This,pv)
  6093. #define IMimeAllocator_GetSize(This,pv) \
  6094. (This)->lpVtbl -> GetSize(This,pv)
  6095. #define IMimeAllocator_DidAlloc(This,pv) \
  6096. (This)->lpVtbl -> DidAlloc(This,pv)
  6097. #define IMimeAllocator_HeapMinimize(This) \
  6098. (This)->lpVtbl -> HeapMinimize(This)
  6099. #define IMimeAllocator_FreeParamInfoArray(This,cParams,prgParam,fFreeArray) \
  6100. (This)->lpVtbl -> FreeParamInfoArray(This,cParams,prgParam,fFreeArray)
  6101. #define IMimeAllocator_FreeAddressList(This,pList) \
  6102. (This)->lpVtbl -> FreeAddressList(This,pList)
  6103. #define IMimeAllocator_ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray) \
  6104. (This)->lpVtbl -> ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray)
  6105. #define IMimeAllocator_FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray) \
  6106. (This)->lpVtbl -> FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray)
  6107. #define IMimeAllocator_FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray) \
  6108. (This)->lpVtbl -> FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray)
  6109. #define IMimeAllocator_FreeThumbprint(This,pthumbprint) \
  6110. (This)->lpVtbl -> FreeThumbprint(This,pthumbprint)
  6111. #define IMimeAllocator_FreeSMIMEINFO(This,psi) \
  6112. (This)->lpVtbl -> FreeSMIMEINFO(This,psi)
  6113. #define IMimeAllocator_PropVariantClear(This,pProp) \
  6114. (This)->lpVtbl -> PropVariantClear(This,pProp)
  6115. #endif /* COBJMACROS */
  6116. #endif /* C style interface */
  6117. HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeParamInfoArray_Proxy(
  6118. IMimeAllocator __RPC_FAR * This,
  6119. /* [in] */ ULONG cParams,
  6120. /* [in] */ LPMIMEPARAMINFO prgParam,
  6121. /* [in] */ boolean fFreeArray);
  6122. void __RPC_STUB IMimeAllocator_FreeParamInfoArray_Stub(
  6123. IRpcStubBuffer *This,
  6124. IRpcChannelBuffer *_pRpcChannelBuffer,
  6125. PRPC_MESSAGE _pRpcMessage,
  6126. DWORD *_pdwStubPhase);
  6127. HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeAddressList_Proxy(
  6128. IMimeAllocator __RPC_FAR * This,
  6129. /* [out][in] */ LPADDRESSLIST pList);
  6130. void __RPC_STUB IMimeAllocator_FreeAddressList_Stub(
  6131. IRpcStubBuffer *This,
  6132. IRpcChannelBuffer *_pRpcChannelBuffer,
  6133. PRPC_MESSAGE _pRpcMessage,
  6134. DWORD *_pdwStubPhase);
  6135. HRESULT STDMETHODCALLTYPE IMimeAllocator_ReleaseObjects_Proxy(
  6136. IMimeAllocator __RPC_FAR * This,
  6137. /* [in] */ ULONG cObjects,
  6138. /* [in] */ IUnknown __RPC_FAR *__RPC_FAR *prgpUnknown,
  6139. /* [in] */ boolean fFreeArray);
  6140. void __RPC_STUB IMimeAllocator_ReleaseObjects_Stub(
  6141. IRpcStubBuffer *This,
  6142. IRpcChannelBuffer *_pRpcChannelBuffer,
  6143. PRPC_MESSAGE _pRpcMessage,
  6144. DWORD *_pdwStubPhase);
  6145. HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeEnumHeaderRowArray_Proxy(
  6146. IMimeAllocator __RPC_FAR * This,
  6147. /* [in] */ ULONG cRows,
  6148. /* [in] */ LPENUMHEADERROW prgRow,
  6149. /* [in] */ boolean fFreeArray);
  6150. void __RPC_STUB IMimeAllocator_FreeEnumHeaderRowArray_Stub(
  6151. IRpcStubBuffer *This,
  6152. IRpcChannelBuffer *_pRpcChannelBuffer,
  6153. PRPC_MESSAGE _pRpcMessage,
  6154. DWORD *_pdwStubPhase);
  6155. HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeEnumPropertyArray_Proxy(
  6156. IMimeAllocator __RPC_FAR * This,
  6157. /* [in] */ ULONG cProps,
  6158. /* [in] */ LPENUMPROPERTY prgProp,
  6159. /* [in] */ boolean fFreeArray);
  6160. void __RPC_STUB IMimeAllocator_FreeEnumPropertyArray_Stub(
  6161. IRpcStubBuffer *This,
  6162. IRpcChannelBuffer *_pRpcChannelBuffer,
  6163. PRPC_MESSAGE _pRpcMessage,
  6164. DWORD *_pdwStubPhase);
  6165. HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeThumbprint_Proxy(
  6166. IMimeAllocator __RPC_FAR * This,
  6167. /* [in] */ THUMBBLOB __RPC_FAR *pthumbprint);
  6168. void __RPC_STUB IMimeAllocator_FreeThumbprint_Stub(
  6169. IRpcStubBuffer *This,
  6170. IRpcChannelBuffer *_pRpcChannelBuffer,
  6171. PRPC_MESSAGE _pRpcMessage,
  6172. DWORD *_pdwStubPhase);
  6173. HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeSMIMEINFO_Proxy(
  6174. IMimeAllocator __RPC_FAR * This,
  6175. /* [in] */ SMIMEINFO __RPC_FAR *psi);
  6176. void __RPC_STUB IMimeAllocator_FreeSMIMEINFO_Stub(
  6177. IRpcStubBuffer *This,
  6178. IRpcChannelBuffer *_pRpcChannelBuffer,
  6179. PRPC_MESSAGE _pRpcMessage,
  6180. DWORD *_pdwStubPhase);
  6181. HRESULT STDMETHODCALLTYPE IMimeAllocator_PropVariantClear_Proxy(
  6182. IMimeAllocator __RPC_FAR * This,
  6183. /* [in] */ LPPROPVARIANT pProp);
  6184. void __RPC_STUB IMimeAllocator_PropVariantClear_Stub(
  6185. IRpcStubBuffer *This,
  6186. IRpcChannelBuffer *_pRpcChannelBuffer,
  6187. PRPC_MESSAGE _pRpcMessage,
  6188. DWORD *_pdwStubPhase);
  6189. #endif /* __IMimeAllocator_INTERFACE_DEFINED__ */
  6190. #endif /* __MIMEOLE_LIBRARY_DEFINED__ */
  6191. /* Additional Prototypes for ALL interfaces */
  6192. /* end of Additional Prototypes */
  6193. #ifdef __cplusplus
  6194. }
  6195. #endif
  6196. #endif