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.

1353 lines
49 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for autodiscovery.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __autodiscovery_h__
  20. #define __autodiscovery_h__
  21. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  22. #pragma once
  23. #endif
  24. /* Forward Declarations */
  25. #ifndef __IAutoDiscoveryProvider_FWD_DEFINED__
  26. #define __IAutoDiscoveryProvider_FWD_DEFINED__
  27. typedef interface IAutoDiscoveryProvider IAutoDiscoveryProvider;
  28. #endif /* __IAutoDiscoveryProvider_FWD_DEFINED__ */
  29. #ifndef __AutoDiscoveryProvider_FWD_DEFINED__
  30. #define __AutoDiscoveryProvider_FWD_DEFINED__
  31. #ifdef __cplusplus
  32. typedef class AutoDiscoveryProvider AutoDiscoveryProvider;
  33. #else
  34. typedef struct AutoDiscoveryProvider AutoDiscoveryProvider;
  35. #endif /* __cplusplus */
  36. #endif /* __AutoDiscoveryProvider_FWD_DEFINED__ */
  37. #ifndef __IMailAutoDiscovery_FWD_DEFINED__
  38. #define __IMailAutoDiscovery_FWD_DEFINED__
  39. typedef interface IMailAutoDiscovery IMailAutoDiscovery;
  40. #endif /* __IMailAutoDiscovery_FWD_DEFINED__ */
  41. #ifndef __IAccountDiscovery_FWD_DEFINED__
  42. #define __IAccountDiscovery_FWD_DEFINED__
  43. typedef interface IAccountDiscovery IAccountDiscovery;
  44. #endif /* __IAccountDiscovery_FWD_DEFINED__ */
  45. #ifndef __AccountDiscovery_FWD_DEFINED__
  46. #define __AccountDiscovery_FWD_DEFINED__
  47. #ifdef __cplusplus
  48. typedef class AccountDiscovery AccountDiscovery;
  49. #else
  50. typedef struct AccountDiscovery AccountDiscovery;
  51. #endif /* __cplusplus */
  52. #endif /* __AccountDiscovery_FWD_DEFINED__ */
  53. #ifndef __IMailProtocolADEntry_FWD_DEFINED__
  54. #define __IMailProtocolADEntry_FWD_DEFINED__
  55. typedef interface IMailProtocolADEntry IMailProtocolADEntry;
  56. #endif /* __IMailProtocolADEntry_FWD_DEFINED__ */
  57. #ifndef __MailProtocolADEntry_FWD_DEFINED__
  58. #define __MailProtocolADEntry_FWD_DEFINED__
  59. #ifdef __cplusplus
  60. typedef class MailProtocolADEntry MailProtocolADEntry;
  61. #else
  62. typedef struct MailProtocolADEntry MailProtocolADEntry;
  63. #endif /* __cplusplus */
  64. #endif /* __MailProtocolADEntry_FWD_DEFINED__ */
  65. #ifndef __MailAutoDiscovery_FWD_DEFINED__
  66. #define __MailAutoDiscovery_FWD_DEFINED__
  67. #ifdef __cplusplus
  68. typedef class MailAutoDiscovery MailAutoDiscovery;
  69. #else
  70. typedef struct MailAutoDiscovery MailAutoDiscovery;
  71. #endif /* __cplusplus */
  72. #endif /* __MailAutoDiscovery_FWD_DEFINED__ */
  73. /* header files for imported files */
  74. #include "oaidl.h"
  75. #include "ocidl.h"
  76. #ifdef __cplusplus
  77. extern "C"{
  78. #endif
  79. void * __RPC_USER MIDL_user_allocate(size_t);
  80. void __RPC_USER MIDL_user_free( void * );
  81. /* interface __MIDL_itf_autodiscovery_0000 */
  82. /* [local] */
  83. #ifndef _AUTODISCOVERY_IDL_H_
  84. #define _AUTODISCOVERY_IDL_H_
  85. // This API started shipping in IE 6
  86. #if (_WIN32_IE >= 0x0600)
  87. extern RPC_IF_HANDLE __MIDL_itf_autodiscovery_0000_v0_0_c_ifspec;
  88. extern RPC_IF_HANDLE __MIDL_itf_autodiscovery_0000_v0_0_s_ifspec;
  89. #ifndef __AutoDiscovery_LIBRARY_DEFINED__
  90. #define __AutoDiscovery_LIBRARY_DEFINED__
  91. /* library AutoDiscovery */
  92. /* [version][helpstring][uuid] */
  93. #ifndef __LPAUTODISCOVERYPROVIDER_DEFINED
  94. #define __LPAUTODISCOVERYPROVIDER_DEFINED
  95. //===================================================================
  96. //DESCRIPTION:
  97. // This object will list the servers that will be tried when attempting
  98. //to download results.
  99. //
  100. //METHODS:
  101. //length: The number of servers.
  102. //item: Fetch the host name of the server that will be contacted.
  103. //===================================================================
  104. #endif // __LPAUTODISCOVERYPROVIDER_DEFINED
  105. #ifndef __LPACCOUNTDISCOVERY_DEFINED
  106. #define __LPACCOUNTDISCOVERY_DEFINED
  107. //===================================================================
  108. //DESCRIPTION:
  109. // This interface can be used by simply calling ::DiscoverNow(). It
  110. //will synchronously:
  111. //1. use bstrEmailAddress to find the domain name to contact. For example
  112. // for [email protected], it will contact http://_AutoDiscovery.yahoo.com/_AutoDiscovery/default.asp
  113. // and that fails, it will contact then http://yahoo.com/_AutoDiscovery/default.asp.
  114. //2. The bstrXMLRequest XML will be put into the HTTP headers so it can
  115. // be parsed by the server.
  116. //3. The response from the server will be returned in ppXMLResponse
  117. //
  118. //METHODS:
  119. //If you want the operation to happen asynchronously, first call
  120. //::WorkAsync(). A subsequent call to ::DiscoverNow() will start the operation and return
  121. // immediately and ppXMLResponse will be NULL. The wMsg passed to WorkAsync() will allow
  122. // the async thread to send status to the forground window/thread. AutoDiscovery is allowed
  123. // to send messages with ID wMsg through wMsg+10. Callers normally will want to pass
  124. // (WM_USER + n) for this message ID. These are the messages that the async thread will send:
  125. // [wMsg+0]: Means AutoDiscovery ended. The LPARAM will contain the XML normally returned in ppXMLResponse,
  126. // except it will be in a BSTR. The wndproc needs to free the LPARAM with SysFreeString()
  127. // if it isn't NULL. The WPARAM will contain the HRESULT error value.
  128. // [wMsg+1]: Status String. The WPARAM will contain a UNICODE string containing status that can be displayed
  129. // to the user. The wndproc needs to call LocalFree() on the WPARAM when done using it. The LPARAM will be NULL.
  130. // Calling ::WorkAsync() with a NULL hwnd will indicate that the call should be synchronous,
  131. // which is also the default behavior.
  132. //===================================================================
  133. #endif // __LPACCOUNTDISCOVERY_DEFINED
  134. #ifndef __LPMAILPROTOCOLADENTRY_DEFINED
  135. #define __LPMAILPROTOCOLADENTRY_DEFINED
  136. //===================================================================
  137. //DESCRIPTION:
  138. // Methods will return HRESULT_FROM_WIN32(ERROR_NOT_FOUND) if the
  139. //information could not be found in the XML results. This will
  140. //very often happen with LoginName() and ServerPort().
  141. //
  142. //METHODS:
  143. //Protocol: The name of this protocol. See STR_PT_*.
  144. //ServerName: This will be the name of the server to contact.
  145. // For DAVMail and WEB, this will be an URL.
  146. // For most other protocols, this will be an IP address
  147. // or the hostname of the server.
  148. //ServerPort: This is the port number on the server to use.
  149. //LoginName: The username to log into the email server if a username
  150. // other than the username in the email address (<username>@<domainname>)
  151. // is needed.
  152. //PostHTML: Reserved for future use.
  153. //UseSSL: If TRUE, use SSL when connecting to ServerName.
  154. //UseSPA: If TRUE, SPA (Secure Password Authenication) should
  155. // be used when contacting the server.
  156. //IsAuthRequired: This is only applicable to the SMTP protocol.
  157. // If TRUE, the SMTP server requires the client to authenticate
  158. // when logging in.
  159. //SMTPUsesPOP3Auth: This is only applicable to the SMTP protocol.
  160. // If TRUE, the login name and password for the POP3 or IMAP
  161. // server can be used to log into the SMTP server.
  162. //===================================================================
  163. #endif // __LPMAILPROTOCOLADENTRY_DEFINED
  164. #ifndef __LPMAILAUTODISCOVERY_DEFINED
  165. #define __LPMAILAUTODISCOVERY_DEFINED
  166. //===================================================================
  167. //DESCRIPTION:
  168. // Methods will return HRESULT_FROM_WIN32(ERROR_NOT_FOUND) if the
  169. //information could not be found in the XML results. This will
  170. //very often happen with DisplayName() and ServerPort().
  171. //
  172. //METHODS:
  173. //DisplayName: This is the display name or the user's full name that
  174. // may or may not be specified by the server.
  175. //InfoURL: This is an URL that the server or service can provide
  176. // for the user to learn more about the email service
  177. // or how to access their email. Email clients that don't
  178. // support any of the protocols offered by the server can
  179. // launch this URL. The URL can then tell users which
  180. // email clients to use or how to configure the email client.
  181. // email clients to use or how to configure the email client.
  182. //PreferedProtocolType: This will return the server's prefered protocol.
  183. // The string will be one of STR_PT_* and can be passed to.
  184. // item() to get more information.
  185. //length: The number of protocols the server supports.
  186. //item: The caller can pass the index of the protocol to access or
  187. // ask for a particular protocol (by STR_PT_*).
  188. //xml: The caller can get the AutoDiscovery XML from the server.
  189. // This will allow email clients to get properties not currently
  190. // exposed throught this interface.
  191. //PrimaryProviders: Get the list of primary servers that will be
  192. // contacted in order to download the results. This will
  193. // allow the application to display this list to the user.
  194. // The full email password will be uploaded to these servers
  195. // in some cases.
  196. //SecondaryProviders: This will also list servers that will be contacted
  197. // except, as secondary servers, only the user's email hostname
  198. // will be uploaded (not the username part of the email address.
  199. //
  200. //DiscoverMail: Use the email address provided to download the
  201. // AutoDiscovery XML file. This object can then be used to
  202. // get information from that XML file.
  203. //PurgeCache: If the downloaded settings are cached, purge the
  204. // cache so the next call to DiscoverMail() is guaranteed
  205. // to get the most current settings from the server.
  206. //WorkAsync: See WorkAsync's documentation in IAutoDiscovery.
  207. //===================================================================
  208. #endif // __LPMAILAUTODISCOVERY_DEFINED
  209. EXTERN_C const IID LIBID_AutoDiscovery;
  210. #ifndef __IAutoDiscoveryProvider_INTERFACE_DEFINED__
  211. #define __IAutoDiscoveryProvider_INTERFACE_DEFINED__
  212. /* interface IAutoDiscoveryProvider */
  213. /* [uuid][nonextensible][dual][oleautomation][object] */
  214. typedef /* [unique] */ IAutoDiscoveryProvider *LPAUTODISCOVERYPROVIDER;
  215. EXTERN_C const IID IID_IAutoDiscoveryProvider;
  216. #if defined(__cplusplus) && !defined(CINTERFACE)
  217. MIDL_INTERFACE("9DCF4A37-01DE-4549-A9CB-3AC31EC23C4F")
  218. IAutoDiscoveryProvider : public IDispatch
  219. {
  220. public:
  221. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_length(
  222. /* [out][retval] */ long *pnLength) = 0;
  223. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item(
  224. /* [in] */ VARIANT varIndex,
  225. /* [out][retval] */ BSTR *pbstr) = 0;
  226. };
  227. #else /* C style interface */
  228. typedef struct IAutoDiscoveryProviderVtbl
  229. {
  230. BEGIN_INTERFACE
  231. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  232. IAutoDiscoveryProvider * This,
  233. /* [in] */ REFIID riid,
  234. /* [iid_is][out] */ void **ppvObject);
  235. ULONG ( STDMETHODCALLTYPE *AddRef )(
  236. IAutoDiscoveryProvider * This);
  237. ULONG ( STDMETHODCALLTYPE *Release )(
  238. IAutoDiscoveryProvider * This);
  239. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  240. IAutoDiscoveryProvider * This,
  241. /* [out] */ UINT *pctinfo);
  242. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  243. IAutoDiscoveryProvider * This,
  244. /* [in] */ UINT iTInfo,
  245. /* [in] */ LCID lcid,
  246. /* [out] */ ITypeInfo **ppTInfo);
  247. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  248. IAutoDiscoveryProvider * This,
  249. /* [in] */ REFIID riid,
  250. /* [size_is][in] */ LPOLESTR *rgszNames,
  251. /* [in] */ UINT cNames,
  252. /* [in] */ LCID lcid,
  253. /* [size_is][out] */ DISPID *rgDispId);
  254. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  255. IAutoDiscoveryProvider * This,
  256. /* [in] */ DISPID dispIdMember,
  257. /* [in] */ REFIID riid,
  258. /* [in] */ LCID lcid,
  259. /* [in] */ WORD wFlags,
  260. /* [out][in] */ DISPPARAMS *pDispParams,
  261. /* [out] */ VARIANT *pVarResult,
  262. /* [out] */ EXCEPINFO *pExcepInfo,
  263. /* [out] */ UINT *puArgErr);
  264. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
  265. IAutoDiscoveryProvider * This,
  266. /* [out][retval] */ long *pnLength);
  267. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )(
  268. IAutoDiscoveryProvider * This,
  269. /* [in] */ VARIANT varIndex,
  270. /* [out][retval] */ BSTR *pbstr);
  271. END_INTERFACE
  272. } IAutoDiscoveryProviderVtbl;
  273. interface IAutoDiscoveryProvider
  274. {
  275. CONST_VTBL struct IAutoDiscoveryProviderVtbl *lpVtbl;
  276. };
  277. #ifdef COBJMACROS
  278. #define IAutoDiscoveryProvider_QueryInterface(This,riid,ppvObject) \
  279. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  280. #define IAutoDiscoveryProvider_AddRef(This) \
  281. (This)->lpVtbl -> AddRef(This)
  282. #define IAutoDiscoveryProvider_Release(This) \
  283. (This)->lpVtbl -> Release(This)
  284. #define IAutoDiscoveryProvider_GetTypeInfoCount(This,pctinfo) \
  285. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  286. #define IAutoDiscoveryProvider_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  287. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  288. #define IAutoDiscoveryProvider_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  289. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  290. #define IAutoDiscoveryProvider_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  291. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  292. #define IAutoDiscoveryProvider_get_length(This,pnLength) \
  293. (This)->lpVtbl -> get_length(This,pnLength)
  294. #define IAutoDiscoveryProvider_get_item(This,varIndex,pbstr) \
  295. (This)->lpVtbl -> get_item(This,varIndex,pbstr)
  296. #endif /* COBJMACROS */
  297. #endif /* C style interface */
  298. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IAutoDiscoveryProvider_get_length_Proxy(
  299. IAutoDiscoveryProvider * This,
  300. /* [out][retval] */ long *pnLength);
  301. void __RPC_STUB IAutoDiscoveryProvider_get_length_Stub(
  302. IRpcStubBuffer *This,
  303. IRpcChannelBuffer *_pRpcChannelBuffer,
  304. PRPC_MESSAGE _pRpcMessage,
  305. DWORD *_pdwStubPhase);
  306. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IAutoDiscoveryProvider_get_item_Proxy(
  307. IAutoDiscoveryProvider * This,
  308. /* [in] */ VARIANT varIndex,
  309. /* [out][retval] */ BSTR *pbstr);
  310. void __RPC_STUB IAutoDiscoveryProvider_get_item_Stub(
  311. IRpcStubBuffer *This,
  312. IRpcChannelBuffer *_pRpcChannelBuffer,
  313. PRPC_MESSAGE _pRpcMessage,
  314. DWORD *_pdwStubPhase);
  315. #endif /* __IAutoDiscoveryProvider_INTERFACE_DEFINED__ */
  316. EXTERN_C const CLSID CLSID_AutoDiscoveryProvider;
  317. #ifdef __cplusplus
  318. class DECLSPEC_UUID("C4F3D5BF-4809-44e3-84A4-368B6B33B0B4")
  319. AutoDiscoveryProvider;
  320. #endif
  321. #ifndef __IMailAutoDiscovery_INTERFACE_DEFINED__
  322. #define __IMailAutoDiscovery_INTERFACE_DEFINED__
  323. /* interface IMailAutoDiscovery */
  324. /* [uuid][nonextensible][dual][oleautomation][object] */
  325. typedef /* [unique] */ IMailAutoDiscovery *LPMAILAUTODISCOVERY;
  326. // Protocol Types for ServerName(bstrServerType))
  327. #define STR_PT_POP L"POP3"
  328. #define STR_PT_SMTP L"SMTP"
  329. #define STR_PT_IMAP L"IMAP"
  330. #define STR_PT_MAPI L"MAPI"
  331. #define STR_PT_DAVMAIL L"DAVMail"
  332. #define STR_PT_SMTP L"SMTP"
  333. #define STR_PT_WEBBASED L"WEB" // Web pages are used to receive and send mail.
  334. EXTERN_C const IID IID_IMailAutoDiscovery;
  335. #if defined(__cplusplus) && !defined(CINTERFACE)
  336. MIDL_INTERFACE("80402DEE-B114-4d32-B44E-82FD8234C92A")
  337. IMailAutoDiscovery : public IDispatch
  338. {
  339. public:
  340. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayName(
  341. /* [out][retval] */ BSTR *pbstr) = 0;
  342. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_InfoURL(
  343. /* [out][retval] */ BSTR *pbstrURL) = 0;
  344. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PreferedProtocolType(
  345. /* [out][retval] */ BSTR *pbstrProtocolType) = 0;
  346. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_length(
  347. /* [out][retval] */ long *pnLength) = 0;
  348. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item(
  349. /* [in] */ VARIANT varIndex,
  350. /* [out][retval] */ IMailProtocolADEntry **ppMailProtocol) = 0;
  351. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_XML(
  352. /* [out][retval] */ IXMLDOMDocument **ppXMLDoc) = 0;
  353. virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_XML(
  354. /* [in] */ IXMLDOMDocument *pXMLDoc) = 0;
  355. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE getPrimaryProviders(
  356. /* [in] */ BSTR bstrEmailAddress,
  357. /* [out][retval] */ IAutoDiscoveryProvider **ppProviders) = 0;
  358. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE getSecondaryProviders(
  359. /* [in] */ BSTR bstrEmailAddress,
  360. /* [out][retval] */ IAutoDiscoveryProvider **ppProviders) = 0;
  361. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE DiscoverMail(
  362. /* [in] */ BSTR bstrEmailAddress) = 0;
  363. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE PurgeCache( void) = 0;
  364. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE WorkAsync(
  365. /* [in] */ HWND hwnd,
  366. /* [in] */ UINT wMsg) = 0;
  367. };
  368. #else /* C style interface */
  369. typedef struct IMailAutoDiscoveryVtbl
  370. {
  371. BEGIN_INTERFACE
  372. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  373. IMailAutoDiscovery * This,
  374. /* [in] */ REFIID riid,
  375. /* [iid_is][out] */ void **ppvObject);
  376. ULONG ( STDMETHODCALLTYPE *AddRef )(
  377. IMailAutoDiscovery * This);
  378. ULONG ( STDMETHODCALLTYPE *Release )(
  379. IMailAutoDiscovery * This);
  380. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  381. IMailAutoDiscovery * This,
  382. /* [out] */ UINT *pctinfo);
  383. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  384. IMailAutoDiscovery * This,
  385. /* [in] */ UINT iTInfo,
  386. /* [in] */ LCID lcid,
  387. /* [out] */ ITypeInfo **ppTInfo);
  388. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  389. IMailAutoDiscovery * This,
  390. /* [in] */ REFIID riid,
  391. /* [size_is][in] */ LPOLESTR *rgszNames,
  392. /* [in] */ UINT cNames,
  393. /* [in] */ LCID lcid,
  394. /* [size_is][out] */ DISPID *rgDispId);
  395. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  396. IMailAutoDiscovery * This,
  397. /* [in] */ DISPID dispIdMember,
  398. /* [in] */ REFIID riid,
  399. /* [in] */ LCID lcid,
  400. /* [in] */ WORD wFlags,
  401. /* [out][in] */ DISPPARAMS *pDispParams,
  402. /* [out] */ VARIANT *pVarResult,
  403. /* [out] */ EXCEPINFO *pExcepInfo,
  404. /* [out] */ UINT *puArgErr);
  405. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )(
  406. IMailAutoDiscovery * This,
  407. /* [out][retval] */ BSTR *pbstr);
  408. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InfoURL )(
  409. IMailAutoDiscovery * This,
  410. /* [out][retval] */ BSTR *pbstrURL);
  411. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PreferedProtocolType )(
  412. IMailAutoDiscovery * This,
  413. /* [out][retval] */ BSTR *pbstrProtocolType);
  414. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
  415. IMailAutoDiscovery * This,
  416. /* [out][retval] */ long *pnLength);
  417. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )(
  418. IMailAutoDiscovery * This,
  419. /* [in] */ VARIANT varIndex,
  420. /* [out][retval] */ IMailProtocolADEntry **ppMailProtocol);
  421. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XML )(
  422. IMailAutoDiscovery * This,
  423. /* [out][retval] */ IXMLDOMDocument **ppXMLDoc);
  424. /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_XML )(
  425. IMailAutoDiscovery * This,
  426. /* [in] */ IXMLDOMDocument *pXMLDoc);
  427. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getPrimaryProviders )(
  428. IMailAutoDiscovery * This,
  429. /* [in] */ BSTR bstrEmailAddress,
  430. /* [out][retval] */ IAutoDiscoveryProvider **ppProviders);
  431. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getSecondaryProviders )(
  432. IMailAutoDiscovery * This,
  433. /* [in] */ BSTR bstrEmailAddress,
  434. /* [out][retval] */ IAutoDiscoveryProvider **ppProviders);
  435. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DiscoverMail )(
  436. IMailAutoDiscovery * This,
  437. /* [in] */ BSTR bstrEmailAddress);
  438. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PurgeCache )(
  439. IMailAutoDiscovery * This);
  440. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WorkAsync )(
  441. IMailAutoDiscovery * This,
  442. /* [in] */ HWND hwnd,
  443. /* [in] */ UINT wMsg);
  444. END_INTERFACE
  445. } IMailAutoDiscoveryVtbl;
  446. interface IMailAutoDiscovery
  447. {
  448. CONST_VTBL struct IMailAutoDiscoveryVtbl *lpVtbl;
  449. };
  450. #ifdef COBJMACROS
  451. #define IMailAutoDiscovery_QueryInterface(This,riid,ppvObject) \
  452. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  453. #define IMailAutoDiscovery_AddRef(This) \
  454. (This)->lpVtbl -> AddRef(This)
  455. #define IMailAutoDiscovery_Release(This) \
  456. (This)->lpVtbl -> Release(This)
  457. #define IMailAutoDiscovery_GetTypeInfoCount(This,pctinfo) \
  458. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  459. #define IMailAutoDiscovery_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  460. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  461. #define IMailAutoDiscovery_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  462. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  463. #define IMailAutoDiscovery_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  464. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  465. #define IMailAutoDiscovery_get_DisplayName(This,pbstr) \
  466. (This)->lpVtbl -> get_DisplayName(This,pbstr)
  467. #define IMailAutoDiscovery_get_InfoURL(This,pbstrURL) \
  468. (This)->lpVtbl -> get_InfoURL(This,pbstrURL)
  469. #define IMailAutoDiscovery_get_PreferedProtocolType(This,pbstrProtocolType) \
  470. (This)->lpVtbl -> get_PreferedProtocolType(This,pbstrProtocolType)
  471. #define IMailAutoDiscovery_get_length(This,pnLength) \
  472. (This)->lpVtbl -> get_length(This,pnLength)
  473. #define IMailAutoDiscovery_get_item(This,varIndex,ppMailProtocol) \
  474. (This)->lpVtbl -> get_item(This,varIndex,ppMailProtocol)
  475. #define IMailAutoDiscovery_get_XML(This,ppXMLDoc) \
  476. (This)->lpVtbl -> get_XML(This,ppXMLDoc)
  477. #define IMailAutoDiscovery_put_XML(This,pXMLDoc) \
  478. (This)->lpVtbl -> put_XML(This,pXMLDoc)
  479. #define IMailAutoDiscovery_getPrimaryProviders(This,bstrEmailAddress,ppProviders) \
  480. (This)->lpVtbl -> getPrimaryProviders(This,bstrEmailAddress,ppProviders)
  481. #define IMailAutoDiscovery_getSecondaryProviders(This,bstrEmailAddress,ppProviders) \
  482. (This)->lpVtbl -> getSecondaryProviders(This,bstrEmailAddress,ppProviders)
  483. #define IMailAutoDiscovery_DiscoverMail(This,bstrEmailAddress) \
  484. (This)->lpVtbl -> DiscoverMail(This,bstrEmailAddress)
  485. #define IMailAutoDiscovery_PurgeCache(This) \
  486. (This)->lpVtbl -> PurgeCache(This)
  487. #define IMailAutoDiscovery_WorkAsync(This,hwnd,wMsg) \
  488. (This)->lpVtbl -> WorkAsync(This,hwnd,wMsg)
  489. #endif /* COBJMACROS */
  490. #endif /* C style interface */
  491. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_get_DisplayName_Proxy(
  492. IMailAutoDiscovery * This,
  493. /* [out][retval] */ BSTR *pbstr);
  494. void __RPC_STUB IMailAutoDiscovery_get_DisplayName_Stub(
  495. IRpcStubBuffer *This,
  496. IRpcChannelBuffer *_pRpcChannelBuffer,
  497. PRPC_MESSAGE _pRpcMessage,
  498. DWORD *_pdwStubPhase);
  499. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_get_InfoURL_Proxy(
  500. IMailAutoDiscovery * This,
  501. /* [out][retval] */ BSTR *pbstrURL);
  502. void __RPC_STUB IMailAutoDiscovery_get_InfoURL_Stub(
  503. IRpcStubBuffer *This,
  504. IRpcChannelBuffer *_pRpcChannelBuffer,
  505. PRPC_MESSAGE _pRpcMessage,
  506. DWORD *_pdwStubPhase);
  507. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_get_PreferedProtocolType_Proxy(
  508. IMailAutoDiscovery * This,
  509. /* [out][retval] */ BSTR *pbstrProtocolType);
  510. void __RPC_STUB IMailAutoDiscovery_get_PreferedProtocolType_Stub(
  511. IRpcStubBuffer *This,
  512. IRpcChannelBuffer *_pRpcChannelBuffer,
  513. PRPC_MESSAGE _pRpcMessage,
  514. DWORD *_pdwStubPhase);
  515. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_get_length_Proxy(
  516. IMailAutoDiscovery * This,
  517. /* [out][retval] */ long *pnLength);
  518. void __RPC_STUB IMailAutoDiscovery_get_length_Stub(
  519. IRpcStubBuffer *This,
  520. IRpcChannelBuffer *_pRpcChannelBuffer,
  521. PRPC_MESSAGE _pRpcMessage,
  522. DWORD *_pdwStubPhase);
  523. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_get_item_Proxy(
  524. IMailAutoDiscovery * This,
  525. /* [in] */ VARIANT varIndex,
  526. /* [out][retval] */ IMailProtocolADEntry **ppMailProtocol);
  527. void __RPC_STUB IMailAutoDiscovery_get_item_Stub(
  528. IRpcStubBuffer *This,
  529. IRpcChannelBuffer *_pRpcChannelBuffer,
  530. PRPC_MESSAGE _pRpcMessage,
  531. DWORD *_pdwStubPhase);
  532. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_get_XML_Proxy(
  533. IMailAutoDiscovery * This,
  534. /* [out][retval] */ IXMLDOMDocument **ppXMLDoc);
  535. void __RPC_STUB IMailAutoDiscovery_get_XML_Stub(
  536. IRpcStubBuffer *This,
  537. IRpcChannelBuffer *_pRpcChannelBuffer,
  538. PRPC_MESSAGE _pRpcMessage,
  539. DWORD *_pdwStubPhase);
  540. /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_put_XML_Proxy(
  541. IMailAutoDiscovery * This,
  542. /* [in] */ IXMLDOMDocument *pXMLDoc);
  543. void __RPC_STUB IMailAutoDiscovery_put_XML_Stub(
  544. IRpcStubBuffer *This,
  545. IRpcChannelBuffer *_pRpcChannelBuffer,
  546. PRPC_MESSAGE _pRpcMessage,
  547. DWORD *_pdwStubPhase);
  548. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_getPrimaryProviders_Proxy(
  549. IMailAutoDiscovery * This,
  550. /* [in] */ BSTR bstrEmailAddress,
  551. /* [out][retval] */ IAutoDiscoveryProvider **ppProviders);
  552. void __RPC_STUB IMailAutoDiscovery_getPrimaryProviders_Stub(
  553. IRpcStubBuffer *This,
  554. IRpcChannelBuffer *_pRpcChannelBuffer,
  555. PRPC_MESSAGE _pRpcMessage,
  556. DWORD *_pdwStubPhase);
  557. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_getSecondaryProviders_Proxy(
  558. IMailAutoDiscovery * This,
  559. /* [in] */ BSTR bstrEmailAddress,
  560. /* [out][retval] */ IAutoDiscoveryProvider **ppProviders);
  561. void __RPC_STUB IMailAutoDiscovery_getSecondaryProviders_Stub(
  562. IRpcStubBuffer *This,
  563. IRpcChannelBuffer *_pRpcChannelBuffer,
  564. PRPC_MESSAGE _pRpcMessage,
  565. DWORD *_pdwStubPhase);
  566. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_DiscoverMail_Proxy(
  567. IMailAutoDiscovery * This,
  568. /* [in] */ BSTR bstrEmailAddress);
  569. void __RPC_STUB IMailAutoDiscovery_DiscoverMail_Stub(
  570. IRpcStubBuffer *This,
  571. IRpcChannelBuffer *_pRpcChannelBuffer,
  572. PRPC_MESSAGE _pRpcMessage,
  573. DWORD *_pdwStubPhase);
  574. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_PurgeCache_Proxy(
  575. IMailAutoDiscovery * This);
  576. void __RPC_STUB IMailAutoDiscovery_PurgeCache_Stub(
  577. IRpcStubBuffer *This,
  578. IRpcChannelBuffer *_pRpcChannelBuffer,
  579. PRPC_MESSAGE _pRpcMessage,
  580. DWORD *_pdwStubPhase);
  581. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IMailAutoDiscovery_WorkAsync_Proxy(
  582. IMailAutoDiscovery * This,
  583. /* [in] */ HWND hwnd,
  584. /* [in] */ UINT wMsg);
  585. void __RPC_STUB IMailAutoDiscovery_WorkAsync_Stub(
  586. IRpcStubBuffer *This,
  587. IRpcChannelBuffer *_pRpcChannelBuffer,
  588. PRPC_MESSAGE _pRpcMessage,
  589. DWORD *_pdwStubPhase);
  590. #endif /* __IMailAutoDiscovery_INTERFACE_DEFINED__ */
  591. #ifndef __IAccountDiscovery_INTERFACE_DEFINED__
  592. #define __IAccountDiscovery_INTERFACE_DEFINED__
  593. /* interface IAccountDiscovery */
  594. /* [uuid][nonextensible][dual][oleautomation][object] */
  595. typedef /* [unique] */ IAccountDiscovery *LPACCOUNTDISCOVERY;
  596. // IAccountDiscovery::DiscoverNow() flags
  597. #define ADDN_DEFAULT 0x00000000
  598. #define ADDN_CONFIGURE_EMAIL_FALLBACK 0x00000001 // We are attempting to configure an email account so contact public servers offering email settings.
  599. // For Example, Microsoft may provide _AutoDiscovery.microsoft.com that can provide email configuration settings for common servers.
  600. #define ADDN_SKIP_CACHEDRESULTS 0x00000002 // Download the settings, even if they are already cached.
  601. #define ADDN_FILTER_EMAIL 0x00000100 // Some users may want the username part of the email address removed if we need to fall
  602. // back to a public service to get the settings to protect their privacy.
  603. EXTERN_C const IID IID_IAccountDiscovery;
  604. #if defined(__cplusplus) && !defined(CINTERFACE)
  605. MIDL_INTERFACE("FA202BBC-6ABE-4c17-B184-570B6CF256A6")
  606. IAccountDiscovery : public IDispatch
  607. {
  608. public:
  609. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE DiscoverNow(
  610. /* [in] */ BSTR bstrEmailAddress,
  611. /* [in] */ DWORD dwFlags,
  612. /* [in] */ BSTR bstrXMLRequest,
  613. /* [out][retval] */ IXMLDOMDocument **ppXMLResponse) = 0;
  614. virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE WorkAsync(
  615. /* [in] */ HWND hwnd,
  616. /* [in] */ UINT wMsg) = 0;
  617. };
  618. #else /* C style interface */
  619. typedef struct IAccountDiscoveryVtbl
  620. {
  621. BEGIN_INTERFACE
  622. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  623. IAccountDiscovery * This,
  624. /* [in] */ REFIID riid,
  625. /* [iid_is][out] */ void **ppvObject);
  626. ULONG ( STDMETHODCALLTYPE *AddRef )(
  627. IAccountDiscovery * This);
  628. ULONG ( STDMETHODCALLTYPE *Release )(
  629. IAccountDiscovery * This);
  630. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  631. IAccountDiscovery * This,
  632. /* [out] */ UINT *pctinfo);
  633. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  634. IAccountDiscovery * This,
  635. /* [in] */ UINT iTInfo,
  636. /* [in] */ LCID lcid,
  637. /* [out] */ ITypeInfo **ppTInfo);
  638. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  639. IAccountDiscovery * This,
  640. /* [in] */ REFIID riid,
  641. /* [size_is][in] */ LPOLESTR *rgszNames,
  642. /* [in] */ UINT cNames,
  643. /* [in] */ LCID lcid,
  644. /* [size_is][out] */ DISPID *rgDispId);
  645. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  646. IAccountDiscovery * This,
  647. /* [in] */ DISPID dispIdMember,
  648. /* [in] */ REFIID riid,
  649. /* [in] */ LCID lcid,
  650. /* [in] */ WORD wFlags,
  651. /* [out][in] */ DISPPARAMS *pDispParams,
  652. /* [out] */ VARIANT *pVarResult,
  653. /* [out] */ EXCEPINFO *pExcepInfo,
  654. /* [out] */ UINT *puArgErr);
  655. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DiscoverNow )(
  656. IAccountDiscovery * This,
  657. /* [in] */ BSTR bstrEmailAddress,
  658. /* [in] */ DWORD dwFlags,
  659. /* [in] */ BSTR bstrXMLRequest,
  660. /* [out][retval] */ IXMLDOMDocument **ppXMLResponse);
  661. /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WorkAsync )(
  662. IAccountDiscovery * This,
  663. /* [in] */ HWND hwnd,
  664. /* [in] */ UINT wMsg);
  665. END_INTERFACE
  666. } IAccountDiscoveryVtbl;
  667. interface IAccountDiscovery
  668. {
  669. CONST_VTBL struct IAccountDiscoveryVtbl *lpVtbl;
  670. };
  671. #ifdef COBJMACROS
  672. #define IAccountDiscovery_QueryInterface(This,riid,ppvObject) \
  673. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  674. #define IAccountDiscovery_AddRef(This) \
  675. (This)->lpVtbl -> AddRef(This)
  676. #define IAccountDiscovery_Release(This) \
  677. (This)->lpVtbl -> Release(This)
  678. #define IAccountDiscovery_GetTypeInfoCount(This,pctinfo) \
  679. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  680. #define IAccountDiscovery_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  681. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  682. #define IAccountDiscovery_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  683. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  684. #define IAccountDiscovery_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  685. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  686. #define IAccountDiscovery_DiscoverNow(This,bstrEmailAddress,dwFlags,bstrXMLRequest,ppXMLResponse) \
  687. (This)->lpVtbl -> DiscoverNow(This,bstrEmailAddress,dwFlags,bstrXMLRequest,ppXMLResponse)
  688. #define IAccountDiscovery_WorkAsync(This,hwnd,wMsg) \
  689. (This)->lpVtbl -> WorkAsync(This,hwnd,wMsg)
  690. #endif /* COBJMACROS */
  691. #endif /* C style interface */
  692. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IAccountDiscovery_DiscoverNow_Proxy(
  693. IAccountDiscovery * This,
  694. /* [in] */ BSTR bstrEmailAddress,
  695. /* [in] */ DWORD dwFlags,
  696. /* [in] */ BSTR bstrXMLRequest,
  697. /* [out][retval] */ IXMLDOMDocument **ppXMLResponse);
  698. void __RPC_STUB IAccountDiscovery_DiscoverNow_Stub(
  699. IRpcStubBuffer *This,
  700. IRpcChannelBuffer *_pRpcChannelBuffer,
  701. PRPC_MESSAGE _pRpcMessage,
  702. DWORD *_pdwStubPhase);
  703. /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IAccountDiscovery_WorkAsync_Proxy(
  704. IAccountDiscovery * This,
  705. /* [in] */ HWND hwnd,
  706. /* [in] */ UINT wMsg);
  707. void __RPC_STUB IAccountDiscovery_WorkAsync_Stub(
  708. IRpcStubBuffer *This,
  709. IRpcChannelBuffer *_pRpcChannelBuffer,
  710. PRPC_MESSAGE _pRpcMessage,
  711. DWORD *_pdwStubPhase);
  712. #endif /* __IAccountDiscovery_INTERFACE_DEFINED__ */
  713. EXTERN_C const CLSID CLSID_AccountDiscovery;
  714. #ifdef __cplusplus
  715. class DECLSPEC_UUID("3DAB30ED-8132-40bf-A8BA-7B5057F0CD10")
  716. AccountDiscovery;
  717. #endif
  718. #ifndef __IMailProtocolADEntry_INTERFACE_DEFINED__
  719. #define __IMailProtocolADEntry_INTERFACE_DEFINED__
  720. /* interface IMailProtocolADEntry */
  721. /* [uuid][nonextensible][dual][oleautomation][object] */
  722. typedef /* [unique] */ IMailProtocolADEntry *LPMAILPROTOCOLADENTRY;
  723. EXTERN_C const IID IID_IMailProtocolADEntry;
  724. #if defined(__cplusplus) && !defined(CINTERFACE)
  725. MIDL_INTERFACE("40EF8C68-D554-47ed-AA37-E5FB6BC91075")
  726. IMailProtocolADEntry : public IDispatch
  727. {
  728. public:
  729. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Protocol(
  730. /* [out][retval] */ BSTR *pbstr) = 0;
  731. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServerName(
  732. /* [out][retval] */ BSTR *pbstr) = 0;
  733. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServerPort(
  734. /* [out][retval] */ BSTR *pbstr) = 0;
  735. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_LoginName(
  736. /* [out][retval] */ BSTR *pbstr) = 0;
  737. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PostHTML(
  738. /* [out][retval] */ BSTR *pbstr) = 0;
  739. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UseSSL(
  740. /* [out][retval] */ VARIANT_BOOL *pfUseSSL) = 0;
  741. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsAuthRequired(
  742. /* [out][retval] */ VARIANT_BOOL *pfIsAuthRequired) = 0;
  743. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UseSPA(
  744. /* [out][retval] */ VARIANT_BOOL *pfUseSPA) = 0;
  745. virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SMTPUsesPOP3Auth(
  746. /* [out][retval] */ VARIANT_BOOL *pfUsePOP3Auth) = 0;
  747. };
  748. #else /* C style interface */
  749. typedef struct IMailProtocolADEntryVtbl
  750. {
  751. BEGIN_INTERFACE
  752. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  753. IMailProtocolADEntry * This,
  754. /* [in] */ REFIID riid,
  755. /* [iid_is][out] */ void **ppvObject);
  756. ULONG ( STDMETHODCALLTYPE *AddRef )(
  757. IMailProtocolADEntry * This);
  758. ULONG ( STDMETHODCALLTYPE *Release )(
  759. IMailProtocolADEntry * This);
  760. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  761. IMailProtocolADEntry * This,
  762. /* [out] */ UINT *pctinfo);
  763. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  764. IMailProtocolADEntry * This,
  765. /* [in] */ UINT iTInfo,
  766. /* [in] */ LCID lcid,
  767. /* [out] */ ITypeInfo **ppTInfo);
  768. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  769. IMailProtocolADEntry * This,
  770. /* [in] */ REFIID riid,
  771. /* [size_is][in] */ LPOLESTR *rgszNames,
  772. /* [in] */ UINT cNames,
  773. /* [in] */ LCID lcid,
  774. /* [size_is][out] */ DISPID *rgDispId);
  775. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  776. IMailProtocolADEntry * This,
  777. /* [in] */ DISPID dispIdMember,
  778. /* [in] */ REFIID riid,
  779. /* [in] */ LCID lcid,
  780. /* [in] */ WORD wFlags,
  781. /* [out][in] */ DISPPARAMS *pDispParams,
  782. /* [out] */ VARIANT *pVarResult,
  783. /* [out] */ EXCEPINFO *pExcepInfo,
  784. /* [out] */ UINT *puArgErr);
  785. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Protocol )(
  786. IMailProtocolADEntry * This,
  787. /* [out][retval] */ BSTR *pbstr);
  788. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerName )(
  789. IMailProtocolADEntry * This,
  790. /* [out][retval] */ BSTR *pbstr);
  791. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerPort )(
  792. IMailProtocolADEntry * This,
  793. /* [out][retval] */ BSTR *pbstr);
  794. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoginName )(
  795. IMailProtocolADEntry * This,
  796. /* [out][retval] */ BSTR *pbstr);
  797. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PostHTML )(
  798. IMailProtocolADEntry * This,
  799. /* [out][retval] */ BSTR *pbstr);
  800. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UseSSL )(
  801. IMailProtocolADEntry * This,
  802. /* [out][retval] */ VARIANT_BOOL *pfUseSSL);
  803. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsAuthRequired )(
  804. IMailProtocolADEntry * This,
  805. /* [out][retval] */ VARIANT_BOOL *pfIsAuthRequired);
  806. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UseSPA )(
  807. IMailProtocolADEntry * This,
  808. /* [out][retval] */ VARIANT_BOOL *pfUseSPA);
  809. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SMTPUsesPOP3Auth )(
  810. IMailProtocolADEntry * This,
  811. /* [out][retval] */ VARIANT_BOOL *pfUsePOP3Auth);
  812. END_INTERFACE
  813. } IMailProtocolADEntryVtbl;
  814. interface IMailProtocolADEntry
  815. {
  816. CONST_VTBL struct IMailProtocolADEntryVtbl *lpVtbl;
  817. };
  818. #ifdef COBJMACROS
  819. #define IMailProtocolADEntry_QueryInterface(This,riid,ppvObject) \
  820. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  821. #define IMailProtocolADEntry_AddRef(This) \
  822. (This)->lpVtbl -> AddRef(This)
  823. #define IMailProtocolADEntry_Release(This) \
  824. (This)->lpVtbl -> Release(This)
  825. #define IMailProtocolADEntry_GetTypeInfoCount(This,pctinfo) \
  826. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  827. #define IMailProtocolADEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  828. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  829. #define IMailProtocolADEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  830. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  831. #define IMailProtocolADEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  832. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  833. #define IMailProtocolADEntry_get_Protocol(This,pbstr) \
  834. (This)->lpVtbl -> get_Protocol(This,pbstr)
  835. #define IMailProtocolADEntry_get_ServerName(This,pbstr) \
  836. (This)->lpVtbl -> get_ServerName(This,pbstr)
  837. #define IMailProtocolADEntry_get_ServerPort(This,pbstr) \
  838. (This)->lpVtbl -> get_ServerPort(This,pbstr)
  839. #define IMailProtocolADEntry_get_LoginName(This,pbstr) \
  840. (This)->lpVtbl -> get_LoginName(This,pbstr)
  841. #define IMailProtocolADEntry_get_PostHTML(This,pbstr) \
  842. (This)->lpVtbl -> get_PostHTML(This,pbstr)
  843. #define IMailProtocolADEntry_get_UseSSL(This,pfUseSSL) \
  844. (This)->lpVtbl -> get_UseSSL(This,pfUseSSL)
  845. #define IMailProtocolADEntry_get_IsAuthRequired(This,pfIsAuthRequired) \
  846. (This)->lpVtbl -> get_IsAuthRequired(This,pfIsAuthRequired)
  847. #define IMailProtocolADEntry_get_UseSPA(This,pfUseSPA) \
  848. (This)->lpVtbl -> get_UseSPA(This,pfUseSPA)
  849. #define IMailProtocolADEntry_get_SMTPUsesPOP3Auth(This,pfUsePOP3Auth) \
  850. (This)->lpVtbl -> get_SMTPUsesPOP3Auth(This,pfUsePOP3Auth)
  851. #endif /* COBJMACROS */
  852. #endif /* C style interface */
  853. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_Protocol_Proxy(
  854. IMailProtocolADEntry * This,
  855. /* [out][retval] */ BSTR *pbstr);
  856. void __RPC_STUB IMailProtocolADEntry_get_Protocol_Stub(
  857. IRpcStubBuffer *This,
  858. IRpcChannelBuffer *_pRpcChannelBuffer,
  859. PRPC_MESSAGE _pRpcMessage,
  860. DWORD *_pdwStubPhase);
  861. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_ServerName_Proxy(
  862. IMailProtocolADEntry * This,
  863. /* [out][retval] */ BSTR *pbstr);
  864. void __RPC_STUB IMailProtocolADEntry_get_ServerName_Stub(
  865. IRpcStubBuffer *This,
  866. IRpcChannelBuffer *_pRpcChannelBuffer,
  867. PRPC_MESSAGE _pRpcMessage,
  868. DWORD *_pdwStubPhase);
  869. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_ServerPort_Proxy(
  870. IMailProtocolADEntry * This,
  871. /* [out][retval] */ BSTR *pbstr);
  872. void __RPC_STUB IMailProtocolADEntry_get_ServerPort_Stub(
  873. IRpcStubBuffer *This,
  874. IRpcChannelBuffer *_pRpcChannelBuffer,
  875. PRPC_MESSAGE _pRpcMessage,
  876. DWORD *_pdwStubPhase);
  877. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_LoginName_Proxy(
  878. IMailProtocolADEntry * This,
  879. /* [out][retval] */ BSTR *pbstr);
  880. void __RPC_STUB IMailProtocolADEntry_get_LoginName_Stub(
  881. IRpcStubBuffer *This,
  882. IRpcChannelBuffer *_pRpcChannelBuffer,
  883. PRPC_MESSAGE _pRpcMessage,
  884. DWORD *_pdwStubPhase);
  885. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_PostHTML_Proxy(
  886. IMailProtocolADEntry * This,
  887. /* [out][retval] */ BSTR *pbstr);
  888. void __RPC_STUB IMailProtocolADEntry_get_PostHTML_Stub(
  889. IRpcStubBuffer *This,
  890. IRpcChannelBuffer *_pRpcChannelBuffer,
  891. PRPC_MESSAGE _pRpcMessage,
  892. DWORD *_pdwStubPhase);
  893. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_UseSSL_Proxy(
  894. IMailProtocolADEntry * This,
  895. /* [out][retval] */ VARIANT_BOOL *pfUseSSL);
  896. void __RPC_STUB IMailProtocolADEntry_get_UseSSL_Stub(
  897. IRpcStubBuffer *This,
  898. IRpcChannelBuffer *_pRpcChannelBuffer,
  899. PRPC_MESSAGE _pRpcMessage,
  900. DWORD *_pdwStubPhase);
  901. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_IsAuthRequired_Proxy(
  902. IMailProtocolADEntry * This,
  903. /* [out][retval] */ VARIANT_BOOL *pfIsAuthRequired);
  904. void __RPC_STUB IMailProtocolADEntry_get_IsAuthRequired_Stub(
  905. IRpcStubBuffer *This,
  906. IRpcChannelBuffer *_pRpcChannelBuffer,
  907. PRPC_MESSAGE _pRpcMessage,
  908. DWORD *_pdwStubPhase);
  909. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_UseSPA_Proxy(
  910. IMailProtocolADEntry * This,
  911. /* [out][retval] */ VARIANT_BOOL *pfUseSPA);
  912. void __RPC_STUB IMailProtocolADEntry_get_UseSPA_Stub(
  913. IRpcStubBuffer *This,
  914. IRpcChannelBuffer *_pRpcChannelBuffer,
  915. PRPC_MESSAGE _pRpcMessage,
  916. DWORD *_pdwStubPhase);
  917. /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMailProtocolADEntry_get_SMTPUsesPOP3Auth_Proxy(
  918. IMailProtocolADEntry * This,
  919. /* [out][retval] */ VARIANT_BOOL *pfUsePOP3Auth);
  920. void __RPC_STUB IMailProtocolADEntry_get_SMTPUsesPOP3Auth_Stub(
  921. IRpcStubBuffer *This,
  922. IRpcChannelBuffer *_pRpcChannelBuffer,
  923. PRPC_MESSAGE _pRpcMessage,
  924. DWORD *_pdwStubPhase);
  925. #endif /* __IMailProtocolADEntry_INTERFACE_DEFINED__ */
  926. EXTERN_C const CLSID CLSID_MailProtocolADEntry;
  927. #ifdef __cplusplus
  928. class DECLSPEC_UUID("61A5D6F3-C131-4c35-BF40-90A50F214122")
  929. MailProtocolADEntry;
  930. #endif
  931. EXTERN_C const CLSID CLSID_MailAutoDiscovery;
  932. #ifdef __cplusplus
  933. class DECLSPEC_UUID("008FD5DD-6DBB-48e3-991B-2D3ED658516A")
  934. MailAutoDiscovery;
  935. #endif
  936. #endif /* __AutoDiscovery_LIBRARY_DEFINED__ */
  937. /* interface __MIDL_itf_autodiscovery_0262 */
  938. /* [local] */
  939. #endif // (_WIN32_IE >= 0x0600)
  940. #endif // _AUTODISCOVERY_IDL_H_
  941. extern RPC_IF_HANDLE __MIDL_itf_autodiscovery_0262_v0_0_c_ifspec;
  942. extern RPC_IF_HANDLE __MIDL_itf_autodiscovery_0262_v0_0_s_ifspec;
  943. /* Additional Prototypes for ALL interfaces */
  944. /* end of Additional Prototypes */
  945. #ifdef __cplusplus
  946. }
  947. #endif
  948. #endif