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.

1689 lines
64 KiB

  1. // smtpadm.idl : IDL source for smtpadm.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (smtpadm.tlb) and marshalling code.
  5. midl_pragma warning(disable:2362) // too many methods in the interface
  6. cpp_quote("")
  7. cpp_quote("/*++")
  8. cpp_quote("")
  9. cpp_quote("Copyright (c) 1997 Microsoft Corporation")
  10. cpp_quote("")
  11. cpp_quote("Module Name: smtpadm.h")
  12. cpp_quote("")
  13. cpp_quote(" Smtp Admin Object Interfaces")
  14. cpp_quote("")
  15. cpp_quote("--*/")
  16. cpp_quote("")
  17. cpp_quote("#ifndef _SMTPADM_IDL_INCLUDED_")
  18. cpp_quote("#define _SMTPADM_IDL_INCLUDED_")
  19. //
  20. // Define GUIDS:
  21. //
  22. cpp_quote("")
  23. cpp_quote("/* LIBIDs: */")
  24. cpp_quote("")
  25. cpp_quote("DEFINE_GUID(LIBID_SMTPADMLib, 0x1a04ea80,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  26. cpp_quote("")
  27. cpp_quote("/* IIDs: */")
  28. cpp_quote("")
  29. #ifndef _ADSIIEX_BUILD
  30. cpp_quote("DEFINE_GUID(IID_ISmtpAdmin, 0x1a04ea81,0x9414,0x11d0, 0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  31. cpp_quote("DEFINE_GUID(IID_ISmtpAdminService, 0x1a04ea82,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  32. cpp_quote("DEFINE_GUID(IID_ISmtpAdminVirtualServer, 0x1a04ea83,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  33. #endif
  34. cpp_quote("DEFINE_GUID(IID_ISmtpAdminSessions, 0x1a04ea84,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  35. cpp_quote("DEFINE_GUID(IID_ISmtpAdminVirtualDirectory, 0x1a04ea92,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  36. cpp_quote("DEFINE_GUID(IID_ISmtpAdminAlias, 0x1a04ea85,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  37. cpp_quote("DEFINE_GUID(IID_ISmtpAdminUser, 0x1a04ea86,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  38. cpp_quote("DEFINE_GUID(IID_ISmtpAdminDL, 0x1a04ea87,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  39. cpp_quote("DEFINE_GUID(IID_ISmtpAdminDomain, 0x1a04ea88,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  40. cpp_quote("")
  41. cpp_quote("/* CLSID: */")
  42. cpp_quote("")
  43. #ifndef _ADSIIEX_BUILD
  44. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdmin, 0x1a04ea89,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  45. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminService, 0x1a04ea8a,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  46. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminVirtualServer, 0x1a04ea8b,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  47. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminVirtualDirectory, 0x1a04ea8d,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  48. #endif
  49. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminSessions, 0x1a04ea8c,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  50. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminAlias, 0x1a04ea8e,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  51. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminUser, 0x1a04ea8f,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  52. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminDL, 0x1a04ea90,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  53. cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminDomain, 0x1a04ea91,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);")
  54. cpp_quote("#include <iads.h>")
  55. #define DISPID_IADs_UPPER_BOUND 100
  56. [
  57. uuid(1a04ea80-9414-11d0-906f-00aa00a1eab7),
  58. version(1.0),
  59. helpstring("smtpadm 1.0 Type Library")
  60. ]
  61. library SMTPADMLib
  62. {
  63. importlib("stdole2.tlb");
  64. importlib("activeds.tlb");
  65. #ifndef _ADSIIEX_BUILD
  66. #include "binding.idl"
  67. #include "ipaccess.idl"
  68. #include "rtsrc.idl"
  69. #endif
  70. // forward declaration
  71. #ifndef _ADSIIEX_BUILD
  72. interface ISmtpAdmin;
  73. interface ISmtpAdminService;
  74. interface ISmtpAdminVirtualServer;
  75. interface ISmtpAdminVirtualDirectory;
  76. interface ITcpAccess;
  77. interface ITcpAccessExceptions;
  78. interface ITcpAccessException;
  79. interface ISmtpAdminHelper;
  80. #endif
  81. interface ISmtpAdminSessions;
  82. interface ISmtpAdminAlias;
  83. interface ISmtpAdminUser;
  84. interface ISmtpAdminDL;
  85. interface ISmtpAdminDomain;
  86. //////////////////////////////////////////////////////////////////////
  87. //
  88. // Type definitions:
  89. //
  90. //////////////////////////////////////////////////////////////////////
  91. // Define our types:
  92. typedef enum {
  93. NAME_TYPE_USER = 0x1,
  94. NAME_TYPE_LIST_NORMAL = 0x2,
  95. NAME_TYPE_LIST_DOMAIN = 0x4,
  96. NAME_TYPE_LIST_SITE = 0x8,
  97. NAME_TYPE_ALL = 0xf
  98. } SMTP_NAME_TYPE;
  99. /*
  100. typedef enum {
  101. SMTP_NO_ACTION = 0,
  102. SMTP_DROP,
  103. SMTP_SMARTHOST,
  104. SMTP_SSL,
  105. SMTP_ALIAS,
  106. SMTP_DELIVER,
  107. SMTP_DEFAULT,
  108. LAST_SMTP_ACTION
  109. } SMTP_DOMAIN_ACTION_TYPE;
  110. */
  111. typedef enum {
  112. SMTP_SERVER_STATE_UNKNOWN = 0,
  113. SMTP_SERVER_STATE_STARTING,
  114. SMTP_SERVER_STATE_STARTED,
  115. SMTP_SERVER_STATE_STOPPING,
  116. SMTP_SERVER_STATE_STOPPED,
  117. SMTP_SERVER_STATE_PAUSING,
  118. SMTP_SERVER_STATE_PAUSED,
  119. SMTP_SERVER_STATE_CONTINUING
  120. } SMTP_SERVER_STATE;
  121. #ifndef _ADSIIEX_BUILD
  122. [
  123. object,
  124. uuid(1a04ea81-9414-11d0-906f-00aa00a1eab7),
  125. dual,
  126. helpstring("ISmtpAdmin Interface"),
  127. pointer_default(unique)
  128. ]
  129. interface ISmtpAdmin : IDispatch
  130. {
  131. import "oaidl.idl";
  132. //////////////////////////////////////////////////////////////////////
  133. // Properties:
  134. //////////////////////////////////////////////////////////////////////
  135. // Pointers to other ISmtpAdmin interfaces:
  136. [propget, helpstring("ISmtpAdminVirtualServer interface"), id(DISPID_IADs_UPPER_BOUND+1)]
  137. HRESULT VirtualServerAdmin ( [out, retval] IDispatch ** ppIDispatch );
  138. [propget, helpstring("ISmtpAdminService"), id(DISPID_IADs_UPPER_BOUND+2)]
  139. HRESULT ServiceAdmin ( [out, retval] IDispatch ** ppIDispatch );
  140. [propget, helpstring("ISmtpAdminSessions"), id(DISPID_IADs_UPPER_BOUND+3)]
  141. HRESULT SessionsAdmin ( [out, retval] IDispatch ** ppIDispatch );
  142. [propget, helpstring("ISmtpAdminVirtualDirectory"), id(DISPID_IADs_UPPER_BOUND+4)]
  143. HRESULT VirtualDirectoryAdmin ( [out, retval] IDispatch ** ppIDispatch );
  144. [propget, helpstring("ISmtpAdminAlias"), id(DISPID_IADs_UPPER_BOUND+5)]
  145. HRESULT AliasAdmin ( [out, retval] IDispatch ** ppIDispatch );
  146. [propget, helpstring("ISmtpAdminUser"), id(DISPID_IADs_UPPER_BOUND+6)]
  147. HRESULT UserAdmin ( [out, retval] IDispatch ** ppIDispatch );
  148. [propget, helpstring("ISmtpAdminDL"), id(DISPID_IADs_UPPER_BOUND+7)]
  149. HRESULT DLAdmin ( [out, retval] IDispatch ** ppIDispatch );
  150. [propget, helpstring("ISmtpAdminDL"), id(DISPID_IADs_UPPER_BOUND+8)]
  151. HRESULT DomainAdmin ( [out, retval] IDispatch ** ppIDispatch );
  152. // Which service to configure:
  153. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+9)]
  154. HRESULT Server ( [out, retval] BSTR * pstrServer );
  155. [propput, id(DISPID_IADs_UPPER_BOUND+9)]
  156. HRESULT Server ( [in] BSTR strServer );
  157. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+10)]
  158. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  159. [propput, id(DISPID_IADs_UPPER_BOUND+10)]
  160. HRESULT ServiceInstance ( [in] long lServiceInstance );
  161. // Versioning:
  162. [propget, helpstring("Versioning Information"), id(DISPID_IADs_UPPER_BOUND+11)]
  163. HRESULT HighVersion ( [out, retval] long * plHighVersion );
  164. [propget, helpstring("Versioning Information"), id(DISPID_IADs_UPPER_BOUND+12)]
  165. HRESULT LowVersion ( [out, retval] long * plLowVersion );
  166. [propget, helpstring("Build Number"), id(DISPID_IADs_UPPER_BOUND+13)]
  167. HRESULT BuildNum ( [out, retval] long * plBuildNumber );
  168. [propget, helpstring("Service version #"), id(DISPID_IADs_UPPER_BOUND+14)]
  169. HRESULT ServiceVersion ( [out, retval] long * pdwServiceVersion );
  170. //////////////////////////////////////////////////////////////////////
  171. // Methods:
  172. //////////////////////////////////////////////////////////////////////
  173. [helpstring("Enumerate service instances"), id(DISPID_IADs_UPPER_BOUND+15)]
  174. HRESULT EnumerateInstances ( [out] SAFEARRAY (long) * psaInstanceIds );
  175. [helpstring("VB script version"), id(DISPID_IADs_UPPER_BOUND+16)]
  176. HRESULT EnumerateInstancesVariant ( [out, retval] SAFEARRAY (VARIANT) * psaInstanceIds );
  177. [helpstring("Create a new service instance"), id(DISPID_IADs_UPPER_BOUND+17)]
  178. HRESULT CreateInstance ( [in] BSTR pstrMailRoot, [out, retval] long * plInstanceId );
  179. [helpstring("Delete a service instance"), id(DISPID_IADs_UPPER_BOUND+18)]
  180. HRESULT DestroyInstance ([in] long lInstanceId );
  181. [helpstring("Translate an error code into a string"), id(DISPID_IADs_UPPER_BOUND+19)]
  182. HRESULT ErrorToString ( [in] DWORD lErrorCode, [out, retval] BSTR * pstrError );
  183. [helpstring("HTML tokenize the given string"), id(DISPID_IADs_UPPER_BOUND+20)]
  184. HRESULT Tokenize ( [in] BSTR strIn, [out, retval] BSTR * pstrOut );
  185. };
  186. #endif
  187. #ifndef _ADSIIEX_BUILD
  188. [
  189. object,
  190. uuid(1a04ea82-9414-11d0-906f-00aa00a1eab7),
  191. dual,
  192. helpstring("ISmtpAdminService Interface"),
  193. pointer_default(unique)
  194. ]
  195. interface ISmtpAdminService : IDispatch
  196. {
  197. import "oaidl.idl";
  198. //////////////////////////////////////////////////////////////////////
  199. // Properties:
  200. //////////////////////////////////////////////////////////////////////
  201. // Which service to configure:
  202. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  203. HRESULT Server ( [out, retval] BSTR * pstrServer );
  204. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  205. HRESULT Server ( [in] BSTR strServer );
  206. // No instance for the server interface
  207. // Server Properties:
  208. [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+2)]
  209. HRESULT ServerBindings ( [out, retval] SAFEARRAY (BSTR) * psastrServerBindings );
  210. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  211. HRESULT ServerBindings ( [in] SAFEARRAY (BSTR) sastrServerBindings );
  212. [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+3)]
  213. HRESULT ServerBindingsVariant ( [out, retval] SAFEARRAY (VARIANT) * psastrServerBindings );
  214. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  215. HRESULT ServerBindingsVariant ( [in] SAFEARRAY (VARIANT) sastrServerBindings );
  216. [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+4)]
  217. HRESULT SecureBindings ( [out, retval] SAFEARRAY (BSTR) * psastrSecureBindings );
  218. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  219. HRESULT SecureBindings ( [in] SAFEARRAY (BSTR) sastrSecureBindings );
  220. [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+5)]
  221. HRESULT SecureBindingsVariant ( [out, retval] SAFEARRAY (Variant) * psastrSecureBindings );
  222. [propput, id(DISPID_IADs_UPPER_BOUND+5)]
  223. HRESULT SecureBindingsVariant ( [in] SAFEARRAY (Variant) sastrSecureBindings );
  224. [propget, helpstring("TCP/IP Port to Configure"), id(DISPID_IADs_UPPER_BOUND+6)]
  225. HRESULT Port ( [out, retval] long * lPort );
  226. [propput, id(DISPID_IADs_UPPER_BOUND+6)]
  227. HRESULT Port ( [in] long lPort );
  228. [propget, helpstring("SSL Port to Configure"), id(DISPID_IADs_UPPER_BOUND+7)]
  229. HRESULT SSLPort ( [out, retval] long * lSSLPort );
  230. [propput, id(DISPID_IADs_UPPER_BOUND+7)]
  231. HRESULT SSLPort ( [in] long lSSLPort );
  232. [propget, helpstring("Outbound Port to Configure"), id(DISPID_IADs_UPPER_BOUND+8)]
  233. HRESULT OutboundPort ( [out, retval] long * lOutboundPort );
  234. [propput, id(DISPID_IADs_UPPER_BOUND+8)]
  235. HRESULT OutboundPort ( [in] long lOutboundPort );
  236. [propget, helpstring("Smart host to Configure"), id(DISPID_IADs_UPPER_BOUND+9)]
  237. HRESULT SmartHost ( [out, retval] BSTR * pstrSmartHost );
  238. [propput, id(DISPID_IADs_UPPER_BOUND+9)]
  239. HRESULT SmartHost ( [in] BSTR strSmartHost );
  240. [propget, helpstring("Hop Count to Configure"), id(DISPID_IADs_UPPER_BOUND+10)]
  241. HRESULT HopCount ( [out, retval] long * lHopCount );
  242. [propput, id(DISPID_IADs_UPPER_BOUND+10)]
  243. HRESULT HopCount ( [in] long lHopCount );
  244. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)]
  245. HRESULT SmartHostType ( [out, retval] long * plSmartHostType );
  246. [propput, id(DISPID_IADs_UPPER_BOUND+11)]
  247. HRESULT SmartHostType ( [in] long lSmartHostType );
  248. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+12)]
  249. HRESULT ShouldDeliver ( [out, retval] BOOL * pfShouldDeliver );
  250. [propput, id(DISPID_IADs_UPPER_BOUND+12)]
  251. HRESULT ShouldDeliver ( [in] BOOL fShouldDeliver );
  252. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+13)]
  253. HRESULT EnableDNSLookup ( [out, retval] BOOL * pfEnableDNSLookup );
  254. [propput, id(DISPID_IADs_UPPER_BOUND+13)]
  255. HRESULT EnableDNSLookup ( [in] BOOL fEnableDNSLookup );
  256. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+14)]
  257. HRESULT PostmasterEmail ( [out, retval] BSTR * pstrPostmasterEmail );
  258. [propput, id(DISPID_IADs_UPPER_BOUND+14)]
  259. HRESULT PostmasterEmail ( [in] BSTR strPostmasterEmail );
  260. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+15)]
  261. HRESULT PostmasterName ( [out, retval] BSTR * pstrPostmasterName );
  262. [propput, id(DISPID_IADs_UPPER_BOUND+15)]
  263. HRESULT PostmasterName ( [in] BSTR strPostmasterName );
  264. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+16)]
  265. HRESULT DefaultDomain ( [out, retval] BSTR * pstrDefaultDomainName );
  266. [propput, id(DISPID_IADs_UPPER_BOUND+16)]
  267. HRESULT DefaultDomain ( [in] BSTR strDefaultDomainName );
  268. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+17)]
  269. HRESULT FQDN ( [out, retval] BSTR * pstrFQDN );
  270. [propput, id(DISPID_IADs_UPPER_BOUND+17)]
  271. HRESULT FQDN ( [in] BSTR strFQDN );
  272. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+18)]
  273. HRESULT DropDir ( [out, retval] BSTR * pstrDropDir );
  274. [propput, id(DISPID_IADs_UPPER_BOUND+18)]
  275. HRESULT DropDir ( [in] BSTR strDropDir );
  276. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+19)]
  277. HRESULT BadMailDir ( [out, retval] BSTR * pstrBadMailDir );
  278. [propput, id(DISPID_IADs_UPPER_BOUND+19)]
  279. HRESULT BadMailDir ( [in] BSTR strBadMailDir );
  280. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+20)]
  281. HRESULT PickupDir ( [out, retval] BSTR * pstrPickupDir );
  282. [propput, id(DISPID_IADs_UPPER_BOUND+20)]
  283. HRESULT PickupDir ( [in] BSTR strPickupDir );
  284. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+21)]
  285. HRESULT QueueDir ( [out, retval] BSTR * pstrQueueDir );
  286. [propput, id(DISPID_IADs_UPPER_BOUND+21)]
  287. HRESULT QueueDir ( [in] BSTR strQueueDir );
  288. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+22)]
  289. HRESULT MaxInConnection ( [out, retval] long * lMaxInConnection );
  290. [propput, id(DISPID_IADs_UPPER_BOUND+22)]
  291. HRESULT MaxInConnection ( [in] long lMaxInConnection );
  292. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+23)]
  293. HRESULT MaxOutConnection ( [out, retval] long * lMaxOutConnection );
  294. [propput, id(DISPID_IADs_UPPER_BOUND+23)]
  295. HRESULT MaxOutConnection ( [in] long lMaxOutConnection );
  296. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+24)]
  297. HRESULT InConnectionTimeout ( [out, retval] long * lInConnectionTimeout );
  298. [propput, id(DISPID_IADs_UPPER_BOUND+24)]
  299. HRESULT InConnectionTimeout ( [in] long lInConnectionTimeout );
  300. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+25)]
  301. HRESULT OutConnectionTimeout ( [out, retval] long * lOutConnectionTimeout );
  302. [propput, id(DISPID_IADs_UPPER_BOUND+25)]
  303. HRESULT OutConnectionTimeout ( [in] long lOutConnectionTimeout );
  304. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+26)]
  305. HRESULT MaxMessageSize ( [out, retval] long * lMaxMessageSize );
  306. [propput, id(DISPID_IADs_UPPER_BOUND+26)]
  307. HRESULT MaxMessageSize ( [in] long lMaxMessageSize );
  308. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+27)]
  309. HRESULT MaxSessionSize ( [out, retval] long * lMaxSessionSize );
  310. [propput, id(DISPID_IADs_UPPER_BOUND+27)]
  311. HRESULT MaxSessionSize ( [in] long lMaxSessionSize );
  312. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+28)]
  313. HRESULT MaxMessageRecipients ( [out, retval] long * lMaxMessageRecipients );
  314. [propput, id(DISPID_IADs_UPPER_BOUND+28)]
  315. HRESULT MaxMessageRecipients ( [in] long lMaxMessageRecipients );
  316. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+29)]
  317. HRESULT LocalRetries ( [out, retval] long * lLocalRetries );
  318. [propput, id(DISPID_IADs_UPPER_BOUND+29)]
  319. HRESULT LocalRetries ( [in] long lLocalRetries );
  320. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+30)]
  321. HRESULT LocalRetryTime ( [out, retval] long * lLocalRetryTime );
  322. [propput, id(DISPID_IADs_UPPER_BOUND+30)]
  323. HRESULT LocalRetryTime ( [in] long lLocalRetryTime );
  324. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+31)]
  325. HRESULT RemoteRetries ( [out, retval] long * lLocalRetries );
  326. [propput, id(DISPID_IADs_UPPER_BOUND+31)]
  327. HRESULT RemoteRetries ( [in] long lLocalRetries );
  328. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+32)]
  329. HRESULT RemoteRetryTime ( [out, retval] long * lRemoteRetryTime );
  330. [propput, id(DISPID_IADs_UPPER_BOUND+32)]
  331. HRESULT RemoteRetryTime ( [in] long lRemoteRetryTime );
  332. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+33)]
  333. HRESULT ETRNDays ( [out, retval] long * lETRNDays );
  334. [propput, id(DISPID_IADs_UPPER_BOUND+33)]
  335. HRESULT ETRNDays ( [in] long lETRNDays );
  336. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+34)]
  337. HRESULT SendDNRToPostmaster ( [out, retval] BOOL * pfSendDNRToPostmaster );
  338. [propput, id(DISPID_IADs_UPPER_BOUND+34)]
  339. HRESULT SendDNRToPostmaster ( [in] BOOL fSendDNRToPostmaster );
  340. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+35)]
  341. HRESULT SendBadmailToPostmaster ( [out, retval] BOOL * pfSendBadmailToPostmaster );
  342. [propput, id(DISPID_IADs_UPPER_BOUND+35)]
  343. HRESULT SendBadmailToPostmaster ( [in] BOOL fSendBadmailToPostmaster );
  344. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+36)]
  345. HRESULT RoutingDLL ( [out, retval] BSTR * pstrRoutingDLL );
  346. [propput, id(DISPID_IADs_UPPER_BOUND+36)]
  347. HRESULT RoutingDLL ( [in] BSTR strRoutingDLL );
  348. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+37)]
  349. HRESULT RoutingSources ( [out, retval] SAFEARRAY (BSTR) * psastrRoutingSources );
  350. [propput, id(DISPID_IADs_UPPER_BOUND+37)]
  351. HRESULT RoutingSources ( [in] SAFEARRAY (BSTR) sastrRoutingSources );
  352. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+38)]
  353. HRESULT RoutingSourcesVariant ( [out, retval] SAFEARRAY (Variant) * psastrRoutingSources );
  354. [propput, id(DISPID_IADs_UPPER_BOUND+38)]
  355. HRESULT RoutingSourcesVariant ( [in] SAFEARRAY (Variant) sastrRoutingSources );
  356. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+39)]
  357. HRESULT LocalDomains ( [out, retval] SAFEARRAY (BSTR) * psastrLocalDomains);
  358. [propput, id(DISPID_IADs_UPPER_BOUND+39)]
  359. HRESULT LocalDomains ( [in] SAFEARRAY (BSTR) sastrLocalDomains );
  360. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+40)]
  361. HRESULT DomainRouting ( [out, retval] SAFEARRAY (BSTR) * psastrDomainRouting );
  362. [propput, id(DISPID_IADs_UPPER_BOUND+40)]
  363. HRESULT DomainRouting ( [in] SAFEARRAY (BSTR) sastrDomainRouting );
  364. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+41)]
  365. HRESULT DomainRoutingVariant ( [out, retval] SAFEARRAY (Variant) * psastrDomainRouting );
  366. [propput, id(DISPID_IADs_UPPER_BOUND+41)]
  367. HRESULT DomainRoutingVariant ( [in] SAFEARRAY (Variant) sastrDomainRouting );
  368. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+42)]
  369. HRESULT MasqueradeDomain ( [out, retval] BSTR * pstrMasqueradeDomain );
  370. [propput, id(DISPID_IADs_UPPER_BOUND+42)]
  371. HRESULT MasqueradeDomain ( [in] BSTR strMasqueradeDomain );
  372. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+43)]
  373. HRESULT SendNdrTo ( [out, retval] BSTR * pstrAddr );
  374. [propput, id(DISPID_IADs_UPPER_BOUND+43)]
  375. HRESULT SendNdrTo ( [in] BSTR strAddr );
  376. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+44)]
  377. HRESULT SendBadTo ( [out, retval] BSTR * pstrAddr );
  378. [propput, id(DISPID_IADs_UPPER_BOUND+44)]
  379. HRESULT SendBadTo ( [in] BSTR strAddr );
  380. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+45)]
  381. HRESULT RemoteSecurePort ( [out, retval] long * plRemoteSecurePort );
  382. [propput, id(DISPID_IADs_UPPER_BOUND+45)]
  383. HRESULT RemoteSecurePort ( [in] long plRemoteSecurePort );
  384. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+46)]
  385. HRESULT AlwaysUseSsl ( [out, retval] BOOL * pfAlwaysUseSsl );
  386. [propput, id(DISPID_IADs_UPPER_BOUND+46)]
  387. HRESULT AlwaysUseSsl ( [in] BOOL fAlwaysUseSsl );
  388. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+47)]
  389. HRESULT LimitRemoteConnections ( [out, retval] BOOL * pfLimitRemoteConnections );
  390. [propput, id(DISPID_IADs_UPPER_BOUND+47)]
  391. HRESULT LimitRemoteConnections ( [in] BOOL fLimitRemoteConnections );
  392. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+48)]
  393. HRESULT MaxOutConnPerDomain ( [out, retval] long * plMaxOutConnPerDomain );
  394. [propput, id(DISPID_IADs_UPPER_BOUND+48)]
  395. HRESULT MaxOutConnPerDomain ( [in] long lMaxOutConnPerDomain );
  396. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+49)]
  397. HRESULT AllowVerify ( [out, retval] BOOL * pfAllowVerify );
  398. [propput, id(DISPID_IADs_UPPER_BOUND+49)]
  399. HRESULT AllowVerify ( [in] BOOL fAllowVerify );
  400. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+50)]
  401. HRESULT AllowExpand ( [out, retval] BOOL * pfAllowExpand );
  402. [propput, id(DISPID_IADs_UPPER_BOUND+50)]
  403. HRESULT AllowExpand ( [in] BOOL fAllowExpand );
  404. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+51)]
  405. HRESULT BatchMessages ( [out, retval] BOOL * pfBatchMessages );
  406. [propput, id(DISPID_IADs_UPPER_BOUND+51)]
  407. HRESULT BatchMessages ( [in] BOOL fBatchMessages );
  408. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+52)]
  409. HRESULT BatchMessageLimit ( [out, retval] long * plBatchMessageLimit );
  410. [propput, id(DISPID_IADs_UPPER_BOUND+52)]
  411. HRESULT BatchMessageLimit ( [in] long lBatchMessageLimit );
  412. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+53)]
  413. HRESULT DoMasquerade ( [out, retval] BOOL * pfDoMasquerade );
  414. [propput, id(DISPID_IADs_UPPER_BOUND+53)]
  415. HRESULT DoMasquerade ( [in] BOOL fDoMasquerade );
  416. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+54)]
  417. HRESULT Administrators ( [out, retval] SAFEARRAY(BSTR) * psastrAdmins );
  418. [propput, id(DISPID_IADs_UPPER_BOUND+54)]
  419. HRESULT Administrators ( [in] SAFEARRAY(BSTR) psastrAdmins );
  420. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+55)]
  421. HRESULT AdministratorsVariant ( [out, retval] SAFEARRAY(Variant) * psastrAdmins );
  422. [propput, id(DISPID_IADs_UPPER_BOUND+55)]
  423. HRESULT AdministratorsVariant ( [in] SAFEARRAY(Variant) psastrAdmins );
  424. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+56)]
  425. HRESULT LogFileDirectory ( [out, retval] BSTR * pstrLogFileDirectory );
  426. [propput, id(DISPID_IADs_UPPER_BOUND+56)]
  427. HRESULT LogFileDirectory ( [in] BSTR strLogFileDirectory );
  428. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+57)]
  429. HRESULT LogFilePeriod ( [out, retval] long * lLogFilePeriod );
  430. [propput, id(DISPID_IADs_UPPER_BOUND+57)]
  431. HRESULT LogFilePeriod ( [in] long lLogFilePeriod );
  432. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+58)]
  433. HRESULT LogFileTruncateSize ( [out, retval] long * lLogFileTruncateSize );
  434. [propput, id(DISPID_IADs_UPPER_BOUND+58)]
  435. HRESULT LogFileTruncateSize ( [in] long lLogFileTruncateSize );
  436. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+59)]
  437. HRESULT LogMethod ( [out, retval] long * lLogMethod );
  438. [propput, id(DISPID_IADs_UPPER_BOUND+59)]
  439. HRESULT LogMethod ( [in] long lLogMethod );
  440. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+60)]
  441. HRESULT LogType ( [out, retval] long * lLogType );
  442. [propput, id(DISPID_IADs_UPPER_BOUND+60)]
  443. HRESULT LogType ( [in] long lLogType );
  444. //////////////////////////////////////////////////////////////////////
  445. // Methods:
  446. //////////////////////////////////////////////////////////////////////
  447. [helpstring("Get server properties")]
  448. HRESULT Get ( );
  449. [helpstring("Set server properties")]
  450. HRESULT Set ( [in, defaultvalue(FALSE)] BOOL fFailIfChanged );
  451. };
  452. #endif
  453. #ifndef _ADSIIEX_BUILD
  454. [
  455. object,
  456. uuid(1a04ea83-9414-11d0-906f-00aa00a1eab7),
  457. dual,
  458. helpstring("ISmtpAdminVirtualServer Interface"),
  459. pointer_default(unique)
  460. ]
  461. interface ISmtpAdminVirtualServer : IDispatch
  462. {
  463. import "oaidl.idl";
  464. //////////////////////////////////////////////////////////////////////
  465. // Properties:
  466. //////////////////////////////////////////////////////////////////////
  467. // other interfaces on virtual server
  468. [propget, helpstring("ITcpAccess "), id(DISPID_IADs_UPPER_BOUND+1)]
  469. HRESULT TcpAccess ( [out, retval] ITcpAccess ** ppTcpAccess );
  470. // Which service to configure:
  471. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+2)]
  472. HRESULT Server ( [out, retval] BSTR * pstrServer );
  473. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  474. HRESULT Server ( [in] BSTR strServer );
  475. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  476. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  477. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  478. HRESULT ServiceInstance ( [in] long lServiceInstance );
  479. [propget, helpstring("Virtual Server comment"), id(DISPID_IADs_UPPER_BOUND+4)]
  480. HRESULT Comment ( [out, retval] BSTR * pstrComment );
  481. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  482. HRESULT Comment ( [in] BSTR strComment );
  483. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+5)]
  484. HRESULT Bindings ( [out, retval] IServerBindings ** ppBindings );
  485. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+6)]
  486. HRESULT BindingsDispatch ( [out, retval] IDispatch ** ppBindings );
  487. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)]
  488. HRESULT RoutingSource( [out, retval] IRoutingSource ** ppRoutingSource );
  489. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)]
  490. HRESULT RoutingSourceDispatch ( [out, retval] IDispatch ** ppRoutingSourceDisp );
  491. [propget, id(DISPID_IADs_UPPER_BOUND+9)]
  492. HRESULT Win32ErrorCode ( [out, retval] long * plWin32ErrorCode );
  493. // Overridable server properties:
  494. [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+10)]
  495. HRESULT ServerBindings ( [out, retval] SAFEARRAY (BSTR) * psastrServerBindings );
  496. [propput, id(DISPID_IADs_UPPER_BOUND+10)]
  497. HRESULT ServerBindings ( [in] SAFEARRAY (BSTR) sastrServerBindings );
  498. [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+11)]
  499. HRESULT ServerBindingsVariant ( [out, retval] SAFEARRAY (VARIANT) * psastrServerBindings );
  500. [propput, id(DISPID_IADs_UPPER_BOUND+11)]
  501. HRESULT ServerBindingsVariant ( [in] SAFEARRAY (VARIANT) sastrServerBindings );
  502. [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+12)]
  503. HRESULT SecureBindings ( [out, retval] SAFEARRAY (BSTR) * psastrSecureBindings );
  504. [propput, id(DISPID_IADs_UPPER_BOUND+12)]
  505. HRESULT SecureBindings ( [in] SAFEARRAY (BSTR) sastrSecureBindings );
  506. [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+13)]
  507. HRESULT SecureBindingsVariant ( [out, retval] SAFEARRAY (Variant) * psastrSecureBindings );
  508. [propput, id(DISPID_IADs_UPPER_BOUND+13)]
  509. HRESULT SecureBindingsVariant ( [in] SAFEARRAY (Variant) sastrSecureBindings );
  510. [propget, helpstring("TCP/IP Port to Configure"), id(DISPID_IADs_UPPER_BOUND+14)]
  511. HRESULT Port ( [out, retval] long * lPort );
  512. [propput, id(DISPID_IADs_UPPER_BOUND+14)]
  513. HRESULT Port ( [in] long lPort );
  514. [propget, helpstring("SSL Port to Configure"), id(DISPID_IADs_UPPER_BOUND+15)]
  515. HRESULT SSLPort ( [out, retval] long * lSSLPort );
  516. [propput, id(DISPID_IADs_UPPER_BOUND+15)]
  517. HRESULT SSLPort ( [in] long lSSLPort );
  518. [propget, helpstring("Outbound Port to Configure"), id(DISPID_IADs_UPPER_BOUND+16)]
  519. HRESULT OutboundPort ( [out, retval] long * lOutboundPort );
  520. [propput, id(DISPID_IADs_UPPER_BOUND+16)]
  521. HRESULT OutboundPort ( [in] long lOutboundPort );
  522. [propget, helpstring("Hop Count to Configure"), id(DISPID_IADs_UPPER_BOUND+17)]
  523. HRESULT HopCount ( [out, retval] long * lHopCount );
  524. [propput, id(DISPID_IADs_UPPER_BOUND+17)]
  525. HRESULT HopCount ( [in] long lHopCount );
  526. [propget, helpstring("Smart host to Configure"), id(DISPID_IADs_UPPER_BOUND+18)]
  527. HRESULT SmartHost ( [out, retval] BSTR * pstrSmartHost );
  528. [propput, id(DISPID_IADs_UPPER_BOUND+18)]
  529. HRESULT SmartHost ( [in] BSTR strSmartHost );
  530. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+19)]
  531. HRESULT SmartHostType ( [out, retval] long * plSmartHostType );
  532. [propput, id(DISPID_IADs_UPPER_BOUND+19)]
  533. HRESULT SmartHostType ( [in] long lSmartHostType );
  534. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+20)]
  535. HRESULT ShouldDeliver ( [out, retval] BOOL * pfShouldDeliver );
  536. [propput, id(DISPID_IADs_UPPER_BOUND+20)]
  537. HRESULT ShouldDeliver ( [in] BOOL fShouldDeliver );
  538. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+21)]
  539. HRESULT EnableDNSLookup ( [out, retval] BOOL * pfEnableDNSLookup );
  540. [propput, id(DISPID_IADs_UPPER_BOUND+21)]
  541. HRESULT EnableDNSLookup ( [in] BOOL fEnableDNSLookup );
  542. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+22)]
  543. HRESULT PostmasterEmail ( [out, retval] BSTR * pstrPostmasterEmail );
  544. [propput, id(DISPID_IADs_UPPER_BOUND+22)]
  545. HRESULT PostmasterEmail ( [in] BSTR strPostmasterEmail );
  546. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+23)]
  547. HRESULT PostmasterName ( [out, retval] BSTR * pstrPostmasterName );
  548. [propput, id(DISPID_IADs_UPPER_BOUND+23)]
  549. HRESULT PostmasterName ( [in] BSTR strPostmasterName );
  550. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+24)]
  551. HRESULT DefaultDomain ( [out, retval] BSTR * pstrDefaultDomainName );
  552. [propput, id(DISPID_IADs_UPPER_BOUND+24)]
  553. HRESULT DefaultDomain ( [in] BSTR strDefaultDomainName );
  554. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+25)]
  555. HRESULT FQDN ( [out, retval] BSTR * pstrFQDN );
  556. [propput, id(DISPID_IADs_UPPER_BOUND+25)]
  557. HRESULT FQDN ( [in] BSTR strFQDN );
  558. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+26)]
  559. HRESULT DropDir ( [out, retval] BSTR * pstrDropDir );
  560. [propput, id(DISPID_IADs_UPPER_BOUND+26)]
  561. HRESULT DropDir ( [in] BSTR strDropDir );
  562. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+27)]
  563. HRESULT BadMailDir ( [out, retval] BSTR * pstrBadMailDir );
  564. [propput, id(DISPID_IADs_UPPER_BOUND+27)]
  565. HRESULT BadMailDir ( [in] BSTR strBadMailDir );
  566. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+28)]
  567. HRESULT PickupDir ( [out, retval] BSTR * pstrPickupDir );
  568. [propput, id(DISPID_IADs_UPPER_BOUND+28)]
  569. HRESULT PickupDir ( [in] BSTR strPickupDir );
  570. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+29)]
  571. HRESULT QueueDir ( [out, retval] BSTR * pstrQueueDir );
  572. [propput, id(DISPID_IADs_UPPER_BOUND+29)]
  573. HRESULT QueueDir ( [in] BSTR strQueueDir );
  574. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+30)]
  575. HRESULT MaxInConnection ( [out, retval] long * lMaxInConnection );
  576. [propput, id(DISPID_IADs_UPPER_BOUND+30)]
  577. HRESULT MaxInConnection ( [in] long lMaxInConnection );
  578. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+31)]
  579. HRESULT MaxOutConnection ( [out, retval] long * lMaxOutConnection );
  580. [propput, id(DISPID_IADs_UPPER_BOUND+31)]
  581. HRESULT MaxOutConnection ( [in] long lMaxOutConnection );
  582. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+32)]
  583. HRESULT InConnectionTimeout ( [out, retval] long * lInConnectionTimeout );
  584. [propput, id(DISPID_IADs_UPPER_BOUND+32)]
  585. HRESULT InConnectionTimeout ( [in] long lInConnectionTimeout );
  586. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+33)]
  587. HRESULT OutConnectionTimeout ( [out, retval] long * lOutConnectionTimeout );
  588. [propput, id(DISPID_IADs_UPPER_BOUND+33)]
  589. HRESULT OutConnectionTimeout ( [in] long lOutConnectionTimeout );
  590. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+34)]
  591. HRESULT MaxMessageSize ( [out, retval] long * lMaxMessageSize );
  592. [propput, id(DISPID_IADs_UPPER_BOUND+34)]
  593. HRESULT MaxMessageSize ( [in] long lMaxMessageSize );
  594. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+35)]
  595. HRESULT MaxSessionSize ( [out, retval] long * lMaxSessionSize );
  596. [propput, id(DISPID_IADs_UPPER_BOUND+35)]
  597. HRESULT MaxSessionSize ( [in] long lMaxSessionSize );
  598. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+36)]
  599. HRESULT MaxMessageRecipients ( [out, retval] long * lMaxMessageRecipients );
  600. [propput, id(DISPID_IADs_UPPER_BOUND+36)]
  601. HRESULT MaxMessageRecipients ( [in] long lMaxMessageRecipients );
  602. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+37)]
  603. HRESULT LocalRetries ( [out, retval] long * lLocalRetries );
  604. [propput, id(DISPID_IADs_UPPER_BOUND+37)]
  605. HRESULT LocalRetries ( [in] long lLocalRetries );
  606. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+38)]
  607. HRESULT LocalRetryTime ( [out, retval] long * lLocalRetryTime );
  608. [propput, id(DISPID_IADs_UPPER_BOUND+38)]
  609. HRESULT LocalRetryTime ( [in] long lLocalRetryTime );
  610. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+39)]
  611. HRESULT RemoteRetries ( [out, retval] long * lLocalRetries );
  612. [propput, id(DISPID_IADs_UPPER_BOUND+39)]
  613. HRESULT RemoteRetries ( [in] long lLocalRetries );
  614. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+40)]
  615. HRESULT RemoteRetryTime ( [out, retval] long * lRemoteRetryTime );
  616. [propput, id(DISPID_IADs_UPPER_BOUND+40)]
  617. HRESULT RemoteRetryTime ( [in] long lRemoteRetryTime );
  618. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+41)]
  619. HRESULT ETRNDays ( [out, retval] long * lETRNDays );
  620. [propput, id(DISPID_IADs_UPPER_BOUND+41)]
  621. HRESULT ETRNDays ( [in] long lETRNDays );
  622. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+42)]
  623. HRESULT SendDNRToPostmaster ( [out, retval] BOOL * pfSendDNRToPostmaster );
  624. [propput, id(DISPID_IADs_UPPER_BOUND+42)]
  625. HRESULT SendDNRToPostmaster ( [in] BOOL fSendDNRToPostmaster );
  626. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+43)]
  627. HRESULT SendBadmailToPostmaster ( [out, retval] BOOL * pfSendBadmailToPostmaster );
  628. [propput, id(DISPID_IADs_UPPER_BOUND+43)]
  629. HRESULT SendBadmailToPostmaster ( [in] BOOL fSendBadmailToPostmaster );
  630. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+44)]
  631. HRESULT RoutingDLL ( [out, retval] BSTR * pstrRoutingDLL );
  632. [propput, id(DISPID_IADs_UPPER_BOUND+44)]
  633. HRESULT RoutingDLL ( [in] BSTR strRoutingDLL );
  634. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+45)]
  635. HRESULT RoutingSources ( [out, retval] SAFEARRAY (BSTR) * psastrRoutingSources );
  636. [propput, id(DISPID_IADs_UPPER_BOUND+45)]
  637. HRESULT RoutingSources ( [in] SAFEARRAY (BSTR) sastrRoutingSources );
  638. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+46)]
  639. HRESULT RoutingSourcesVariant ( [out, retval] SAFEARRAY (Variant) * psastrRoutingSources );
  640. [propput, id(DISPID_IADs_UPPER_BOUND+46)]
  641. HRESULT RoutingSourcesVariant ( [in] SAFEARRAY (Variant) sastrRoutingSources );
  642. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+47)]
  643. HRESULT LocalDomains ( [out, retval] SAFEARRAY (BSTR) * psastrLocalDomains);
  644. [propput, id(DISPID_IADs_UPPER_BOUND+47)]
  645. HRESULT LocalDomains ( [in] SAFEARRAY (BSTR) sastrLocalDomains );
  646. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+48)]
  647. HRESULT DomainRouting ( [out, retval] SAFEARRAY (BSTR) * psastrDomainRouting );
  648. [propput, id(DISPID_IADs_UPPER_BOUND+48)]
  649. HRESULT DomainRouting ( [in] SAFEARRAY (BSTR) sastrDomainRouting );
  650. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+49)]
  651. HRESULT DomainRoutingVariant ( [out, retval] SAFEARRAY (Variant) * psastrDomainRouting );
  652. [propput, id(DISPID_IADs_UPPER_BOUND+49)]
  653. HRESULT DomainRoutingVariant ( [in] SAFEARRAY (Variant) sastrDomainRouting );
  654. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+50)]
  655. HRESULT MasqueradeDomain ( [out, retval] BSTR * pstrMasqueradeDomain );
  656. [propput, id(DISPID_IADs_UPPER_BOUND+50)]
  657. HRESULT MasqueradeDomain ( [in] BSTR strMasqueradeDomain );
  658. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+51)]
  659. HRESULT SendNdrTo ( [out, retval] BSTR * pstrAddr );
  660. [propput, id(DISPID_IADs_UPPER_BOUND+51)]
  661. HRESULT SendNdrTo ( [in] BSTR strAddr );
  662. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+52)]
  663. HRESULT SendBadTo ( [out, retval] BSTR * pstrAddr );
  664. [propput, id(DISPID_IADs_UPPER_BOUND+52)]
  665. HRESULT SendBadTo ( [in] BSTR strAddr );
  666. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+53)]
  667. HRESULT RemoteSecurePort ( [out, retval] long * plRemoteSecurePort );
  668. [propput, id(DISPID_IADs_UPPER_BOUND+53)]
  669. HRESULT RemoteSecurePort ( [in] long plRemoteSecurePort );
  670. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+54)]
  671. HRESULT AlwaysUseSsl ( [out, retval] BOOL * pfAlwaysUseSsl );
  672. [propput, id(DISPID_IADs_UPPER_BOUND+54)]
  673. HRESULT AlwaysUseSsl ( [in] BOOL fAlwaysUseSsl );
  674. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+55)]
  675. HRESULT LimitRemoteConnections ( [out, retval] BOOL * pfLimitRemoteConnections );
  676. [propput, id(DISPID_IADs_UPPER_BOUND+55)]
  677. HRESULT LimitRemoteConnections ( [in] BOOL fLimitRemoteConnections );
  678. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+56)]
  679. HRESULT MaxOutConnPerDomain ( [out, retval] long * plMaxOutConnPerDomain );
  680. [propput, id(DISPID_IADs_UPPER_BOUND+56)]
  681. HRESULT MaxOutConnPerDomain ( [in] long lMaxOutConnPerDomain );
  682. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+57)]
  683. HRESULT AllowVerify ( [out, retval] BOOL * pfAllowVerify );
  684. [propput, id(DISPID_IADs_UPPER_BOUND+57)]
  685. HRESULT AllowVerify ( [in] BOOL fAllowVerify );
  686. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+58)]
  687. HRESULT AllowExpand ( [out, retval] BOOL * pfAllowExpand );
  688. [propput, id(DISPID_IADs_UPPER_BOUND+58)]
  689. HRESULT AllowExpand ( [in] BOOL fAllowExpand );
  690. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+59)]
  691. HRESULT BatchMessages ( [out, retval] BOOL * pfBatchMessages );
  692. [propput, id(DISPID_IADs_UPPER_BOUND+59)]
  693. HRESULT BatchMessages ( [in] BOOL fBatchMessages );
  694. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+60)]
  695. HRESULT BatchMessageLimit ( [out, retval] long * plBatchMessageLimit );
  696. [propput, id(DISPID_IADs_UPPER_BOUND+60)]
  697. HRESULT BatchMessageLimit ( [in] long lBatchMessageLimit );
  698. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+61)]
  699. HRESULT DoMasquerade ( [out, retval] BOOL * pfDoMasquerade );
  700. [propput, id(DISPID_IADs_UPPER_BOUND+61)]
  701. HRESULT DoMasquerade ( [in] BOOL fDoMasquerade );
  702. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+62)]
  703. HRESULT Administrators ( [out, retval] SAFEARRAY(BSTR) * psastrAdmins );
  704. [propput, id(DISPID_IADs_UPPER_BOUND+62)]
  705. HRESULT Administrators ( [in] SAFEARRAY(BSTR) psastrAdmins );
  706. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+63)]
  707. HRESULT AdministratorsVariant ( [out, retval] SAFEARRAY(Variant) * psastrAdmins );
  708. [propput, id(DISPID_IADs_UPPER_BOUND+63)]
  709. HRESULT AdministratorsVariant ( [in] SAFEARRAY(Variant) psastrAdmins );
  710. [propget, helpstring("Available authentication packages"), id(DISPID_IADs_UPPER_BOUND+64)]
  711. HRESULT AuthenticationPackages([out, retval] BSTR * pstrAuthPackages);
  712. [propput, id(DISPID_IADs_UPPER_BOUND+64)]
  713. HRESULT AuthenticationPackages([in] BSTR strAuthPackages);
  714. [propget, helpstring("Clear text authentication package"), id(DISPID_IADs_UPPER_BOUND+65)]
  715. HRESULT ClearTextAuthPackage([out, retval] BSTR * pstrAuthPackages);
  716. [propput, id(DISPID_IADs_UPPER_BOUND+65)]
  717. HRESULT ClearTextAuthPackage([in] BSTR strAuthPackages);
  718. [propget, helpstring("Authentication mechanism, ie: anon, basic, ntlm"), id(DISPID_IADs_UPPER_BOUND+66)]
  719. HRESULT AuthenticationMethod([out, retval] long *plAuthMethod);
  720. [propput, id(DISPID_IADs_UPPER_BOUND+66)]
  721. HRESULT AuthenticationMethod([in] long lAuthMethod);
  722. [propget, helpstring("Default logon domain for clear text (basic) authentication"), id(DISPID_IADs_UPPER_BOUND+67)]
  723. HRESULT DefaultLogonDomain([out, retval] BSTR *pstrLogonDomain);
  724. [propput, id(DISPID_IADs_UPPER_BOUND+67)]
  725. HRESULT DefaultLogonDomain([in] BSTR strLogonDomain);
  726. [propget, helpstring("Authentication method used to logon to remote server"), id(DISPID_IADs_UPPER_BOUND+68)]
  727. HRESULT RouteAction ( [out, retval] long * plRouteAction );
  728. [propput, id(DISPID_IADs_UPPER_BOUND+68)]
  729. HRESULT RouteAction ( [in] long lRouteAction );
  730. [propget, helpstring("User name used to logon to remote server"), id(DISPID_IADs_UPPER_BOUND+69)]
  731. HRESULT RouteUserName([out, retval] BSTR *pstrRouteUserName);
  732. [propput, id(DISPID_IADs_UPPER_BOUND+69)]
  733. HRESULT RouteUserName([in] BSTR strRouteUserName);
  734. [propget, helpstring("Password used to logon to remote server"), id(DISPID_IADs_UPPER_BOUND+70)]
  735. HRESULT RoutePassword([out, retval] BSTR *pstrRoutePassword);
  736. [propput, id(DISPID_IADs_UPPER_BOUND+70)]
  737. HRESULT RoutePassword([in] BSTR strRoutePassword);
  738. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+71)]
  739. HRESULT LogFileDirectory ( [out, retval] BSTR * pstrLogFileDirectory );
  740. [propput, id(DISPID_IADs_UPPER_BOUND+71)]
  741. HRESULT LogFileDirectory ( [in] BSTR strLogFileDirectory );
  742. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+72)]
  743. HRESULT LogFilePeriod ( [out, retval] long * lLogFilePeriod );
  744. [propput, id(DISPID_IADs_UPPER_BOUND+72)]
  745. HRESULT LogFilePeriod ( [in] long lLogFilePeriod );
  746. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+73)]
  747. HRESULT LogFileTruncateSize ( [out, retval] long * lLogFileTruncateSize );
  748. [propput, id(DISPID_IADs_UPPER_BOUND+73)]
  749. HRESULT LogFileTruncateSize ( [in] long lLogFileTruncateSize );
  750. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+74)]
  751. HRESULT LogMethod ( [out, retval] long * lLogMethod );
  752. [propput, id(DISPID_IADs_UPPER_BOUND+74)]
  753. HRESULT LogMethod ( [in] long lLogMethod );
  754. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+75)]
  755. HRESULT LogType ( [out, retval] long * lLogType );
  756. [propput, id(DISPID_IADs_UPPER_BOUND+75)]
  757. HRESULT LogType ( [in] long lLogType );
  758. // Service-specific properties:
  759. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+76)]
  760. HRESULT AutoStart ( [out, retval] BOOL * pfAutoStart );
  761. [propput, id(DISPID_IADs_UPPER_BOUND+76)]
  762. HRESULT AutoStart ( [in] BOOL fAutoStart );
  763. //
  764. // Service Status Properties:
  765. //
  766. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+77)]
  767. HRESULT ServerState ( [out, retval] DWORD * pdwServerState );
  768. //////////////////////////////////////////////////////////////////////
  769. // Methods:
  770. //////////////////////////////////////////////////////////////////////
  771. [helpstring("Get service properties")]
  772. HRESULT Get ( );
  773. [helpstring("Set service properties")]
  774. HRESULT Set ( [in, defaultvalue(FALSE)] BOOL fFailIfChanged );
  775. [helpstring("Back up flat file version routing table")]
  776. HRESULT BackupRoutingTable( [in] BSTR strPath );
  777. [helpstring("")]
  778. HRESULT Start ( );
  779. [helpstring("")]
  780. HRESULT Pause ( );
  781. [helpstring("")]
  782. HRESULT Continue ( );
  783. [helpstring("")]
  784. HRESULT Stop ( );
  785. };
  786. #endif
  787. [
  788. object,
  789. uuid(1a04ea84-9414-11d0-906f-00aa00a1eab7),
  790. dual,
  791. helpstring("ISmtpAdminSessions Interface"),
  792. pointer_default(unique)
  793. ]
  794. interface ISmtpAdminSessions : IADs
  795. {
  796. import "oaidl.idl";
  797. //////////////////////////////////////////////////////////////////////
  798. // Properties:
  799. //////////////////////////////////////////////////////////////////////
  800. // Which service to configure:
  801. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  802. HRESULT Server ( [out, retval] BSTR * pstrServer );
  803. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  804. HRESULT Server ( [in] BSTR strServer );
  805. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)]
  806. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  807. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  808. HRESULT ServiceInstance ( [in] long lServiceInstance );
  809. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  810. HRESULT IADsPointer ( [out, retval] IADs** ppADs );
  811. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  812. HRESULT IADsPointer ( [in] IADs* pADs );
  813. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)]
  814. HRESULT KeyType ( [out, retval] BSTR * pstrKeyType );
  815. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  816. HRESULT KeyType ( [in] BSTR strKeyType );
  817. // Enumeration Properties:
  818. [propget, helpstring("Number of current sessions"), id(DISPID_IADs_UPPER_BOUND+5)]
  819. HRESULT Count ( [out, retval] long * plCount );
  820. // The Session Cursor Properties:
  821. [propget, helpstring("User id"), id(DISPID_IADs_UPPER_BOUND+6)]
  822. HRESULT UserId ( [out, retval] long * plId );
  823. [propput, helpstring("User id"), id(DISPID_IADs_UPPER_BOUND+6)]
  824. HRESULT UserId ( [in] long plId );
  825. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)]
  826. HRESULT UserName ( [out, retval] BSTR * pstrUsername );
  827. [propget, helpstring("User's Host Value"), id(DISPID_IADs_UPPER_BOUND+8)]
  828. HRESULT Host ( [out, retval] BSTR * pstrHost );
  829. [propget, helpstring("How long it has connected"), id(DISPID_IADs_UPPER_BOUND+9)]
  830. HRESULT ConnectTime ( [out, retval] long * plConnectTime );
  831. //////////////////////////////////////////////////////////////////////
  832. // Methods:
  833. //////////////////////////////////////////////////////////////////////
  834. [helpstring("Retrieves a list of current sessions"), id(DISPID_IADs_UPPER_BOUND+10)]
  835. HRESULT Enumerate ( );
  836. [helpstring("Sets the cursor at the given session. Call Enumerate before calling GetNth"), id(DISPID_IADs_UPPER_BOUND+11)]
  837. HRESULT GetNth ( [in] long lIndex );
  838. [helpstring("Terminates the given session. Set Username and/or IpAddress before calling."), id(DISPID_IADs_UPPER_BOUND+12)]
  839. HRESULT Terminate ( );
  840. [helpstring("Terminates all sessions"), id(DISPID_IADs_UPPER_BOUND+13)]
  841. HRESULT TerminateAll ( );
  842. };
  843. #ifndef _ADSIIEX_BUILD
  844. [
  845. object,
  846. uuid(1a04ea92-9414-11d0-906f-00aa00a1eab7),
  847. dual,
  848. helpstring("ISmtpAdminVirtualDirectory Interface"),
  849. pointer_default(unique)
  850. ]
  851. interface ISmtpAdminVirtualDirectory : IDispatch
  852. {
  853. import "oaidl.idl";
  854. //////////////////////////////////////////////////////////////////////
  855. // Properties:
  856. //////////////////////////////////////////////////////////////////////
  857. // Which service to configure:
  858. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  859. HRESULT Server ( [out, retval] BSTR * pstrServer );
  860. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  861. HRESULT Server ( [in] BSTR strServer );
  862. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)]
  863. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  864. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  865. HRESULT ServiceInstance ( [in] long lServiceInstance );
  866. // Enumeration properties:
  867. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  868. HRESULT Count ( [out, retval] long * plCount );
  869. // The current virtual directory's properties:
  870. [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+4)]
  871. HRESULT VirtualName ( [out, retval] BSTR * pstrName );
  872. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  873. HRESULT VirtualName ( [in] BSTR strName );
  874. [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+5)]
  875. HRESULT Directory ( [out, retval] BSTR * pstrPath );
  876. [propput, id(DISPID_IADs_UPPER_BOUND+5)]
  877. HRESULT Directory ( [in] BSTR strPath );
  878. [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+6)]
  879. HRESULT User ( [out, retval] BSTR * pstrUserName );
  880. [propput, id(DISPID_IADs_UPPER_BOUND+6)]
  881. HRESULT User ( [in] BSTR strUserName );
  882. [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+7)]
  883. HRESULT Password ( [out, retval] BSTR * pstrPassword );
  884. [propput, id(DISPID_IADs_UPPER_BOUND+7)]
  885. HRESULT Password ( [in] BSTR strPassword );
  886. [propget, helpstring("Log Access"), id(DISPID_IADs_UPPER_BOUND+8)]
  887. HRESULT LogAccess ( [out, retval] BOOL* pfLogAccess );
  888. [propput, id(DISPID_IADs_UPPER_BOUND+8)]
  889. HRESULT LogAccess ( [in] BOOL fLogAccess );
  890. [propget, helpstring("Access Permissions"), id(DISPID_IADs_UPPER_BOUND+9)]
  891. HRESULT AccessPermission ( [out, retval] long* plAccessPermission );
  892. [propput, id(DISPID_IADs_UPPER_BOUND+9)]
  893. HRESULT AccessPermission ( [in] long lAccessPermission );
  894. [propget, helpstring("Access Permissions"), id(DISPID_IADs_UPPER_BOUND+10)]
  895. HRESULT SslAccessPermission ( [out, retval] long* plSslAccessPermission );
  896. [propput, id(DISPID_IADs_UPPER_BOUND+10)]
  897. HRESULT SslAccessPermission ( [in] long lSslAccessPermission );
  898. //////////////////////////////////////////////////////////////////////
  899. // Methods:
  900. //////////////////////////////////////////////////////////////////////
  901. [helpstring("")]
  902. HRESULT GetHomeDirectory ( );
  903. [helpstring("")]
  904. HRESULT SetHomeDirectory ( );
  905. // create new entry
  906. [helpstring("")]
  907. HRESULT Create ( );
  908. // delete current entry
  909. [helpstring("")]
  910. HRESULT Delete ( );
  911. // get property
  912. [helpstring("Get user properties")]
  913. HRESULT Get ( );
  914. // set property
  915. [helpstring("")]
  916. HRESULT Set ( );
  917. // enumeration
  918. [helpstring("")]
  919. HRESULT Enumerate ( );
  920. [helpstring("")]
  921. HRESULT GetNth ([in] long lIndex );
  922. };
  923. #endif
  924. [
  925. object,
  926. uuid(1a04ea85-9414-11d0-906f-00aa00a1eab7),
  927. dual,
  928. helpstring("ISmtpAdminAlias Interface"),
  929. pointer_default(unique)
  930. ]
  931. interface ISmtpAdminAlias : IADs
  932. {
  933. import "oaidl.idl";
  934. //////////////////////////////////////////////////////////////////////
  935. // Properties:
  936. //////////////////////////////////////////////////////////////////////
  937. // Which service to configure:
  938. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  939. HRESULT Server ( [out, retval] BSTR * pstrServer );
  940. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  941. HRESULT Server ( [in] BSTR strServer );
  942. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)]
  943. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  944. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  945. HRESULT ServiceInstance ( [in] long lServiceInstance );
  946. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  947. HRESULT IADsPointer ( [out, retval] IADs** ppADs );
  948. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  949. HRESULT IADsPointer ( [in] IADs* pADs );
  950. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)]
  951. HRESULT KeyType ( [out, retval] BSTR * pstrKeyType );
  952. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  953. HRESULT KeyType ( [in] BSTR strKeyType );
  954. // Enumeration properties:
  955. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+5)]
  956. HRESULT Count ( [out, retval] long * plCount );
  957. // The current alias's properties:
  958. [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+6)]
  959. HRESULT EmailId ( [out, retval] BSTR * pstrEmailId );
  960. [propput, id(DISPID_IADs_UPPER_BOUND+6)]
  961. HRESULT EmailId ( [in] BSTR strEmailId );
  962. [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+7)]
  963. HRESULT Domain ( [out, retval] BSTR * pstrDomain );
  964. [propput, id(DISPID_IADs_UPPER_BOUND+7)]
  965. HRESULT Domain ( [in] BSTR strDomain );
  966. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)]
  967. HRESULT Type ( [out, retval] long * lType );
  968. [propput, id(DISPID_IADs_UPPER_BOUND+8)]
  969. HRESULT Type ( [in] long lType );
  970. //////////////////////////////////////////////////////////////////////
  971. // Methods:
  972. //////////////////////////////////////////////////////////////////////
  973. [helpstring("")]
  974. HRESULT Find ( [in] BSTR wszWildmat, [in] long cMaxResult );
  975. [helpstring("")]
  976. HRESULT GetNth ( [in] long lIndex );
  977. };
  978. [
  979. object,
  980. uuid(1a04ea86-9414-11d0-906f-00aa00a1eab7),
  981. dual,
  982. helpstring("ISmtpAdminUser Interface"),
  983. pointer_default(unique)
  984. ]
  985. interface ISmtpAdminUser : IADs
  986. {
  987. import "oaidl.idl";
  988. //////////////////////////////////////////////////////////////////////
  989. // Properties:
  990. //////////////////////////////////////////////////////////////////////
  991. // Which service to configure:
  992. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  993. HRESULT Server ( [out, retval] BSTR * pstrServer );
  994. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  995. HRESULT Server ( [in] BSTR strServer );
  996. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)]
  997. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  998. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  999. HRESULT ServiceInstance ( [in] long lServiceInstance );
  1000. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  1001. HRESULT IADsPointer ( [out, retval] IADs** ppADs );
  1002. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  1003. HRESULT IADsPointer ( [in] IADs* pADs );
  1004. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)]
  1005. HRESULT KeyType ( [out, retval] BSTR * pstrKeyType );
  1006. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  1007. HRESULT KeyType ( [in] BSTR strKeyType );
  1008. // user's properties:
  1009. [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+5)]
  1010. HRESULT EmailId ( [out, retval] BSTR * pstrEmailId );
  1011. [propput, id(DISPID_IADs_UPPER_BOUND+5)]
  1012. HRESULT EmailId ( [in] BSTR strEmailId );
  1013. [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+6)]
  1014. HRESULT Domain ( [out, retval] BSTR * pstrDomain );
  1015. [propput, id(DISPID_IADs_UPPER_BOUND+6)]
  1016. HRESULT Domain ( [in] BSTR strDomain );
  1017. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)]
  1018. HRESULT MailRoot ( [out, retval] BSTR * pstrMailRoot );
  1019. [propput, id(DISPID_IADs_UPPER_BOUND+7)]
  1020. HRESULT MailRoot ( [in] BSTR strMailRoot );
  1021. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)]
  1022. HRESULT InboxSizeInMemory ( [out, retval] long * lInboxSizeInMemory );
  1023. [propput, id(DISPID_IADs_UPPER_BOUND+8)]
  1024. HRESULT InboxSizeInMemory ( [in] long lInboxSizeInMemory );
  1025. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+9)]
  1026. HRESULT InboxSizeInMsgNumber ( [out, retval] long * lInboxSizeInMsgNumber );
  1027. [propput, id(DISPID_IADs_UPPER_BOUND+9)]
  1028. HRESULT InboxSizeInMsgNumber ( [in] long lInboxSizeInMsgNumber );
  1029. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+10)]
  1030. HRESULT AutoForward ( [out, retval] BOOL * pfAutoForward );
  1031. [propput, id(DISPID_IADs_UPPER_BOUND+10)]
  1032. HRESULT AutoForward ( [in] BOOL fAutoForward );
  1033. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)]
  1034. HRESULT ForwardEmail ( [out, retval] BSTR * pstrForwardEmail );
  1035. [propput, id(DISPID_IADs_UPPER_BOUND+11)]
  1036. HRESULT ForwardEmail ( [in] BSTR strForwardEmail );
  1037. //////////////////////////////////////////////////////////////////////
  1038. // Methods:
  1039. //////////////////////////////////////////////////////////////////////
  1040. [helpstring("Set properties to their default values")]
  1041. HRESULT Default ( );
  1042. [helpstring("")]
  1043. HRESULT Create ( );
  1044. [helpstring("")]
  1045. HRESULT Delete ( );
  1046. [helpstring("Get user properties")]
  1047. HRESULT Get ( );
  1048. [helpstring("")]
  1049. HRESULT Set ( );
  1050. }
  1051. [
  1052. object,
  1053. uuid(1a04ea87-9414-11d0-906f-00aa00a1eab7),
  1054. dual,
  1055. helpstring("ISmtpAdminDL Interface"),
  1056. pointer_default(unique)
  1057. ]
  1058. interface ISmtpAdminDL : IADs
  1059. {
  1060. import "oaidl.idl";
  1061. //////////////////////////////////////////////////////////////////////
  1062. // Properties:
  1063. //////////////////////////////////////////////////////////////////////
  1064. // Which service to configure:
  1065. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  1066. HRESULT Server ( [out, retval] BSTR * pstrServer );
  1067. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  1068. HRESULT Server ( [in] BSTR strServer );
  1069. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)]
  1070. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  1071. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  1072. HRESULT ServiceInstance ( [in] long lServiceInstance );
  1073. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  1074. HRESULT IADsPointer ( [out, retval] IADs** ppADs );
  1075. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  1076. HRESULT IADsPointer ( [in] IADs* pADs );
  1077. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)]
  1078. HRESULT KeyType ( [out, retval] BSTR * pstrKeyType );
  1079. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  1080. HRESULT KeyType ( [in] BSTR strKeyType );
  1081. // The current DL properties:
  1082. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+5)]
  1083. HRESULT DLName ( [out, retval] BSTR * pstrDLName );
  1084. [propput, id(DISPID_IADs_UPPER_BOUND+5)]
  1085. HRESULT DLName ( [in] BSTR strDLName );
  1086. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+6)]
  1087. HRESULT Domain ( [out, retval] BSTR * pstrDomain );
  1088. [propput, id(DISPID_IADs_UPPER_BOUND+6)]
  1089. HRESULT Domain ( [in] BSTR strDomain );
  1090. [propget, helpstring("TCP/IP Port to Configure"), id(DISPID_IADs_UPPER_BOUND+7)]
  1091. HRESULT Type ( [out, retval] long * lType );
  1092. [propput, id(DISPID_IADs_UPPER_BOUND+7)]
  1093. HRESULT Type ( [in] long lType );
  1094. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)]
  1095. HRESULT MemberName ( [out, retval] BSTR * pstrMemberName );
  1096. [propput, id(DISPID_IADs_UPPER_BOUND+8)]
  1097. HRESULT MemberName ( [in] BSTR strMemberName );
  1098. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+9)]
  1099. HRESULT MemberDomain ( [out, retval] BSTR * pstrMemberDomain );
  1100. [propput, id(DISPID_IADs_UPPER_BOUND+9)]
  1101. HRESULT MemberDomain ( [in] BSTR strMemberDomain );
  1102. [propget, id(DISPID_IADs_UPPER_BOUND+10)]
  1103. HRESULT MemberType ( [out, retval] long * plMemberType );
  1104. // enumeration
  1105. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)]
  1106. HRESULT Count ( [out, retval] long * plCount );
  1107. //////////////////////////////////////////////////////////////////////
  1108. // Methods:
  1109. //////////////////////////////////////////////////////////////////////
  1110. [helpstring("")]
  1111. HRESULT Create ( );
  1112. [helpstring("")]
  1113. HRESULT Delete ( );
  1114. [helpstring("Get user properties")]
  1115. HRESULT AddMember ( );
  1116. [helpstring("")]
  1117. HRESULT RemoveMember ( );
  1118. [helpstring("")]
  1119. HRESULT FindMembers ([in] BSTR wszWildmat, [in] long cMaxResults );
  1120. [helpstring("")]
  1121. HRESULT GetNthMember ([in] long lIndex );
  1122. };
  1123. [
  1124. object,
  1125. uuid(1a04ea88-9414-11d0-906f-00aa00a1eab7),
  1126. dual,
  1127. helpstring("ISmtpAdminDomain Interface"),
  1128. pointer_default(unique)
  1129. ]
  1130. interface ISmtpAdminDomain : IADs
  1131. {
  1132. import "oaidl.idl";
  1133. //////////////////////////////////////////////////////////////////////
  1134. // Properties:
  1135. //////////////////////////////////////////////////////////////////////
  1136. // Which service to configure:
  1137. [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)]
  1138. HRESULT Server ( [out, retval] BSTR * pstrServer );
  1139. [propput, id(DISPID_IADs_UPPER_BOUND+1)]
  1140. HRESULT Server ( [in] BSTR strServer );
  1141. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)]
  1142. HRESULT ServiceInstance ( [out, retval] long * plServiceInstance );
  1143. [propput, id(DISPID_IADs_UPPER_BOUND+2)]
  1144. HRESULT ServiceInstance ( [in] long lServiceInstance );
  1145. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)]
  1146. HRESULT IADsPointer ( [out, retval] IADs** ppADs );
  1147. [propput, id(DISPID_IADs_UPPER_BOUND+3)]
  1148. HRESULT IADsPointer ( [in] IADs* pADs );
  1149. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)]
  1150. HRESULT KeyType ( [out, retval] BSTR * pstrKeyType );
  1151. [propput, id(DISPID_IADs_UPPER_BOUND+4)]
  1152. HRESULT KeyType ( [in] BSTR strKeyType );
  1153. // Enumeration Properties:
  1154. [propget, helpstring("Number of current sessions"), id(DISPID_IADs_UPPER_BOUND+5)]
  1155. HRESULT Count ( [out, retval] long * plCount );
  1156. // The domain properties:
  1157. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+6)]
  1158. HRESULT DomainName ( [out, retval] BSTR * pstrDomainName );
  1159. [propput, id(DISPID_IADs_UPPER_BOUND+6)]
  1160. HRESULT DomainName ( [in] BSTR strDomainName );
  1161. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)]
  1162. HRESULT ActionType ( [out, retval] long * plType );
  1163. [propput, id(DISPID_IADs_UPPER_BOUND+7)]
  1164. HRESULT ActionType ( [in] long lType );
  1165. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)]
  1166. HRESULT IsDefault ( [out, retval] BOOL * pfIsDefault );
  1167. [propput, id(DISPID_IADs_UPPER_BOUND+8)]
  1168. HRESULT IsDefault ( [in] BOOL fIsDefault );
  1169. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+9)]
  1170. HRESULT IsLocal ( [out, retval] BOOL * pfIsLocal );
  1171. [propput, id(DISPID_IADs_UPPER_BOUND+9)]
  1172. HRESULT IsLocal ( [in] BOOL fIsLocal );
  1173. // if local domain
  1174. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+10)]
  1175. HRESULT LDAPServer ( [out, retval] BSTR * pstrLDAPServer );
  1176. [propput, id(DISPID_IADs_UPPER_BOUND+10)]
  1177. HRESULT LDAPServer ( [in] BSTR strLDAPServer );
  1178. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)]
  1179. HRESULT DropDir ( [out, retval] BSTR * pstrDropDir );
  1180. [propput, id(DISPID_IADs_UPPER_BOUND+11)]
  1181. HRESULT DropDir ( [in] BSTR strDropDir );
  1182. // this LDAP info is now global to virtual server, not per domain
  1183. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+12)]
  1184. HRESULT Account ( [out, retval] BSTR * pstrAccount );
  1185. [propput, id(DISPID_IADs_UPPER_BOUND+12)]
  1186. HRESULT Account ( [in] BSTR strAccount );
  1187. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+13)]
  1188. HRESULT Password ( [out, retval] BSTR * pstrPassword );
  1189. [propput, id(DISPID_IADs_UPPER_BOUND+13)]
  1190. HRESULT Password ( [in] BSTR strPassword );
  1191. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+14)]
  1192. HRESULT LDAPContainer ( [out, retval] BSTR * pstrLDAPContainer );
  1193. [propput, id(DISPID_IADs_UPPER_BOUND+14)]
  1194. HRESULT LDAPContainer ( [in] BSTR strLDAPContainer );
  1195. // if remote
  1196. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+15)]
  1197. HRESULT UseSSL ( [out, retval] BOOL * pfUseSSL );
  1198. [propput, id(DISPID_IADs_UPPER_BOUND+15)]
  1199. HRESULT UseSSL ( [in] BOOL fUseSSL );
  1200. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+16)]
  1201. HRESULT EnableETRN ( [out, retval] BOOL * pfEnableETRN );
  1202. [propput, id(DISPID_IADs_UPPER_BOUND+16)]
  1203. HRESULT EnableETRN ( [in] BOOL fEnableETRN );
  1204. [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+17)]
  1205. HRESULT RoutingDomain ( [out, retval] BSTR * pstrRoutingDomain );
  1206. [propput, id(DISPID_IADs_UPPER_BOUND+17)]
  1207. HRESULT RoutingDomain ( [in] BSTR strRoutingDomain );
  1208. //////////////////////////////////////////////////////////////////////
  1209. // Methods:
  1210. //////////////////////////////////////////////////////////////////////
  1211. [helpstring("")]
  1212. HRESULT Default( );
  1213. [helpstring("Add a new domain")]
  1214. HRESULT Add ( );
  1215. [helpstring("")]
  1216. HRESULT Remove ( );
  1217. [helpstring("Get domain property")]
  1218. HRESULT Get ( );
  1219. [helpstring("")]
  1220. HRESULT Set ( );
  1221. [helpstring("")]
  1222. HRESULT Enumerate ( );
  1223. [helpstring("")]
  1224. HRESULT GetNth ([in] long lIndex );
  1225. [helpstring("")]
  1226. HRESULT GetDefaultDomain ( );
  1227. [helpstring("")]
  1228. HRESULT SetAsDefaultDomain ( );
  1229. };
  1230. // Class Definitions:
  1231. #ifndef _ADSIIEX_BUILD
  1232. [
  1233. uuid(1a04ea89-9414-11d0-906f-00aa00a1eab7),
  1234. helpstring("SmtpAdmin Class")
  1235. ]
  1236. coclass CSmtpAdmin
  1237. {
  1238. [default] interface ISmtpAdmin;
  1239. };
  1240. [
  1241. uuid(1a04ea8a-9414-11d0-906f-00aa00a1eab7),
  1242. helpstring("SmtpAdminService Class")
  1243. ]
  1244. coclass CSmtpAdminService
  1245. {
  1246. [default] interface ISmtpAdminService;
  1247. };
  1248. [
  1249. uuid(1a04ea8b-9414-11d0-906f-00aa00a1eab7),
  1250. helpstring("SmtpAdminVirtualServer Class")
  1251. ]
  1252. coclass CSmtpAdminVirtualServer
  1253. {
  1254. [default] interface ISmtpAdminVirtualServer;
  1255. };
  1256. [
  1257. uuid(1a04ea8d-9414-11d0-906f-00aa00a1eab7),
  1258. helpstring("SmtpAdminVirtualDirectory Class")
  1259. ]
  1260. coclass CSmtpAdminVirtualDirectory
  1261. {
  1262. [default] interface ISmtpAdminVirtualDirectory;
  1263. };
  1264. #endif
  1265. [
  1266. uuid(1a04ea8c-9414-11d0-906f-00aa00a1eab7),
  1267. helpstring("SmtpAdminSessions Class")
  1268. ]
  1269. coclass CSmtpAdminSessions
  1270. {
  1271. [default] interface ISmtpAdminSessions;
  1272. };
  1273. [
  1274. uuid(1a04ea8e-9414-11d0-906f-00aa00a1eab7),
  1275. helpstring("SmtpAdminAlias Class")
  1276. ]
  1277. coclass CSmtpAdminAlias
  1278. {
  1279. [default] interface ISmtpAdminAlias;
  1280. };
  1281. [
  1282. uuid(1a04ea8f-9414-11d0-906f-00aa00a1eab7),
  1283. helpstring("SmtpAdminUser Class")
  1284. ]
  1285. coclass CSmtpAdminUser
  1286. {
  1287. [default] interface ISmtpAdminUser;
  1288. };
  1289. [
  1290. uuid(1a04ea90-9414-11d0-906f-00aa00a1eab7),
  1291. helpstring("SmtpAdminDL Class")
  1292. ]
  1293. coclass CSmtpAdminDL
  1294. {
  1295. [default] interface ISmtpAdminDL;
  1296. };
  1297. [
  1298. uuid(1a04ea91-9414-11d0-906f-00aa00a1eab7),
  1299. helpstring("SmtpAdminDomain Class")
  1300. ]
  1301. coclass CSmtpAdminDomain
  1302. {
  1303. [default] interface ISmtpAdminDomain;
  1304. };
  1305. };
  1306. cpp_quote("#endif // _SMTPADM_IDL_INCLUDED_")