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.

748 lines
36 KiB

  1. // --------------------------------------------------------------------------------
  2. // Imnact.idl
  3. // Copyright (c)1993-1998 Microsoft Corporation, All Rights Reserved
  4. // Steven J. Bailey
  5. // --------------------------------------------------------------------------------
  6. import "objidl.idl";
  7. interface IImnAccount;
  8. cpp_quote("//=--------------------------------------------------------------------------=")
  9. cpp_quote("// Imnact.h")
  10. cpp_quote("//=--------------------------------------------------------------------------=")
  11. cpp_quote("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.")
  12. cpp_quote("//")
  13. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  14. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  15. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  16. cpp_quote("// PARTICULAR PURPOSE.")
  17. cpp_quote("//=--------------------------------------------------------------------------=")
  18. cpp_quote("")
  19. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  20. cpp_quote("")
  21. cpp_quote("//---------------------------------------------------------------------------=")
  22. cpp_quote("// Internet Mail and News Account Manager Interfaces.")
  23. cpp_quote("")
  24. cpp_quote("// --------------------------------------------------------------------------------")
  25. cpp_quote("// GUIDS")
  26. cpp_quote("// --------------------------------------------------------------------------------")
  27. cpp_quote("#if !defined( WIN16 ) || defined( __cplusplus )")
  28. cpp_quote("// {8D4B04E1-1331-11d0-81B8-00C04FD85AB4}")
  29. cpp_quote("DEFINE_GUID(CLSID_ImnAccountManager, 0x8d4b04e1, 0x1331, 0x11d0, 0x81, 0xb8, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
  30. cpp_quote("")
  31. cpp_quote("// {FD465484-1384-11d0-ABBD-0020AFDFD10A}")
  32. cpp_quote("DEFINE_GUID(IID_IPropertyContainer, 0xfd465484, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);")
  33. cpp_quote("")
  34. cpp_quote("// {FD465481-1384-11d0-ABBD-0020AFDFD10A}")
  35. cpp_quote("DEFINE_GUID(IID_IImnAccountManager, 0xfd465481, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);")
  36. cpp_quote("")
  37. cpp_quote("// {C43DFC6F-62BB-11d2-A727-00C04F79E7C8}")
  38. cpp_quote("DEFINE_GUID(IID_IImnAccountManager2, 0xc43dfc6f, 0x62bb, 0x11d2, 0xa7, 0x27, 0x0, 0xc0, 0x4f, 0x79, 0xe7, 0xc8);")
  39. cpp_quote("")
  40. cpp_quote("// {FD465482-1384-11d0-ABBD-0020AFDFD10A}")
  41. cpp_quote("DEFINE_GUID(IID_IImnAccount, 0xfd465482, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);")
  42. cpp_quote("")
  43. cpp_quote("// {FD465483-1384-11d0-ABBD-0020AFDFD10A}")
  44. cpp_quote("DEFINE_GUID(IID_IImnEnumAccounts, 0xfd465483, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);")
  45. cpp_quote("")
  46. cpp_quote("// {8D0AED11-1638-11d0-81B9-00C04FD85AB4}")
  47. cpp_quote("DEFINE_GUID(IID_IImnAdviseMigrateServer, 0x8d0aed11, 0x1638, 0x11d0, 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
  48. cpp_quote("")
  49. cpp_quote("// {0A06BD31-166F-11d0-81B9-00C04FD85AB4}")
  50. cpp_quote("DEFINE_GUID(IID_IImnAdviseAccount, 0xa06bd31, 0x166f, 0x11d0, 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
  51. cpp_quote("")
  52. cpp_quote("#endif //!WIN16 || __cplusplus")
  53. cpp_quote("")
  54. cpp_quote("// --------------------------------------------------------------------------------")
  55. cpp_quote("// Exported C Functions")
  56. cpp_quote("// --------------------------------------------------------------------------------")
  57. cpp_quote("#if !defined(_IMNACCT_)")
  58. cpp_quote("#define IMNACCTAPI DECLSPEC_IMPORT HRESULT WINAPI")
  59. cpp_quote("#define IMNACCTAPI_(_type_) DECLSPEC_IMPORT _type_ WINAPI")
  60. cpp_quote("#else")
  61. cpp_quote("#define IMNACCTAPI HRESULT WINAPI")
  62. cpp_quote("#define IMNACCTAPI_(_type_) _type_ WINAPI")
  63. cpp_quote("#endif")
  64. cpp_quote("#ifdef __cplusplus")
  65. cpp_quote("extern \"C\" {")
  66. cpp_quote("#endif")
  67. cpp_quote("")
  68. cpp_quote("IMNACCTAPI HrCreateAccountManager(IImnAccountManager **ppAccountManager);")
  69. cpp_quote("IMNACCTAPI ValidEmailAddress(LPSTR lpAddress);")
  70. cpp_quote("")
  71. cpp_quote("#ifdef __cplusplus")
  72. cpp_quote("}")
  73. cpp_quote("#endif")
  74. cpp_quote("")
  75. cpp_quote("// --------------------------------------------------------------------------------")
  76. cpp_quote("// Errors")
  77. cpp_quote("// --------------------------------------------------------------------------------")
  78. //;begin_internal
  79. //
  80. // NOTE: All inetcomm error codes must reside between CC00 and CFFF (a 1k block).
  81. // This has been approved by Johann Posch (johannp)
  82. // We further subdevide this range as follows:
  83. // CC00-CCFF IMNXPORT results
  84. // CD00-CDFF IMNACCT results
  85. // CE00-CEFF MIMEOLE results
  86. // CF00-CFFF undefined, do not use
  87. // (t-erikne 03/24/97)
  88. //
  89. //;end_internal
  90. cpp_quote("#ifndef FACILITY_INTERNET")
  91. cpp_quote("#define FACILITY_INTERNET 12")
  92. cpp_quote("#endif")
  93. cpp_quote("#ifndef HR_E")
  94. cpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)")
  95. cpp_quote("#endif")
  96. cpp_quote("#ifndef HR_S")
  97. cpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)")
  98. cpp_quote("#endif")
  99. cpp_quote("#ifndef HR_CODE")
  100. cpp_quote("#define HR_CODE(hr) (INT)(hr & 0xffff)")
  101. cpp_quote("#endif")
  102. cpp_quote("")
  103. cpp_quote("// --------------------------------------------------------------------------------")
  104. cpp_quote("// General Errors")
  105. cpp_quote("// --------------------------------------------------------------------------------")
  106. cpp_quote("#define E_RegCreateKeyFailed HR_E(0xCD00)")
  107. cpp_quote("#define E_RegQueryInfoKeyFailed HR_E(0xCD01)")
  108. cpp_quote("#define E_UserCancel HR_E(0xCD02)")
  109. cpp_quote("#define E_RegOpenKeyFailed HR_E(0xCD03)")
  110. cpp_quote("#define E_RegSetValueFailed HR_E(0xCD04)")
  111. cpp_quote("#define E_RegDeleteKeyFailed HR_E(0xCD05)")
  112. cpp_quote("#define E_DuplicateAccountName HR_E(0xCD06)")
  113. cpp_quote("#define S_NonStandardValue HR_S(0xCD07)")
  114. cpp_quote("#define E_InvalidValue HR_E(0xCD08)")
  115. cpp_quote("#define S_AlreadyInitialized HR_S(0xCD09)")
  116. cpp_quote("")
  117. cpp_quote("// --------------------------------------------------------------------------------")
  118. cpp_quote("// IPropertyContainer Errors")
  119. cpp_quote("// --------------------------------------------------------------------------------")
  120. cpp_quote("#define E_NoPropData HR_E(0xCDA0)")
  121. cpp_quote("#define E_BufferTooSmall HR_E(0xCDA1)")
  122. cpp_quote("#define E_BadPropType HR_E(0xCDA2)")
  123. cpp_quote("#define E_BufferSizeMismatch HR_E(0xCDA3)")
  124. cpp_quote("#define E_InvalidBooleanValue HR_E(0xCDA4)")
  125. cpp_quote("#define E_InvalidMinMaxValue HR_E(0xCDA5)")
  126. cpp_quote("#define E_PropNotFound HR_E(0xCDA6)")
  127. cpp_quote("#define E_InvalidPropTag HR_E(0xCDA7)")
  128. cpp_quote("#define E_InvalidPropertySet HR_E(0xCDA8)")
  129. cpp_quote("#define E_EnumFinished HR_E(0xCDA9)") //N should be S_FALSE?
  130. cpp_quote("#define S_NoSaveNeeded HR_S(0xCDAA)")
  131. cpp_quote("#define S_PasswordDeleted HR_S(0xCDAB)")
  132. cpp_quote("#define S_PasswordNotFound HR_S(0xCDAC)")
  133. cpp_quote("")
  134. cpp_quote("// --------------------------------------------------------------------------------")
  135. cpp_quote("// ImnAccountManager errors")
  136. cpp_quote("// --------------------------------------------------------------------------------")
  137. cpp_quote("#define E_NoAccounts HR_E(0xCDD0)")
  138. cpp_quote("#define E_BadFriendlyName HR_E(0xCDD1)")
  139. cpp_quote("#define E_NoIdentities HR_E(0xCDD2)")
  140. cpp_quote("")
  141. cpp_quote("// --------------------------------------------------------------------------------")
  142. cpp_quote("// RAS Connection Types")
  143. cpp_quote("// --------------------------------------------------------------------------------")
  144. cpp_quote("#define CF_AUTO_CONNECT FLAG02 // Automatically connect")
  145. cpp_quote("")
  146. cpp_quote("// --------------------------------------------------------------------------------")
  147. cpp_quote("// Property Macros")
  148. cpp_quote("// --------------------------------------------------------------------------------")
  149. cpp_quote("#define PROPTAG_MASK ((ULONG)0x0000FFFF)")
  150. cpp_quote("#define PROPTAG_TYPE(ulPropTag) (PROPTYPE)(((ULONG)(ulPropTag)) & PROPTAG_MASK)")
  151. cpp_quote("#define PROPTAG_ID(ulPropTag) (((ULONG)(ulPropTag))>>16)")
  152. cpp_quote("#define PROPTAG(ulPropType,ulPropID) ((((ULONG)(ulPropID))<<16)|((ULONG)(ulPropType)))")
  153. cpp_quote("#define MAX_PROPID ((ULONG) 0xFFFF)")
  154. cpp_quote("")
  155. cpp_quote("// --------------------------------------------------------------------------------")
  156. cpp_quote("// IImnAccount Properties")
  157. cpp_quote("// --------------------------------------------------------------------------------")
  158. cpp_quote("#define AP_FIRST 0X1234")
  159. cpp_quote("// per account properties")
  160. cpp_quote("#define AP_ACCOUNT_NAME PROPTAG(TYPE_STRING, AP_FIRST+1)")
  161. cpp_quote("#define AP_ACCOUNT_FIRST AP_ACCOUNT_NAME")
  162. cpp_quote("#define AP_TEMP_ACCOUNT PROPTAG(TYPE_DWORD, AP_FIRST+3)")
  163. cpp_quote("#define AP_LAST_UPDATED PROPTAG(TYPE_FILETIME, AP_FIRST+4)")
  164. cpp_quote("#define AP_RAS_CONNECTION_TYPE PROPTAG(TYPE_DWORD, AP_FIRST+5)")
  165. cpp_quote("#define AP_RAS_CONNECTOID PROPTAG(TYPE_STRING, AP_FIRST+6)")
  166. cpp_quote("#define AP_RAS_CONNECTION_FLAGS PROPTAG(TYPE_DWORD, AP_FIRST+7)")
  167. cpp_quote("#define AP_ACCOUNT_ID PROPTAG(TYPE_STRING, AP_FIRST+9)")
  168. cpp_quote("#define AP_RAS_BACKUP_CONNECTOID PROPTAG(TYPE_STRING, AP_FIRST+10)")
  169. cpp_quote("#define AP_SERVICE PROPTAG(TYPE_STRING, AP_FIRST+11)")
  170. cpp_quote("#define AP_AVAIL_OFFLINE PROPTAG(TYPE_DWORD, AP_FIRST+12)")
  171. cpp_quote("#define AP_UNIQUE_ID PROPTAG(TYPE_BINARY, AP_FIRST+13)")
  172. cpp_quote("#define AP_SERVER_READ_ONLY PROPTAG(TYPE_BOOL, AP_FIRST+14)")
  173. cpp_quote("#define AP_ACCOUNT_LAST AP_SERVER_READ_ONLY")
  174. cpp_quote("")
  175. cpp_quote("// IMAP properties")
  176. cpp_quote("#define AP_IMAP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+100)")
  177. cpp_quote("#define AP_IMAP_FIRST AP_IMAP_SERVER")
  178. cpp_quote("#define AP_IMAP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+101)")
  179. cpp_quote("#define AP_IMAP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+102)")
  180. cpp_quote("#define AP_IMAP_USE_SICILY PROPTAG(TYPE_BOOL, AP_FIRST+104)")
  181. cpp_quote("#define AP_IMAP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+105)")
  182. cpp_quote("#define AP_IMAP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+106)")
  183. cpp_quote("#define AP_IMAP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+107)")
  184. cpp_quote("#define AP_IMAP_ROOT_FOLDER PROPTAG(TYPE_STRING, AP_FIRST+108)")
  185. cpp_quote("#define AP_IMAP_DATA_DIR PROPTAG(TYPE_STRING, AP_FIRST+109)")
  186. cpp_quote("#define AP_IMAP_USE_LSUB PROPTAG(TYPE_BOOL, AP_FIRST+111)")
  187. cpp_quote("#define AP_IMAP_POLL PROPTAG(TYPE_BOOL, AP_FIRST+112)")
  188. cpp_quote("#define AP_IMAP_FULL_LIST PROPTAG(TYPE_BOOL, AP_FIRST+113)")
  189. cpp_quote("#define AP_IMAP_NOOP_INTERVAL PROPTAG(TYPE_DWORD, AP_FIRST+114)")
  190. cpp_quote("#define AP_IMAP_SVRSPECIALFLDRS PROPTAG(TYPE_BOOL, AP_FIRST+116)")
  191. cpp_quote("#define AP_IMAP_SENTITEMSFLDR PROPTAG(TYPE_STRING, AP_FIRST+117)")
  192. cpp_quote("#define AP_IMAP_DRAFTSFLDR PROPTAG(TYPE_STRING, AP_FIRST+119)")
  193. cpp_quote("#define AP_IMAP_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+124)")
  194. cpp_quote("#define AP_IMAP_DIRTY PROPTAG(TYPE_DWORD, AP_FIRST+125)")
  195. cpp_quote("#define AP_IMAP_POLL_ALL_FOLDERS PROPTAG(TYPE_BOOL, AP_FIRST+126)")
  196. cpp_quote("#define AP_IMAP_LAST AP_IMAP_POLL_ALL_FOLDERS")
  197. cpp_quote("")
  198. cpp_quote("// LDAP properties")
  199. cpp_quote("#define AP_LDAP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+200)")
  200. cpp_quote("#define AP_LDAP_FIRST AP_LDAP_SERVER")
  201. cpp_quote("#define AP_LDAP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+201)")
  202. cpp_quote("#define AP_LDAP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+202)")
  203. cpp_quote("#define AP_LDAP_AUTHENTICATION PROPTAG(TYPE_DWORD, AP_FIRST+203)")
  204. cpp_quote("#define AP_LDAP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+204)")
  205. cpp_quote("#define AP_LDAP_SEARCH_RETURN PROPTAG(TYPE_DWORD, AP_FIRST+205)")
  206. cpp_quote("#define AP_LDAP_SEARCH_BASE PROPTAG(TYPE_STRING, AP_FIRST+206)")
  207. cpp_quote("#define AP_LDAP_SERVER_ID PROPTAG(TYPE_DWORD, AP_FIRST+207)")
  208. cpp_quote("#define AP_LDAP_RESOLVE_FLAG PROPTAG(TYPE_DWORD, AP_FIRST+208)")
  209. cpp_quote("#define AP_LDAP_URL PROPTAG(TYPE_STRING, AP_FIRST+209)")
  210. cpp_quote("#define AP_LDAP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+210)")
  211. cpp_quote("#define AP_LDAP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+211)")
  212. cpp_quote("#define AP_LDAP_LOGO PROPTAG(TYPE_STRING, AP_FIRST+212)")
  213. cpp_quote("#define AP_LDAP_USE_BIND_DN PROPTAG(TYPE_DWORD, AP_FIRST+213)")
  214. cpp_quote("#define AP_LDAP_SIMPLE_SEARCH PROPTAG(TYPE_DWORD, AP_FIRST+214)")
  215. cpp_quote("#define AP_LDAP_ADVANCED_SEARCH_ATTR PROPTAG(TYPE_STRING, AP_FIRST+215)")
  216. cpp_quote("#define AP_LDAP_PAGED_RESULTS PROPTAG(TYPE_DWORD, AP_FIRST+216)")
  217. cpp_quote("#define AP_LDAP_NTDS PROPTAG(TYPE_DWORD, AP_FIRST+217)")
  218. cpp_quote("#define AP_LDAP_LAST AP_LDAP_NTDS")
  219. cpp_quote("")
  220. cpp_quote("// HTTPMail properties")
  221. cpp_quote("#define AP_HTTPMAIL_SERVER PROPTAG(TYPE_STRING, AP_FIRST+250)")
  222. cpp_quote("#define AP_HTTPMAIL_FIRST AP_HTTPMAIL_SERVER")
  223. cpp_quote("#define AP_HTTPMAIL_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+251)")
  224. cpp_quote("#define AP_HTTPMAIL_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+252)")
  225. cpp_quote("#define AP_HTTPMAIL_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+253)")
  226. cpp_quote("#define AP_HTTPMAIL_USE_SICILY PROPTAG(TYPE_DWORD, AP_FIRST+254)")
  227. cpp_quote("#define AP_HTTPMAIL_FRIENDLY_NAME PROPTAG(TYPE_STRING, AP_FIRST+255)")
  228. cpp_quote("#define AP_HTTPMAIL_DOMAIN_MSN PROPTAG(TYPE_BOOL, AP_FIRST+256)")
  229. cpp_quote("#define AP_HTTPMAIL_POLL PROPTAG(TYPE_BOOL, AP_FIRST+257)")
  230. cpp_quote("#define AP_HTTPMAIL_LAST AP_HTTPMAIL_POLL")
  231. cpp_quote("")
  232. cpp_quote("// NNTP properties")
  233. cpp_quote("#define AP_NNTP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+300)")
  234. cpp_quote("#define AP_NNTP_FIRST AP_NNTP_SERVER")
  235. cpp_quote("#define AP_NNTP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+301)")
  236. cpp_quote("#define AP_NNTP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+302)")
  237. cpp_quote("#define AP_NNTP_USE_SICILY PROPTAG(TYPE_BOOL, AP_FIRST+304)")
  238. cpp_quote("#define AP_NNTP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+305)")
  239. cpp_quote("#define AP_NNTP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+306)")
  240. cpp_quote("#define AP_NNTP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+307)")
  241. cpp_quote("#define AP_NNTP_DISPLAY_NAME PROPTAG(TYPE_STRING, AP_FIRST+308)")
  242. cpp_quote("#define AP_NNTP_ORG_NAME PROPTAG(TYPE_STRING, AP_FIRST+309)")
  243. cpp_quote("#define AP_NNTP_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+310)")
  244. cpp_quote("#define AP_NNTP_REPLY_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+311)")
  245. cpp_quote("#define AP_NNTP_SPLIT_MESSAGES PROPTAG(TYPE_BOOL, AP_FIRST+312)")
  246. cpp_quote("#define AP_NNTP_SPLIT_SIZE PROPTAG(TYPE_DWORD, AP_FIRST+313)")
  247. cpp_quote("#define AP_NNTP_USE_DESCRIPTIONS PROPTAG(TYPE_BOOL, AP_FIRST+314)")
  248. cpp_quote("#define AP_NNTP_DATA_DIR PROPTAG(TYPE_STRING, AP_FIRST+315)")
  249. cpp_quote("#define AP_NNTP_POLL PROPTAG(TYPE_BOOL, AP_FIRST+316)")
  250. cpp_quote("#define AP_NNTP_POST_FORMAT PROPTAG(TYPE_DWORD, AP_FIRST+317)")
  251. cpp_quote("#define AP_NNTP_SIGNATURE PROPTAG(TYPE_STRING, AP_FIRST+318)")
  252. cpp_quote("#define AP_NNTP_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+319)")
  253. cpp_quote("#define AP_NNTP_LAST AP_NNTP_PROMPT_PASSWORD")
  254. cpp_quote("")
  255. cpp_quote("// POP3 properties")
  256. cpp_quote("#define AP_POP3_SERVER PROPTAG(TYPE_STRING, AP_FIRST+400)")
  257. cpp_quote("#define AP_POP3_FIRST AP_POP3_SERVER")
  258. cpp_quote("#define AP_POP3_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+401)")
  259. cpp_quote("#define AP_POP3_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+402)")
  260. cpp_quote("#define AP_POP3_USE_SICILY PROPTAG(TYPE_BOOL, AP_FIRST+404)")
  261. cpp_quote("#define AP_POP3_PORT PROPTAG(TYPE_DWORD, AP_FIRST+405)")
  262. cpp_quote("#define AP_POP3_SSL PROPTAG(TYPE_BOOL, AP_FIRST+406)")
  263. cpp_quote("#define AP_POP3_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+407)")
  264. cpp_quote("#define AP_POP3_LEAVE_ON_SERVER PROPTAG(TYPE_BOOL, AP_FIRST+408)")
  265. cpp_quote("#define AP_POP3_REMOVE_DELETED PROPTAG(TYPE_BOOL, AP_FIRST+409)")
  266. cpp_quote("#define AP_POP3_REMOVE_EXPIRED PROPTAG(TYPE_BOOL, AP_FIRST+410)")
  267. cpp_quote("#define AP_POP3_EXPIRE_DAYS PROPTAG(TYPE_DWORD, AP_FIRST+411)")
  268. cpp_quote("#define AP_POP3_SKIP PROPTAG(TYPE_BOOL, AP_FIRST+412)")
  269. cpp_quote("#define AP_POP3_OUTLOOK_CACHE_NAME PROPTAG(TYPE_STRING, AP_FIRST+413)")
  270. cpp_quote("#define AP_POP3_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+414)")
  271. cpp_quote("#define AP_POP3_LAST AP_POP3_PROMPT_PASSWORD")
  272. cpp_quote("")
  273. cpp_quote("// SMTP properties")
  274. cpp_quote("#define AP_SMTP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+500)")
  275. cpp_quote("#define AP_SMTP_FIRST AP_SMTP_SERVER")
  276. cpp_quote("#define AP_SMTP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+501)")
  277. cpp_quote("#define AP_SMTP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+502)")
  278. cpp_quote("#define AP_SMTP_USE_SICILY PROPTAG(TYPE_DWORD, AP_FIRST+504) // SMTPAUTHTYEP")
  279. cpp_quote("#define AP_SMTP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+505)")
  280. cpp_quote("#define AP_SMTP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+506)")
  281. cpp_quote("#define AP_SMTP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+507)")
  282. cpp_quote("#define AP_SMTP_DISPLAY_NAME PROPTAG(TYPE_STRING, AP_FIRST+508)")
  283. cpp_quote("#define AP_SMTP_ORG_NAME PROPTAG(TYPE_STRING, AP_FIRST+509)")
  284. cpp_quote("#define AP_SMTP_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+510)")
  285. cpp_quote("#define AP_SMTP_REPLY_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+511)")
  286. cpp_quote("#define AP_SMTP_SPLIT_MESSAGES PROPTAG(TYPE_BOOL, AP_FIRST+512)")
  287. cpp_quote("#define AP_SMTP_SPLIT_SIZE PROPTAG(TYPE_DWORD, AP_FIRST+513)")
  288. cpp_quote("#define AP_SMTP_CERTIFICATE PROPTAG(TYPE_BINARY, AP_FIRST+514)")
  289. cpp_quote("#define AP_SMTP_SIGNATURE PROPTAG(TYPE_STRING, AP_FIRST+515)")
  290. cpp_quote("#define AP_SMTP_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+516)")
  291. cpp_quote("#define AP_SMTP_LAST AP_SMTP_PROMPT_PASSWORD")
  292. cpp_quote("")
  293. cpp_quote("// --------------------------------------------------------------------------------")
  294. cpp_quote("// Account Flags")
  295. cpp_quote("// --------------------------------------------------------------------------------")
  296. cpp_quote("#define ACCT_FLAG_NEWS ((DWORD)1)")
  297. cpp_quote("#define ACCT_FLAG_MAIL ((DWORD)2)")
  298. cpp_quote("#define ACCT_FLAG_DIR_SERV ((DWORD)4)")
  299. cpp_quote("#define ACCT_FLAG_ALL (ACCT_FLAG_NEWS | ACCT_FLAG_MAIL | ACCT_FLAG_DIR_SERV)")
  300. cpp_quote("")
  301. cpp_quote("// --------------------------------------------------------------------------------")
  302. cpp_quote("// Server Types")
  303. cpp_quote("// --------------------------------------------------------------------------------")
  304. cpp_quote("#define SRV_NNTP ((DWORD)1)")
  305. cpp_quote("#define SRV_IMAP ((DWORD)2)")
  306. cpp_quote("#define SRV_POP3 ((DWORD)4)")
  307. cpp_quote("#define SRV_SMTP ((DWORD)8)")
  308. cpp_quote("#define SRV_LDAP ((DWORD)16)")
  309. cpp_quote("#define SRV_HTTPMAIL ((DWORD)32)")
  310. cpp_quote("#define SRV_MAIL ((DWORD)(SRV_IMAP | SRV_POP3 | SRV_SMTP | SRV_HTTPMAIL))")
  311. cpp_quote("#define SRV_ALL ((DWORD)(SRV_NNTP | SRV_IMAP | SRV_POP3 | SRV_SMTP | SRV_LDAP | SRV_HTTPMAIL))")
  312. cpp_quote("")
  313. cpp_quote("// --------------------------------------------------------------------------------")
  314. cpp_quote("// LDAP Authentication Types")
  315. cpp_quote("// --------------------------------------------------------------------------------")
  316. cpp_quote("#define LDAP_AUTH_ANONYMOUS ((DWORD)0)")
  317. cpp_quote("#define LDAP_AUTH_PASSWORD ((DWORD)1)")
  318. cpp_quote("#define LDAP_AUTH_MEMBER_SYSTEM ((DWORD)2)")
  319. cpp_quote("#define LDAP_AUTH_MAX ((DWORD)2)")
  320. cpp_quote("")
  321. cpp_quote("// --------------------------------------------------------------------------------")
  322. cpp_quote("// LDAP Paged Result Support Types")
  323. cpp_quote("// --------------------------------------------------------------------------------")
  324. cpp_quote("#define LDAP_PRESULT_UNKNOWN ((DWORD)0)")
  325. cpp_quote("#define LDAP_PRESULT_SUPPORTED ((DWORD)1)")
  326. cpp_quote("#define LDAP_PRESULT_NOTSUPPORTED ((DWORD)2)")
  327. cpp_quote("#define LDAP_PRESULT_MAX ((DWORD)2)")
  328. cpp_quote("")
  329. cpp_quote("// --------------------------------------------------------------------------------")
  330. cpp_quote("// LDAP NTDS Types")
  331. cpp_quote("// --------------------------------------------------------------------------------")
  332. cpp_quote("#define LDAP_NTDS_UNKNOWN ((DWORD)0)")
  333. cpp_quote("#define LDAP_NTDS_IS ((DWORD)1)")
  334. cpp_quote("#define LDAP_NTDS_ISNOT ((DWORD)2)")
  335. cpp_quote("#define LDAP_NTDS_MAX ((DWORD)2)")
  336. cpp_quote("")
  337. cpp_quote("// --------------------------------------------------------------------------------")
  338. cpp_quote("// AP_NNTP_POST_FORMAT types")
  339. cpp_quote("// --------------------------------------------------------------------------------")
  340. cpp_quote("#define POST_USE_DEFAULT ((DWORD)0)")
  341. cpp_quote("#define POST_USE_PLAIN_TEXT ((DWORD)1)")
  342. cpp_quote("#define POST_USE_HTML ((DWORD)2)")
  343. cpp_quote("")
  344. cpp_quote("// -----------------------------------------------------------------------------")
  345. cpp_quote("// Account Manager Notification Types")
  346. cpp_quote("// -----------------------------------------------------------------------------")
  347. cpp_quote("#define AN_ACCOUNT_DELETED WM_USER + 1")
  348. cpp_quote("#define AN_ACCOUNT_ADDED WM_USER + 2")
  349. cpp_quote("#define AN_ACCOUNT_CHANGED WM_USER + 3")
  350. cpp_quote("#define AN_DEFAULT_CHANGED WM_USER + 4")
  351. cpp_quote("#define AN_SERVERTYPES_CHANGED WM_USER + 5")
  352. cpp_quote("#define AN_ACCOUNT_PREDELETE WM_USER + 6")
  353. cpp_quote("")
  354. cpp_quote("// IImnAccountManager::AccountListDialog flags")
  355. cpp_quote("// IImnAccount::ShowProperties flags")
  356. cpp_quote("#define ACCTDLG_NO_IMAP 0x0001")
  357. cpp_quote("#define ACCTDLG_NO_REMOVEDELETE 0x0002")
  358. cpp_quote("#define ACCTDLG_NO_BREAKMESSAGES 0x0004")
  359. cpp_quote("#define ACCTDLG_NO_REMOVEAFTER 0x0008")
  360. cpp_quote("#define ACCTDLG_NO_SENDRECEIVE 0x0010")
  361. cpp_quote("#define ACCTDLG_NO_NEWSPOLL 0x0020")
  362. cpp_quote("#define ACCTDLG_NO_SECURITY 0x0040")
  363. cpp_quote("#define ACCTDLG_BACKUP_CONNECT 0x0080")
  364. cpp_quote("#define ACCTDLG_NO_IMAPPOLL 0x0100")
  365. cpp_quote("#define ACCTDLG_NO_NEW_POP 0x0200")
  366. cpp_quote("#define ACCTDLG_SHOWIMAPSPECIAL 0x0400")
  367. cpp_quote("#define ACCTDLG_INTERNETCONNECTION 0x0800")
  368. cpp_quote("#define ACCTDLG_HTTPMAIL 0x1000")
  369. cpp_quote("#define ACCTDLG_REVOCATION 0x2000")
  370. cpp_quote("#define ACCTDLG_OE 0x4000")
  371. cpp_quote("#define ACCTDLG_ALL 0x7fff")
  372. cpp_quote("")
  373. cpp_quote("// AP_RAS_CONNECTION_TYPE values")
  374. cpp_quote("#define CONNECTION_TYPE_LAN 0")
  375. cpp_quote("#define CONNECTION_TYPE_MANUAL 1")
  376. cpp_quote("#define CONNECTION_TYPE_RAS 2")
  377. cpp_quote("#define CONNECTION_TYPE_INETSETTINGS 3")
  378. cpp_quote("")
  379. cpp_quote("// IImnAccount::DoWizard flags")
  380. cpp_quote("#define ACCT_WIZ_MIGRATE 0x0001")
  381. cpp_quote("#define ACCT_WIZ_MAILIMPORT 0x0002")
  382. cpp_quote("#define ACCT_WIZ_OUTLOOK 0x0004")
  383. cpp_quote("#define ACCT_WIZ_NEWSIMPORT 0x0008")
  384. cpp_quote("#define ACCT_WIZ_NO_NEW_POP 0x0010")
  385. cpp_quote("#define ACCT_WIZ_INTERNETCONNECTION 0x0020")
  386. cpp_quote("#define ACCT_WIZ_HTTPMAIL 0x0040")
  387. cpp_quote("#define ACCT_WIZ_OE 0x0080")
  388. cpp_quote("")
  389. cpp_quote("// IImnAccount::InitEx flags")
  390. cpp_quote("#define ACCT_INIT_ATHENA 0x0001")
  391. cpp_quote("#define ACCT_INIT_OUTLOOK 0x0002")
  392. cpp_quote("")
  393. cpp_quote(" // AP_IMAP_DIRTY flags")
  394. cpp_quote("#define IMAP_FLDRLIST_DIRTY 0x0001")
  395. cpp_quote("#define IMAP_OE4MIGRATE_DIRTY 0x0002")
  396. cpp_quote("#define IMAP_SENTITEMS_DIRTY 0x0004")
  397. cpp_quote("#define IMAP_DRAFTS_DIRTY 0x0008")
  398. // --------------------------------------------------------------------------------
  399. // SMTP Authentication Types
  400. // --------------------------------------------------------------------------------
  401. typedef enum tagSMTPAUTHTYPE {
  402. SMTP_AUTH_NONE,
  403. SMTP_AUTH_SICILY,
  404. SMTP_AUTH_USE_POP3ORIMAP_SETTINGS,
  405. SMTP_AUTH_USE_SMTP_SETTINGS,
  406. } SMTPAUTHTYPE;
  407. // --------------------------------------------------------------------------------
  408. // String Lengths
  409. // --------------------------------------------------------------------------------
  410. const SHORT CCHMAX_ORG_NAME = 256;
  411. const SHORT CCHMAX_DISPLAY_NAME = 256;
  412. const SHORT CCHMAX_ACCOUNT_NAME = 256;
  413. const SHORT CCHMAX_SERVER_NAME = 256;
  414. const SHORT CCHMAX_PASSWORD = 256;
  415. const SHORT CCHMAX_USERNAME = 256;
  416. const SHORT CCHMAX_EMAIL_ADDRESS = 256;
  417. const SHORT CCHMAX_CONNECTOID = 256;
  418. const SHORT CCHMAX_SEARCH_BASE = 256;
  419. const SHORT CCHMAX_ROOT_FOLDER = 256;
  420. const SHORT CCHMAX_SIGNATURE = 16;
  421. const SHORT CCHMAX_SERVICE = 256;
  422. // --------------------------------------------------------------------------------
  423. // IImnAdviseAccount
  424. // --------------------------------------------------------------------------------
  425. [
  426. object,
  427. uuid(0A06BD31-166F-11d0-81B9-00C04FD85AB4),
  428. pointer_default(unique)
  429. ]
  430. interface IImnAdviseAccount : IUnknown
  431. {
  432. import "unknwn.idl";
  433. typedef enum {
  434. ACCT_NEWS = 0,
  435. ACCT_MAIL,
  436. ACCT_DIR_SERV,
  437. ACCT_LAST
  438. } ACCTTYPE;
  439. typedef struct tagAccountContext
  440. {
  441. ACCTTYPE AcctType;
  442. LPSTR pszAccountID;
  443. LPSTR pszOldName; // set if name changes or account deleted
  444. DWORD dwServerType;
  445. } ACTX;
  446. HRESULT AdviseAccount(
  447. [in] DWORD dwAdviseType,
  448. [in] ACTX *pAcctCtx);
  449. }
  450. // --------------------------------------------------------------------------------
  451. // IImnAdviseMigrateServer
  452. // --------------------------------------------------------------------------------
  453. [
  454. object,
  455. uuid(8D0AED11-1638-11d0-81B9-00C04FD85AB4),
  456. pointer_default(unique)
  457. ]
  458. interface IImnAdviseMigrateServer : IUnknown
  459. {
  460. import "unknwn.idl";
  461. HRESULT MigrateServer(
  462. [in] DWORD dwSrvType,
  463. [in] IImnAccount *pAccount);
  464. }
  465. // --------------------------------------------------------------------------------
  466. // IImnEnumAccounts
  467. // --------------------------------------------------------------------------------
  468. [
  469. object,
  470. uuid(FD465483-1384-11d0-ABBD-0020AFDFD10A),
  471. pointer_default(unique)
  472. ]
  473. interface IImnEnumAccounts : IUnknown
  474. {
  475. import "unknwn.idl";
  476. HRESULT GetCount(
  477. [out] ULONG *pcItems);
  478. HRESULT SortByAccountName(void);
  479. HRESULT GetNext(
  480. [out] IImnAccount **ppAccount);
  481. HRESULT Reset(void);
  482. }
  483. // --------------------------------------------------------------------------------
  484. // IImnAccountManager
  485. // --------------------------------------------------------------------------------
  486. [
  487. object,
  488. uuid(FD465481-1384-11d0-ABBD-0020AFDFD10A),
  489. pointer_default(unique)
  490. ]
  491. interface IImnAccountManager : IUnknown
  492. {
  493. import "unknwn.idl";
  494. typedef struct tagACCTLISTINFO
  495. {
  496. DWORD cbSize;
  497. ACCTTYPE AcctTypeInit;
  498. DWORD dwAcctFlags;
  499. DWORD dwFlags;
  500. } ACCTLISTINFO;
  501. HRESULT Init(
  502. [in] IImnAdviseMigrateServer *pAdviseMigrateServer);
  503. HRESULT CreateAccountObject(
  504. [in] ACCTTYPE AcctType,
  505. [out] IImnAccount **ppAccount);
  506. HRESULT Enumerate(
  507. [in] DWORD dwSrvTypes,
  508. [out] IImnEnumAccounts **ppEnumAccounts);
  509. HRESULT GetAccountCount(
  510. [in] ACCTTYPE AcctType,
  511. [out] ULONG *pcServers);
  512. HRESULT FindAccount(
  513. [in] DWORD dwPropTag,
  514. [in] LPCSTR pszSearchData,
  515. [out] IImnAccount **ppAccount);
  516. HRESULT GetDefaultAccount(
  517. [in] ACCTTYPE AcctType,
  518. [out] IImnAccount **ppAccount);
  519. HRESULT GetDefaultAccountName(
  520. [in] ACCTTYPE AcctType,
  521. [in,ref]LPSTR pszAccount,
  522. [in] ULONG cchMax);
  523. HRESULT ProcessNotification(
  524. [in] UINT uMsg,
  525. [in] WPARAM wParam,
  526. [in] LPARAM lParam);
  527. HRESULT ValidateDefaultSendAccount(void);
  528. HRESULT AccountListDialog(
  529. [in] HWND hwnd,
  530. [in] ACCTLISTINFO *pinfo);
  531. HRESULT Advise(
  532. [in] IImnAdviseAccount *pAdviseAccount,
  533. [out] DWORD *pdwConnection);
  534. HRESULT Unadvise(
  535. [in] DWORD dwConnection);
  536. HRESULT GetUniqueAccountName(
  537. [in] LPSTR szName,
  538. [in] UINT cch);
  539. HRESULT InitEx(
  540. [in] IImnAdviseMigrateServer *pAdviseMigrateServer,
  541. [in] DWORD dwFlags);
  542. }
  543. // --------------------------------------------------------------------------------
  544. // IImnAccountManager2
  545. // --------------------------------------------------------------------------------
  546. [
  547. object,
  548. uuid(C43DFC6F-62BB-11d2-A727-00C04F79E7C8),
  549. pointer_default(unique)
  550. ]
  551. interface IImnAccountManager2 : IImnAccountManager
  552. {
  553. import "unknwn.idl";
  554. HRESULT InitUser(
  555. [in] IImnAdviseMigrateServer *pAdviseMigrateServer,
  556. [in] REFGUID rguidID,
  557. [in] DWORD dwFlags);
  558. HRESULT GetIncompleteAccount(
  559. [in] ACCTTYPE AcctType,
  560. [in,ref]LPSTR pszAccountId,
  561. [in] ULONG cchMax);
  562. HRESULT SetIncompleteAccount(
  563. [in] ACCTTYPE AcctType,
  564. [in] LPCSTR pszAccountId);
  565. }
  566. // --------------------------------------------------------------------------------
  567. // IPropertyContainer
  568. // --------------------------------------------------------------------------------
  569. [
  570. object,
  571. uuid(FD465484-1384-11d0-ABBD-0020AFDFD10A),
  572. pointer_default(unique)
  573. ]
  574. interface IPropertyContainer : IUnknown
  575. {
  576. import "unknwn.idl";
  577. typedef enum {
  578. TYPE_ERROR = 1000, // Unknown data type - or data type is in error
  579. TYPE_DWORD, // Unsigned 32 bit value
  580. TYPE_LONG, // Signed 32 bit value
  581. TYPE_WORD, // Unsigned 16 bit value
  582. TYPE_SHORT, // Signed 16 bit value
  583. TYPE_BYTE, // Unsigned 8 bit value
  584. TYPE_CHAR, // Signed 8 bit value
  585. TYPE_FILETIME, // FILETIME stucture
  586. TYPE_STRING, // Fixed-length null-term string
  587. TYPE_BINARY, // Fixed-length binary data
  588. TYPE_FLAGS, // Flags fields
  589. TYPE_STREAM, // Stream data type
  590. TYPE_WSTRING, // UNICODE fixed-length null-term string
  591. TYPE_BOOL, // BOOL checked to be equal to 1 or 0
  592. TYPE_PASS, // Neeto burrito password mosquito
  593. TYPE_LAST
  594. } PROPTYPE;
  595. HRESULT GetProp(
  596. [in] DWORD dwPropTag,
  597. [in,size_is(*pcb),ref] BYTE *pb,
  598. [in] ULONG *pcb);
  599. HRESULT GetPropDw(
  600. [in] DWORD dwPropTag,
  601. [out] DWORD *pdw);
  602. HRESULT GetPropSz(
  603. [in] DWORD dwPropTag,
  604. [in,ref] LPSTR psz,
  605. [in] ULONG cchMax);
  606. HRESULT SetProp(
  607. [in] DWORD dwPropTag,
  608. [in,size_is(cb)] BYTE *pb,
  609. [in] ULONG cb);
  610. HRESULT SetPropDw(
  611. [in] DWORD dwPropTag,
  612. [in] DWORD dw);
  613. HRESULT SetPropSz(
  614. [in] DWORD dwPropTag,
  615. [in] LPSTR psz);
  616. }
  617. // --------------------------------------------------------------------------------
  618. // IImnAccount
  619. // --------------------------------------------------------------------------------
  620. [
  621. object,
  622. uuid(FD465482-1384-11d0-ABBD-0020AFDFD10A),
  623. pointer_default(unique)
  624. ]
  625. interface IImnAccount : IPropertyContainer
  626. {
  627. import "unknwn.idl";
  628. HRESULT Exist(void);
  629. HRESULT SetAsDefault(void);
  630. HRESULT Delete(void);
  631. HRESULT SaveChanges(void);
  632. HRESULT GetAccountType(
  633. [out] ACCTTYPE *pAcctType);
  634. HRESULT GetServerTypes(
  635. [out] DWORD *pdwSrvTypes);
  636. HRESULT ShowProperties(
  637. [in] HWND hwnd,
  638. [in] DWORD dwFlags);
  639. HRESULT ValidateProperty(
  640. [in] DWORD dwPropTag,
  641. [in,size_is(cb)] BYTE *pb,
  642. [in] ULONG cb);
  643. HRESULT DoWizard(
  644. [in] HWND hwnd,
  645. [in] DWORD dwFlags);
  646. HRESULT DoImportWizard(
  647. [in] HWND hwnd,
  648. [in] CLSID clsid,
  649. [in] DWORD dwFlags);
  650. }
  651. //
  652. // This definition is for C files in 16bit WAB, because of two reasons:
  653. //
  654. // 1. IID definitions generated by MIDL is not compatible with 16bit DEFINE_GUID
  655. // 2. DEFINE_GUID should be placed LATER than the declaration generated by MIDL
  656. //
  657. cpp_quote("#if defined( WIN16 ) && !defined( __cplusplus )")
  658. cpp_quote("// {8D4B04E1-1331-11d0-81B8-00C04FD85AB4}")
  659. cpp_quote("EXTERN_C const IID CLSID_ImnAccountManager =")
  660. cpp_quote(" { 0x8d4b04e1, 0x1331, 0x11d0, { 0x81, 0xb8, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4 } };")
  661. cpp_quote("")
  662. cpp_quote("// {FD465484-1384-11d0-ABBD-0020AFDFD10A}")
  663. cpp_quote("EXTERN_C const IID IID_IPropertyContainer =")
  664. cpp_quote(" { 0xfd465484, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };")
  665. cpp_quote("")
  666. cpp_quote("// {FD465481-1384-11d0-ABBD-0020AFDFD10A}")
  667. cpp_quote("EXTERN_C const IID IID_IImnAccountManager =")
  668. cpp_quote(" { 0xfd465481, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };")
  669. cpp_quote("")
  670. cpp_quote("// {C43DFC6F-62BB-11d2-A727-00C04F79E7C8}")
  671. cpp_quote("EXTERN_C const IID IID_IImnAccountManager2 =")
  672. cpp_quote(" { 0xc43dfc6f, 0x62bb, 0x11d2, { 0xa7, 0x27, 0x0, 0xc0, 0x4f, 0x79, 0xe7, 0xc8 } };")
  673. cpp_quote("")
  674. cpp_quote("// {FD465482-1384-11d0-ABBD-0020AFDFD10A}")
  675. cpp_quote("EXTERN_C const IID IID_IImnAccount =")
  676. cpp_quote(" { 0xfd465482, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };")
  677. cpp_quote("")
  678. cpp_quote("// {FD465483-1384-11d0-ABBD-0020AFDFD10A}")
  679. cpp_quote("EXTERN_C const IID IID_IImnEnumAccounts =")
  680. cpp_quote(" { 0xfd465483, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };")
  681. cpp_quote("")
  682. cpp_quote("// {8D0AED11-1638-11d0-81B9-00C04FD85AB4}")
  683. cpp_quote("EXTERN_C const IID IID_IImnAdviseMigrateServer =")
  684. cpp_quote(" { 0x8d0aed11, 0x1638, 0x11d0, { 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4 } };")
  685. cpp_quote("")
  686. cpp_quote("// {0A06BD31-166F-11d0-81B9-00C04FD85AB4}")
  687. cpp_quote("EXTERN_C const IID IID_IImnAdviseAccount =")
  688. cpp_quote(" { 0xa06bd31, 0x166f, 0x11d0, { 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4 } };")
  689. cpp_quote("")
  690. cpp_quote("#endif //WIN16 && !__cplusplus")