Source code of Windows XP (NT5)
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.

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