// smtpadm.idl : IDL source for smtpadm.dll // // This file will be processed by the MIDL tool to // produce the type library (smtpadm.tlb) and marshalling code. midl_pragma warning(disable:2362) // too many methods in the interface cpp_quote("") cpp_quote("/*++") cpp_quote("") cpp_quote("Copyright (c) 1997 Microsoft Corporation") cpp_quote("") cpp_quote("Module Name: smtpadm.h") cpp_quote("") cpp_quote(" Smtp Admin Object Interfaces") cpp_quote("") cpp_quote("--*/") cpp_quote("") cpp_quote("#ifndef _SMTPADM_IDL_INCLUDED_") cpp_quote("#define _SMTPADM_IDL_INCLUDED_") // // Define GUIDS: // cpp_quote("") cpp_quote("/* LIBIDs: */") cpp_quote("") cpp_quote("DEFINE_GUID(LIBID_SMTPADMLib, 0x1a04ea80,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("") cpp_quote("/* IIDs: */") cpp_quote("") #ifndef _ADSIIEX_BUILD cpp_quote("DEFINE_GUID(IID_ISmtpAdmin, 0x1a04ea81,0x9414,0x11d0, 0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminService, 0x1a04ea82,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminVirtualServer, 0x1a04ea83,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_IWebAdminHelper, 0xf6052b92,0x2bb6,0x11d1,0xbf,0xfa,0x00,0xc0,0x4f,0xc3,0x07,0xbd);") #endif cpp_quote("DEFINE_GUID(IID_ISmtpAdminSessions, 0x1a04ea84,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminVirtualDirectory, 0x1a04ea92,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminAlias, 0x1a04ea85,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminUser, 0x1a04ea86,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminDL, 0x1a04ea87,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(IID_ISmtpAdminDomain, 0x1a04ea88,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("") cpp_quote("/* CLSID: */") cpp_quote("") #ifndef _ADSIIEX_BUILD cpp_quote("DEFINE_GUID(CLSID_CSmtpAdmin, 0x1a04ea89,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminService, 0x1a04ea8a,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminVirtualServer, 0x1a04ea8b,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminVirtualDirectory, 0x1a04ea8d,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CWebAdminHelper, 0x7f333a96,0x2bb5,0x11d1,0xbf,0xfa,0x00,0xc0,0x4f,0xc3,0x07,0xbd);") #endif cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminSessions, 0x1a04ea8c,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminAlias, 0x1a04ea8e,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminUser, 0x1a04ea8f,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminDL, 0x1a04ea90,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("DEFINE_GUID(CLSID_CSmtpAdminDomain, 0x1a04ea91,0x9414,0x11d0,0x90,0x6f,0x00,0xaa,0x00,0xa1,0xea,0xb7);") cpp_quote("#include ") #define DISPID_IADs_UPPER_BOUND 100 [ uuid(1a04ea80-9414-11d0-906f-00aa00a1eab7), version(1.0), helpstring("smtpadm 1.0 Type Library") ] library SMTPADMLib { importlib("stdole2.tlb"); importlib("activeds.tlb"); #ifndef _ADSIIEX_BUILD #include "binding.idl" #include "ipaccess.idl" #include "rtsrc.idl" #endif // forward declaration #ifndef _ADSIIEX_BUILD interface ISmtpAdmin; interface ISmtpAdminService; interface ISmtpAdminVirtualServer; interface ISmtpAdminVirtualDirectory; interface ITcpAccess; interface ITcpAccessExceptions; interface ITcpAccessException; interface ISmtpAdminHelper; #endif interface ISmtpAdminSessions; interface ISmtpAdminAlias; interface ISmtpAdminUser; interface ISmtpAdminDL; interface ISmtpAdminDomain; ////////////////////////////////////////////////////////////////////// // // Type definitions: // ////////////////////////////////////////////////////////////////////// // Define our types: typedef enum { NAME_TYPE_USER = 0x1, NAME_TYPE_LIST_NORMAL = 0x2, NAME_TYPE_LIST_DOMAIN = 0x4, NAME_TYPE_LIST_SITE = 0x8, NAME_TYPE_ALL = 0xf } SMTP_NAME_TYPE; /* typedef enum { SMTP_NO_ACTION = 0, SMTP_DROP, SMTP_SMARTHOST, SMTP_SSL, SMTP_ALIAS, SMTP_DELIVER, SMTP_DEFAULT, LAST_SMTP_ACTION } SMTP_DOMAIN_ACTION_TYPE; */ typedef enum { SMTP_SERVER_STATE_UNKNOWN = 0, SMTP_SERVER_STATE_STARTING, SMTP_SERVER_STATE_STARTED, SMTP_SERVER_STATE_STOPPING, SMTP_SERVER_STATE_STOPPED, SMTP_SERVER_STATE_PAUSING, SMTP_SERVER_STATE_PAUSED, SMTP_SERVER_STATE_CONTINUING } SMTP_SERVER_STATE; #ifndef _ADSIIEX_BUILD [ object, uuid(1a04ea81-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdmin Interface"), pointer_default(unique) ] interface ISmtpAdmin : IDispatch { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Pointers to other ISmtpAdmin interfaces: [propget, helpstring("ISmtpAdminVirtualServer interface"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT VirtualServerAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminService"), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminSessions"), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT SessionsAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminVirtualDirectory"), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT VirtualDirectoryAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminAlias"), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT AliasAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminUser"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT UserAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminDL"), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT DLAdmin ( [out, retval] IDispatch ** ppIDispatch ); [propget, helpstring("ISmtpAdminDL"), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT DomainAdmin ( [out, retval] IDispatch ** ppIDispatch ); // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT ServiceInstance ( [in] long lServiceInstance ); // Versioning: [propget, helpstring("Versioning Information"), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT HighVersion ( [out, retval] long * plHighVersion ); [propget, helpstring("Versioning Information"), id(DISPID_IADs_UPPER_BOUND+12)] HRESULT LowVersion ( [out, retval] long * plLowVersion ); [propget, helpstring("Build Number"), id(DISPID_IADs_UPPER_BOUND+13)] HRESULT BuildNum ( [out, retval] long * plBuildNumber ); [propget, helpstring("Service version #"), id(DISPID_IADs_UPPER_BOUND+14)] HRESULT ServiceVersion ( [out, retval] long * pdwServiceVersion ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("Enumerate service instances"), id(DISPID_IADs_UPPER_BOUND+15)] HRESULT EnumerateInstances ( [out] SAFEARRAY (long) * psaInstanceIds ); [helpstring("VB script version"), id(DISPID_IADs_UPPER_BOUND+16)] HRESULT EnumerateInstancesVariant ( [out, retval] SAFEARRAY (VARIANT) * psaInstanceIds ); [helpstring("Create a new service instance"), id(DISPID_IADs_UPPER_BOUND+17)] HRESULT CreateInstance ( [in] BSTR pstrMailRoot, [out, retval] long * plInstanceId ); [helpstring("Delete a service instance"), id(DISPID_IADs_UPPER_BOUND+18)] HRESULT DestroyInstance ([in] long lInstanceId ); [helpstring("Translate an error code into a string"), id(DISPID_IADs_UPPER_BOUND+19)] HRESULT ErrorToString ( [in] DWORD lErrorCode, [out, retval] BSTR * pstrError ); [helpstring("HTML tokenize the given string"), id(DISPID_IADs_UPPER_BOUND+20)] HRESULT Tokenize ( [in] BSTR strIn, [out, retval] BSTR * pstrOut ); }; #endif #ifndef _ADSIIEX_BUILD [ object, uuid(1a04ea82-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminService Interface"), pointer_default(unique) ] interface ISmtpAdminService : IDispatch { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); // No instance for the server interface // Server Properties: [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServerBindings ( [out, retval] SAFEARRAY (BSTR) * psastrServerBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServerBindings ( [in] SAFEARRAY (BSTR) sastrServerBindings ); [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT ServerBindingsVariant ( [out, retval] SAFEARRAY (VARIANT) * psastrServerBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT ServerBindingsVariant ( [in] SAFEARRAY (VARIANT) sastrServerBindings ); [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT SecureBindings ( [out, retval] SAFEARRAY (BSTR) * psastrSecureBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT SecureBindings ( [in] SAFEARRAY (BSTR) sastrSecureBindings ); [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT SecureBindingsVariant ( [out, retval] SAFEARRAY (Variant) * psastrSecureBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+5)] HRESULT SecureBindingsVariant ( [in] SAFEARRAY (Variant) sastrSecureBindings ); [propget, helpstring("TCP/IP Port to Configure"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT Port ( [out, retval] long * lPort ); [propput, id(DISPID_IADs_UPPER_BOUND+6)] HRESULT Port ( [in] long lPort ); [propget, helpstring("SSL Port to Configure"), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT SSLPort ( [out, retval] long * lSSLPort ); [propput, id(DISPID_IADs_UPPER_BOUND+7)] HRESULT SSLPort ( [in] long lSSLPort ); [propget, helpstring("Outbound Port to Configure"), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT OutboundPort ( [out, retval] long * lOutboundPort ); [propput, id(DISPID_IADs_UPPER_BOUND+8)] HRESULT OutboundPort ( [in] long lOutboundPort ); [propget, helpstring("Smart host to Configure"), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT SmartHost ( [out, retval] BSTR * pstrSmartHost ); [propput, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT SmartHost ( [in] BSTR strSmartHost ); [propget, helpstring("Hop Count to Configure"), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT HopCount ( [out, retval] long * lHopCount ); [propput, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT HopCount ( [in] long lHopCount ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT SmartHostType ( [out, retval] long * plSmartHostType ); [propput, id(DISPID_IADs_UPPER_BOUND+11)] HRESULT SmartHostType ( [in] long lSmartHostType ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+12)] HRESULT ShouldDeliver ( [out, retval] BOOL * pfShouldDeliver ); [propput, id(DISPID_IADs_UPPER_BOUND+12)] HRESULT ShouldDeliver ( [in] BOOL fShouldDeliver ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+13)] HRESULT EnableDNSLookup ( [out, retval] BOOL * pfEnableDNSLookup ); [propput, id(DISPID_IADs_UPPER_BOUND+13)] HRESULT EnableDNSLookup ( [in] BOOL fEnableDNSLookup ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+14)] HRESULT PostmasterEmail ( [out, retval] BSTR * pstrPostmasterEmail ); [propput, id(DISPID_IADs_UPPER_BOUND+14)] HRESULT PostmasterEmail ( [in] BSTR strPostmasterEmail ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+15)] HRESULT PostmasterName ( [out, retval] BSTR * pstrPostmasterName ); [propput, id(DISPID_IADs_UPPER_BOUND+15)] HRESULT PostmasterName ( [in] BSTR strPostmasterName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+16)] HRESULT DefaultDomain ( [out, retval] BSTR * pstrDefaultDomainName ); [propput, id(DISPID_IADs_UPPER_BOUND+16)] HRESULT DefaultDomain ( [in] BSTR strDefaultDomainName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+17)] HRESULT FQDN ( [out, retval] BSTR * pstrFQDN ); [propput, id(DISPID_IADs_UPPER_BOUND+17)] HRESULT FQDN ( [in] BSTR strFQDN ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+18)] HRESULT DropDir ( [out, retval] BSTR * pstrDropDir ); [propput, id(DISPID_IADs_UPPER_BOUND+18)] HRESULT DropDir ( [in] BSTR strDropDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+19)] HRESULT BadMailDir ( [out, retval] BSTR * pstrBadMailDir ); [propput, id(DISPID_IADs_UPPER_BOUND+19)] HRESULT BadMailDir ( [in] BSTR strBadMailDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+20)] HRESULT PickupDir ( [out, retval] BSTR * pstrPickupDir ); [propput, id(DISPID_IADs_UPPER_BOUND+20)] HRESULT PickupDir ( [in] BSTR strPickupDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+21)] HRESULT QueueDir ( [out, retval] BSTR * pstrQueueDir ); [propput, id(DISPID_IADs_UPPER_BOUND+21)] HRESULT QueueDir ( [in] BSTR strQueueDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+22)] HRESULT MaxInConnection ( [out, retval] long * lMaxInConnection ); [propput, id(DISPID_IADs_UPPER_BOUND+22)] HRESULT MaxInConnection ( [in] long lMaxInConnection ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+23)] HRESULT MaxOutConnection ( [out, retval] long * lMaxOutConnection ); [propput, id(DISPID_IADs_UPPER_BOUND+23)] HRESULT MaxOutConnection ( [in] long lMaxOutConnection ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+24)] HRESULT InConnectionTimeout ( [out, retval] long * lInConnectionTimeout ); [propput, id(DISPID_IADs_UPPER_BOUND+24)] HRESULT InConnectionTimeout ( [in] long lInConnectionTimeout ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+25)] HRESULT OutConnectionTimeout ( [out, retval] long * lOutConnectionTimeout ); [propput, id(DISPID_IADs_UPPER_BOUND+25)] HRESULT OutConnectionTimeout ( [in] long lOutConnectionTimeout ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+26)] HRESULT MaxMessageSize ( [out, retval] long * lMaxMessageSize ); [propput, id(DISPID_IADs_UPPER_BOUND+26)] HRESULT MaxMessageSize ( [in] long lMaxMessageSize ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+27)] HRESULT MaxSessionSize ( [out, retval] long * lMaxSessionSize ); [propput, id(DISPID_IADs_UPPER_BOUND+27)] HRESULT MaxSessionSize ( [in] long lMaxSessionSize ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+28)] HRESULT MaxMessageRecipients ( [out, retval] long * lMaxMessageRecipients ); [propput, id(DISPID_IADs_UPPER_BOUND+28)] HRESULT MaxMessageRecipients ( [in] long lMaxMessageRecipients ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+29)] HRESULT LocalRetries ( [out, retval] long * lLocalRetries ); [propput, id(DISPID_IADs_UPPER_BOUND+29)] HRESULT LocalRetries ( [in] long lLocalRetries ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+30)] HRESULT LocalRetryTime ( [out, retval] long * lLocalRetryTime ); [propput, id(DISPID_IADs_UPPER_BOUND+30)] HRESULT LocalRetryTime ( [in] long lLocalRetryTime ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+31)] HRESULT RemoteRetries ( [out, retval] long * lLocalRetries ); [propput, id(DISPID_IADs_UPPER_BOUND+31)] HRESULT RemoteRetries ( [in] long lLocalRetries ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+32)] HRESULT RemoteRetryTime ( [out, retval] long * lRemoteRetryTime ); [propput, id(DISPID_IADs_UPPER_BOUND+32)] HRESULT RemoteRetryTime ( [in] long lRemoteRetryTime ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+33)] HRESULT ETRNDays ( [out, retval] long * lETRNDays ); [propput, id(DISPID_IADs_UPPER_BOUND+33)] HRESULT ETRNDays ( [in] long lETRNDays ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+34)] HRESULT SendDNRToPostmaster ( [out, retval] BOOL * pfSendDNRToPostmaster ); [propput, id(DISPID_IADs_UPPER_BOUND+34)] HRESULT SendDNRToPostmaster ( [in] BOOL fSendDNRToPostmaster ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+35)] HRESULT SendBadmailToPostmaster ( [out, retval] BOOL * pfSendBadmailToPostmaster ); [propput, id(DISPID_IADs_UPPER_BOUND+35)] HRESULT SendBadmailToPostmaster ( [in] BOOL fSendBadmailToPostmaster ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+36)] HRESULT RoutingDLL ( [out, retval] BSTR * pstrRoutingDLL ); [propput, id(DISPID_IADs_UPPER_BOUND+36)] HRESULT RoutingDLL ( [in] BSTR strRoutingDLL ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+37)] HRESULT RoutingSources ( [out, retval] SAFEARRAY (BSTR) * psastrRoutingSources ); [propput, id(DISPID_IADs_UPPER_BOUND+37)] HRESULT RoutingSources ( [in] SAFEARRAY (BSTR) sastrRoutingSources ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+38)] HRESULT RoutingSourcesVariant ( [out, retval] SAFEARRAY (Variant) * psastrRoutingSources ); [propput, id(DISPID_IADs_UPPER_BOUND+38)] HRESULT RoutingSourcesVariant ( [in] SAFEARRAY (Variant) sastrRoutingSources ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+39)] HRESULT LocalDomains ( [out, retval] SAFEARRAY (BSTR) * psastrLocalDomains); [propput, id(DISPID_IADs_UPPER_BOUND+39)] HRESULT LocalDomains ( [in] SAFEARRAY (BSTR) sastrLocalDomains ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+40)] HRESULT DomainRouting ( [out, retval] SAFEARRAY (BSTR) * psastrDomainRouting ); [propput, id(DISPID_IADs_UPPER_BOUND+40)] HRESULT DomainRouting ( [in] SAFEARRAY (BSTR) sastrDomainRouting ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+41)] HRESULT DomainRoutingVariant ( [out, retval] SAFEARRAY (Variant) * psastrDomainRouting ); [propput, id(DISPID_IADs_UPPER_BOUND+41)] HRESULT DomainRoutingVariant ( [in] SAFEARRAY (Variant) sastrDomainRouting ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+42)] HRESULT MasqueradeDomain ( [out, retval] BSTR * pstrMasqueradeDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+42)] HRESULT MasqueradeDomain ( [in] BSTR strMasqueradeDomain ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+43)] HRESULT SendNdrTo ( [out, retval] BSTR * pstrAddr ); [propput, id(DISPID_IADs_UPPER_BOUND+43)] HRESULT SendNdrTo ( [in] BSTR strAddr ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+44)] HRESULT SendBadTo ( [out, retval] BSTR * pstrAddr ); [propput, id(DISPID_IADs_UPPER_BOUND+44)] HRESULT SendBadTo ( [in] BSTR strAddr ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+45)] HRESULT RemoteSecurePort ( [out, retval] long * plRemoteSecurePort ); [propput, id(DISPID_IADs_UPPER_BOUND+45)] HRESULT RemoteSecurePort ( [in] long plRemoteSecurePort ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+46)] HRESULT AlwaysUseSsl ( [out, retval] BOOL * pfAlwaysUseSsl ); [propput, id(DISPID_IADs_UPPER_BOUND+46)] HRESULT AlwaysUseSsl ( [in] BOOL fAlwaysUseSsl ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+47)] HRESULT LimitRemoteConnections ( [out, retval] BOOL * pfLimitRemoteConnections ); [propput, id(DISPID_IADs_UPPER_BOUND+47)] HRESULT LimitRemoteConnections ( [in] BOOL fLimitRemoteConnections ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+48)] HRESULT MaxOutConnPerDomain ( [out, retval] long * plMaxOutConnPerDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+48)] HRESULT MaxOutConnPerDomain ( [in] long lMaxOutConnPerDomain ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+49)] HRESULT AllowVerify ( [out, retval] BOOL * pfAllowVerify ); [propput, id(DISPID_IADs_UPPER_BOUND+49)] HRESULT AllowVerify ( [in] BOOL fAllowVerify ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+50)] HRESULT AllowExpand ( [out, retval] BOOL * pfAllowExpand ); [propput, id(DISPID_IADs_UPPER_BOUND+50)] HRESULT AllowExpand ( [in] BOOL fAllowExpand ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+51)] HRESULT BatchMessages ( [out, retval] BOOL * pfBatchMessages ); [propput, id(DISPID_IADs_UPPER_BOUND+51)] HRESULT BatchMessages ( [in] BOOL fBatchMessages ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+52)] HRESULT BatchMessageLimit ( [out, retval] long * plBatchMessageLimit ); [propput, id(DISPID_IADs_UPPER_BOUND+52)] HRESULT BatchMessageLimit ( [in] long lBatchMessageLimit ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+53)] HRESULT DoMasquerade ( [out, retval] BOOL * pfDoMasquerade ); [propput, id(DISPID_IADs_UPPER_BOUND+53)] HRESULT DoMasquerade ( [in] BOOL fDoMasquerade ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+54)] HRESULT Administrators ( [out, retval] SAFEARRAY(BSTR) * psastrAdmins ); [propput, id(DISPID_IADs_UPPER_BOUND+54)] HRESULT Administrators ( [in] SAFEARRAY(BSTR) psastrAdmins ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+55)] HRESULT AdministratorsVariant ( [out, retval] SAFEARRAY(Variant) * psastrAdmins ); [propput, id(DISPID_IADs_UPPER_BOUND+55)] HRESULT AdministratorsVariant ( [in] SAFEARRAY(Variant) psastrAdmins ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+56)] HRESULT LogFileDirectory ( [out, retval] BSTR * pstrLogFileDirectory ); [propput, id(DISPID_IADs_UPPER_BOUND+56)] HRESULT LogFileDirectory ( [in] BSTR strLogFileDirectory ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+57)] HRESULT LogFilePeriod ( [out, retval] long * lLogFilePeriod ); [propput, id(DISPID_IADs_UPPER_BOUND+57)] HRESULT LogFilePeriod ( [in] long lLogFilePeriod ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+58)] HRESULT LogFileTruncateSize ( [out, retval] long * lLogFileTruncateSize ); [propput, id(DISPID_IADs_UPPER_BOUND+58)] HRESULT LogFileTruncateSize ( [in] long lLogFileTruncateSize ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+59)] HRESULT LogMethod ( [out, retval] long * lLogMethod ); [propput, id(DISPID_IADs_UPPER_BOUND+59)] HRESULT LogMethod ( [in] long lLogMethod ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+60)] HRESULT LogType ( [out, retval] long * lLogType ); [propput, id(DISPID_IADs_UPPER_BOUND+60)] HRESULT LogType ( [in] long lLogType ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("Get server properties")] HRESULT Get ( ); [helpstring("Set server properties")] HRESULT Set ( [in, defaultvalue(FALSE)] BOOL fFailIfChanged ); }; #endif #ifndef _ADSIIEX_BUILD [ object, uuid(1a04ea83-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminVirtualServer Interface"), pointer_default(unique) ] interface ISmtpAdminVirtualServer : IDispatch { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // other interfaces on virtual server [propget, helpstring("ITcpAccess "), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT TcpAccess ( [out, retval] ITcpAccess ** ppTcpAccess ); // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT ServiceInstance ( [in] long lServiceInstance ); [propget, helpstring("Virtual Server comment"), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT Comment ( [out, retval] BSTR * pstrComment ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT Comment ( [in] BSTR strComment ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT Bindings ( [out, retval] IServerBindings ** ppBindings ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT BindingsDispatch ( [out, retval] IDispatch ** ppBindings ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT RoutingSource( [out, retval] IRoutingSource ** ppRoutingSource ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT RoutingSourceDispatch ( [out, retval] IDispatch ** ppRoutingSourceDisp ); [propget, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT Win32ErrorCode ( [out, retval] long * plWin32ErrorCode ); // Overridable server properties: [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT ServerBindings ( [out, retval] SAFEARRAY (BSTR) * psastrServerBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT ServerBindings ( [in] SAFEARRAY (BSTR) sastrServerBindings ); [propget, helpstring("Server Bindgings"), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT ServerBindingsVariant ( [out, retval] SAFEARRAY (VARIANT) * psastrServerBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+11)] HRESULT ServerBindingsVariant ( [in] SAFEARRAY (VARIANT) sastrServerBindings ); [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+12)] HRESULT SecureBindings ( [out, retval] SAFEARRAY (BSTR) * psastrSecureBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+12)] HRESULT SecureBindings ( [in] SAFEARRAY (BSTR) sastrSecureBindings ); [propget, helpstring("Secure Bindgings"), id(DISPID_IADs_UPPER_BOUND+13)] HRESULT SecureBindingsVariant ( [out, retval] SAFEARRAY (Variant) * psastrSecureBindings ); [propput, id(DISPID_IADs_UPPER_BOUND+13)] HRESULT SecureBindingsVariant ( [in] SAFEARRAY (Variant) sastrSecureBindings ); [propget, helpstring("TCP/IP Port to Configure"), id(DISPID_IADs_UPPER_BOUND+14)] HRESULT Port ( [out, retval] long * lPort ); [propput, id(DISPID_IADs_UPPER_BOUND+14)] HRESULT Port ( [in] long lPort ); [propget, helpstring("SSL Port to Configure"), id(DISPID_IADs_UPPER_BOUND+15)] HRESULT SSLPort ( [out, retval] long * lSSLPort ); [propput, id(DISPID_IADs_UPPER_BOUND+15)] HRESULT SSLPort ( [in] long lSSLPort ); [propget, helpstring("Outbound Port to Configure"), id(DISPID_IADs_UPPER_BOUND+16)] HRESULT OutboundPort ( [out, retval] long * lOutboundPort ); [propput, id(DISPID_IADs_UPPER_BOUND+16)] HRESULT OutboundPort ( [in] long lOutboundPort ); [propget, helpstring("Hop Count to Configure"), id(DISPID_IADs_UPPER_BOUND+17)] HRESULT HopCount ( [out, retval] long * lHopCount ); [propput, id(DISPID_IADs_UPPER_BOUND+17)] HRESULT HopCount ( [in] long lHopCount ); [propget, helpstring("Smart host to Configure"), id(DISPID_IADs_UPPER_BOUND+18)] HRESULT SmartHost ( [out, retval] BSTR * pstrSmartHost ); [propput, id(DISPID_IADs_UPPER_BOUND+18)] HRESULT SmartHost ( [in] BSTR strSmartHost ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+19)] HRESULT SmartHostType ( [out, retval] long * plSmartHostType ); [propput, id(DISPID_IADs_UPPER_BOUND+19)] HRESULT SmartHostType ( [in] long lSmartHostType ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+20)] HRESULT ShouldDeliver ( [out, retval] BOOL * pfShouldDeliver ); [propput, id(DISPID_IADs_UPPER_BOUND+20)] HRESULT ShouldDeliver ( [in] BOOL fShouldDeliver ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+21)] HRESULT EnableDNSLookup ( [out, retval] BOOL * pfEnableDNSLookup ); [propput, id(DISPID_IADs_UPPER_BOUND+21)] HRESULT EnableDNSLookup ( [in] BOOL fEnableDNSLookup ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+22)] HRESULT PostmasterEmail ( [out, retval] BSTR * pstrPostmasterEmail ); [propput, id(DISPID_IADs_UPPER_BOUND+22)] HRESULT PostmasterEmail ( [in] BSTR strPostmasterEmail ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+23)] HRESULT PostmasterName ( [out, retval] BSTR * pstrPostmasterName ); [propput, id(DISPID_IADs_UPPER_BOUND+23)] HRESULT PostmasterName ( [in] BSTR strPostmasterName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+24)] HRESULT DefaultDomain ( [out, retval] BSTR * pstrDefaultDomainName ); [propput, id(DISPID_IADs_UPPER_BOUND+24)] HRESULT DefaultDomain ( [in] BSTR strDefaultDomainName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+25)] HRESULT FQDN ( [out, retval] BSTR * pstrFQDN ); [propput, id(DISPID_IADs_UPPER_BOUND+25)] HRESULT FQDN ( [in] BSTR strFQDN ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+26)] HRESULT DropDir ( [out, retval] BSTR * pstrDropDir ); [propput, id(DISPID_IADs_UPPER_BOUND+26)] HRESULT DropDir ( [in] BSTR strDropDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+27)] HRESULT BadMailDir ( [out, retval] BSTR * pstrBadMailDir ); [propput, id(DISPID_IADs_UPPER_BOUND+27)] HRESULT BadMailDir ( [in] BSTR strBadMailDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+28)] HRESULT PickupDir ( [out, retval] BSTR * pstrPickupDir ); [propput, id(DISPID_IADs_UPPER_BOUND+28)] HRESULT PickupDir ( [in] BSTR strPickupDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+29)] HRESULT QueueDir ( [out, retval] BSTR * pstrQueueDir ); [propput, id(DISPID_IADs_UPPER_BOUND+29)] HRESULT QueueDir ( [in] BSTR strQueueDir ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+30)] HRESULT MaxInConnection ( [out, retval] long * lMaxInConnection ); [propput, id(DISPID_IADs_UPPER_BOUND+30)] HRESULT MaxInConnection ( [in] long lMaxInConnection ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+31)] HRESULT MaxOutConnection ( [out, retval] long * lMaxOutConnection ); [propput, id(DISPID_IADs_UPPER_BOUND+31)] HRESULT MaxOutConnection ( [in] long lMaxOutConnection ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+32)] HRESULT InConnectionTimeout ( [out, retval] long * lInConnectionTimeout ); [propput, id(DISPID_IADs_UPPER_BOUND+32)] HRESULT InConnectionTimeout ( [in] long lInConnectionTimeout ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+33)] HRESULT OutConnectionTimeout ( [out, retval] long * lOutConnectionTimeout ); [propput, id(DISPID_IADs_UPPER_BOUND+33)] HRESULT OutConnectionTimeout ( [in] long lOutConnectionTimeout ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+34)] HRESULT MaxMessageSize ( [out, retval] long * lMaxMessageSize ); [propput, id(DISPID_IADs_UPPER_BOUND+34)] HRESULT MaxMessageSize ( [in] long lMaxMessageSize ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+35)] HRESULT MaxSessionSize ( [out, retval] long * lMaxSessionSize ); [propput, id(DISPID_IADs_UPPER_BOUND+35)] HRESULT MaxSessionSize ( [in] long lMaxSessionSize ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+36)] HRESULT MaxMessageRecipients ( [out, retval] long * lMaxMessageRecipients ); [propput, id(DISPID_IADs_UPPER_BOUND+36)] HRESULT MaxMessageRecipients ( [in] long lMaxMessageRecipients ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+37)] HRESULT LocalRetries ( [out, retval] long * lLocalRetries ); [propput, id(DISPID_IADs_UPPER_BOUND+37)] HRESULT LocalRetries ( [in] long lLocalRetries ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+38)] HRESULT LocalRetryTime ( [out, retval] long * lLocalRetryTime ); [propput, id(DISPID_IADs_UPPER_BOUND+38)] HRESULT LocalRetryTime ( [in] long lLocalRetryTime ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+39)] HRESULT RemoteRetries ( [out, retval] long * lLocalRetries ); [propput, id(DISPID_IADs_UPPER_BOUND+39)] HRESULT RemoteRetries ( [in] long lLocalRetries ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+40)] HRESULT RemoteRetryTime ( [out, retval] long * lRemoteRetryTime ); [propput, id(DISPID_IADs_UPPER_BOUND+40)] HRESULT RemoteRetryTime ( [in] long lRemoteRetryTime ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+41)] HRESULT ETRNDays ( [out, retval] long * lETRNDays ); [propput, id(DISPID_IADs_UPPER_BOUND+41)] HRESULT ETRNDays ( [in] long lETRNDays ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+42)] HRESULT SendDNRToPostmaster ( [out, retval] BOOL * pfSendDNRToPostmaster ); [propput, id(DISPID_IADs_UPPER_BOUND+42)] HRESULT SendDNRToPostmaster ( [in] BOOL fSendDNRToPostmaster ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+43)] HRESULT SendBadmailToPostmaster ( [out, retval] BOOL * pfSendBadmailToPostmaster ); [propput, id(DISPID_IADs_UPPER_BOUND+43)] HRESULT SendBadmailToPostmaster ( [in] BOOL fSendBadmailToPostmaster ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+44)] HRESULT RoutingDLL ( [out, retval] BSTR * pstrRoutingDLL ); [propput, id(DISPID_IADs_UPPER_BOUND+44)] HRESULT RoutingDLL ( [in] BSTR strRoutingDLL ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+45)] HRESULT RoutingSources ( [out, retval] SAFEARRAY (BSTR) * psastrRoutingSources ); [propput, id(DISPID_IADs_UPPER_BOUND+45)] HRESULT RoutingSources ( [in] SAFEARRAY (BSTR) sastrRoutingSources ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+46)] HRESULT RoutingSourcesVariant ( [out, retval] SAFEARRAY (Variant) * psastrRoutingSources ); [propput, id(DISPID_IADs_UPPER_BOUND+46)] HRESULT RoutingSourcesVariant ( [in] SAFEARRAY (Variant) sastrRoutingSources ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+47)] HRESULT LocalDomains ( [out, retval] SAFEARRAY (BSTR) * psastrLocalDomains); [propput, id(DISPID_IADs_UPPER_BOUND+47)] HRESULT LocalDomains ( [in] SAFEARRAY (BSTR) sastrLocalDomains ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+48)] HRESULT DomainRouting ( [out, retval] SAFEARRAY (BSTR) * psastrDomainRouting ); [propput, id(DISPID_IADs_UPPER_BOUND+48)] HRESULT DomainRouting ( [in] SAFEARRAY (BSTR) sastrDomainRouting ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+49)] HRESULT DomainRoutingVariant ( [out, retval] SAFEARRAY (Variant) * psastrDomainRouting ); [propput, id(DISPID_IADs_UPPER_BOUND+49)] HRESULT DomainRoutingVariant ( [in] SAFEARRAY (Variant) sastrDomainRouting ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+50)] HRESULT MasqueradeDomain ( [out, retval] BSTR * pstrMasqueradeDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+50)] HRESULT MasqueradeDomain ( [in] BSTR strMasqueradeDomain ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+51)] HRESULT SendNdrTo ( [out, retval] BSTR * pstrAddr ); [propput, id(DISPID_IADs_UPPER_BOUND+51)] HRESULT SendNdrTo ( [in] BSTR strAddr ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+52)] HRESULT SendBadTo ( [out, retval] BSTR * pstrAddr ); [propput, id(DISPID_IADs_UPPER_BOUND+52)] HRESULT SendBadTo ( [in] BSTR strAddr ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+53)] HRESULT RemoteSecurePort ( [out, retval] long * plRemoteSecurePort ); [propput, id(DISPID_IADs_UPPER_BOUND+53)] HRESULT RemoteSecurePort ( [in] long plRemoteSecurePort ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+54)] HRESULT AlwaysUseSsl ( [out, retval] BOOL * pfAlwaysUseSsl ); [propput, id(DISPID_IADs_UPPER_BOUND+54)] HRESULT AlwaysUseSsl ( [in] BOOL fAlwaysUseSsl ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+55)] HRESULT LimitRemoteConnections ( [out, retval] BOOL * pfLimitRemoteConnections ); [propput, id(DISPID_IADs_UPPER_BOUND+55)] HRESULT LimitRemoteConnections ( [in] BOOL fLimitRemoteConnections ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+56)] HRESULT MaxOutConnPerDomain ( [out, retval] long * plMaxOutConnPerDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+56)] HRESULT MaxOutConnPerDomain ( [in] long lMaxOutConnPerDomain ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+57)] HRESULT AllowVerify ( [out, retval] BOOL * pfAllowVerify ); [propput, id(DISPID_IADs_UPPER_BOUND+57)] HRESULT AllowVerify ( [in] BOOL fAllowVerify ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+58)] HRESULT AllowExpand ( [out, retval] BOOL * pfAllowExpand ); [propput, id(DISPID_IADs_UPPER_BOUND+58)] HRESULT AllowExpand ( [in] BOOL fAllowExpand ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+59)] HRESULT BatchMessages ( [out, retval] BOOL * pfBatchMessages ); [propput, id(DISPID_IADs_UPPER_BOUND+59)] HRESULT BatchMessages ( [in] BOOL fBatchMessages ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+60)] HRESULT BatchMessageLimit ( [out, retval] long * plBatchMessageLimit ); [propput, id(DISPID_IADs_UPPER_BOUND+60)] HRESULT BatchMessageLimit ( [in] long lBatchMessageLimit ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+61)] HRESULT DoMasquerade ( [out, retval] BOOL * pfDoMasquerade ); [propput, id(DISPID_IADs_UPPER_BOUND+61)] HRESULT DoMasquerade ( [in] BOOL fDoMasquerade ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+62)] HRESULT Administrators ( [out, retval] SAFEARRAY(BSTR) * psastrAdmins ); [propput, id(DISPID_IADs_UPPER_BOUND+62)] HRESULT Administrators ( [in] SAFEARRAY(BSTR) psastrAdmins ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+63)] HRESULT AdministratorsVariant ( [out, retval] SAFEARRAY(Variant) * psastrAdmins ); [propput, id(DISPID_IADs_UPPER_BOUND+63)] HRESULT AdministratorsVariant ( [in] SAFEARRAY(Variant) psastrAdmins ); [propget, helpstring("Available authentication packages"), id(DISPID_IADs_UPPER_BOUND+64)] HRESULT AuthenticationPackages([out, retval] BSTR * pstrAuthPackages); [propput, id(DISPID_IADs_UPPER_BOUND+64)] HRESULT AuthenticationPackages([in] BSTR strAuthPackages); [propget, helpstring("Clear text authentication package"), id(DISPID_IADs_UPPER_BOUND+65)] HRESULT ClearTextAuthPackage([out, retval] BSTR * pstrAuthPackages); [propput, id(DISPID_IADs_UPPER_BOUND+65)] HRESULT ClearTextAuthPackage([in] BSTR strAuthPackages); [propget, helpstring("Authentication mechanism, ie: anon, basic, ntlm"), id(DISPID_IADs_UPPER_BOUND+66)] HRESULT AuthenticationMethod([out, retval] long *plAuthMethod); [propput, id(DISPID_IADs_UPPER_BOUND+66)] HRESULT AuthenticationMethod([in] long lAuthMethod); [propget, helpstring("Default logon domain for clear text (basic) authentication"), id(DISPID_IADs_UPPER_BOUND+67)] HRESULT DefaultLogonDomain([out, retval] BSTR *pstrLogonDomain); [propput, id(DISPID_IADs_UPPER_BOUND+67)] HRESULT DefaultLogonDomain([in] BSTR strLogonDomain); [propget, helpstring("Authentication method used to logon to remote server"), id(DISPID_IADs_UPPER_BOUND+68)] HRESULT RouteAction ( [out, retval] long * plRouteAction ); [propput, id(DISPID_IADs_UPPER_BOUND+68)] HRESULT RouteAction ( [in] long lRouteAction ); [propget, helpstring("User name used to logon to remote server"), id(DISPID_IADs_UPPER_BOUND+69)] HRESULT RouteUserName([out, retval] BSTR *pstrRouteUserName); [propput, id(DISPID_IADs_UPPER_BOUND+69)] HRESULT RouteUserName([in] BSTR strRouteUserName); [propget, helpstring("Password used to logon to remote server"), id(DISPID_IADs_UPPER_BOUND+70)] HRESULT RoutePassword([out, retval] BSTR *pstrRoutePassword); [propput, id(DISPID_IADs_UPPER_BOUND+70)] HRESULT RoutePassword([in] BSTR strRoutePassword); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+71)] HRESULT LogFileDirectory ( [out, retval] BSTR * pstrLogFileDirectory ); [propput, id(DISPID_IADs_UPPER_BOUND+71)] HRESULT LogFileDirectory ( [in] BSTR strLogFileDirectory ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+72)] HRESULT LogFilePeriod ( [out, retval] long * lLogFilePeriod ); [propput, id(DISPID_IADs_UPPER_BOUND+72)] HRESULT LogFilePeriod ( [in] long lLogFilePeriod ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+73)] HRESULT LogFileTruncateSize ( [out, retval] long * lLogFileTruncateSize ); [propput, id(DISPID_IADs_UPPER_BOUND+73)] HRESULT LogFileTruncateSize ( [in] long lLogFileTruncateSize ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+74)] HRESULT LogMethod ( [out, retval] long * lLogMethod ); [propput, id(DISPID_IADs_UPPER_BOUND+74)] HRESULT LogMethod ( [in] long lLogMethod ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+75)] HRESULT LogType ( [out, retval] long * lLogType ); [propput, id(DISPID_IADs_UPPER_BOUND+75)] HRESULT LogType ( [in] long lLogType ); // Service-specific properties: [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+76)] HRESULT AutoStart ( [out, retval] BOOL * pfAutoStart ); [propput, id(DISPID_IADs_UPPER_BOUND+76)] HRESULT AutoStart ( [in] BOOL fAutoStart ); // // Service Status Properties: // [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+77)] HRESULT ServerState ( [out, retval] DWORD * pdwServerState ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("Get service properties")] HRESULT Get ( ); [helpstring("Set service properties")] HRESULT Set ( [in, defaultvalue(FALSE)] BOOL fFailIfChanged ); [helpstring("Back up flat file version routing table")] HRESULT BackupRoutingTable( [in] BSTR strPath ); [helpstring("")] HRESULT Start ( ); [helpstring("")] HRESULT Pause ( ); [helpstring("")] HRESULT Continue ( ); [helpstring("")] HRESULT Stop ( ); }; #endif [ object, uuid(1a04ea84-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminSessions Interface"), pointer_default(unique) ] interface ISmtpAdminSessions : IADs { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [in] long lServiceInstance ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [out, retval] IADs** ppADs ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [in] IADs* pADs ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [out, retval] BSTR * pstrKeyType ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [in] BSTR strKeyType ); // Enumeration Properties: [propget, helpstring("Number of current sessions"), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT Count ( [out, retval] long * plCount ); // The Session Cursor Properties: [propget, helpstring("User id"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT UserId ( [out, retval] long * plId ); [propput, helpstring("User id"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT UserId ( [in] long plId ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT UserName ( [out, retval] BSTR * pstrUsername ); [propget, helpstring("User's Host Value"), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT Host ( [out, retval] BSTR * pstrHost ); [propget, helpstring("How long it has connected"), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT ConnectTime ( [out, retval] long * plConnectTime ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("Retrieves a list of current sessions"), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT Enumerate ( ); [helpstring("Sets the cursor at the given session. Call Enumerate before calling GetNth"), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT GetNth ( [in] long lIndex ); [helpstring("Terminates the given session. Set Username and/or IpAddress before calling."), id(DISPID_IADs_UPPER_BOUND+12)] HRESULT Terminate ( ); [helpstring("Terminates all sessions"), id(DISPID_IADs_UPPER_BOUND+13)] HRESULT TerminateAll ( ); }; #ifndef _ADSIIEX_BUILD [ object, uuid(1a04ea92-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminVirtualDirectory Interface"), pointer_default(unique) ] interface ISmtpAdminVirtualDirectory : IDispatch { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [in] long lServiceInstance ); // Enumeration properties: [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT Count ( [out, retval] long * plCount ); // The current virtual directory's properties: [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT VirtualName ( [out, retval] BSTR * pstrName ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT VirtualName ( [in] BSTR strName ); [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT Directory ( [out, retval] BSTR * pstrPath ); [propput, id(DISPID_IADs_UPPER_BOUND+5)] HRESULT Directory ( [in] BSTR strPath ); [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT User ( [out, retval] BSTR * pstrUserName ); [propput, id(DISPID_IADs_UPPER_BOUND+6)] HRESULT User ( [in] BSTR strUserName ); [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT Password ( [out, retval] BSTR * pstrPassword ); [propput, id(DISPID_IADs_UPPER_BOUND+7)] HRESULT Password ( [in] BSTR strPassword ); [propget, helpstring("Log Access"), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT LogAccess ( [out, retval] BOOL* pfLogAccess ); [propput, id(DISPID_IADs_UPPER_BOUND+8)] HRESULT LogAccess ( [in] BOOL fLogAccess ); [propget, helpstring("Access Permissions"), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT AccessPermission ( [out, retval] long* plAccessPermission ); [propput, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT AccessPermission ( [in] long lAccessPermission ); [propget, helpstring("Access Permissions"), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT SslAccessPermission ( [out, retval] long* plSslAccessPermission ); [propput, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT SslAccessPermission ( [in] long lSslAccessPermission ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("")] HRESULT GetHomeDirectory ( ); [helpstring("")] HRESULT SetHomeDirectory ( ); // create new entry [helpstring("")] HRESULT Create ( ); // delete current entry [helpstring("")] HRESULT Delete ( ); // get property [helpstring("Get user properties")] HRESULT Get ( ); // set property [helpstring("")] HRESULT Set ( ); // enumeration [helpstring("")] HRESULT Enumerate ( ); [helpstring("")] HRESULT GetNth ([in] long lIndex ); }; #endif [ object, uuid(1a04ea85-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminAlias Interface"), pointer_default(unique) ] interface ISmtpAdminAlias : IADs { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [in] long lServiceInstance ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [out, retval] IADs** ppADs ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [in] IADs* pADs ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [out, retval] BSTR * pstrKeyType ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [in] BSTR strKeyType ); // Enumeration properties: [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT Count ( [out, retval] long * plCount ); // The current alias's properties: [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT EmailId ( [out, retval] BSTR * pstrEmailId ); [propput, id(DISPID_IADs_UPPER_BOUND+6)] HRESULT EmailId ( [in] BSTR strEmailId ); [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT Domain ( [out, retval] BSTR * pstrDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+7)] HRESULT Domain ( [in] BSTR strDomain ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT Type ( [out, retval] long * lType ); [propput, id(DISPID_IADs_UPPER_BOUND+8)] HRESULT Type ( [in] long lType ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("")] HRESULT Find ( [in] BSTR wszWildmat, [in] long cMaxResult ); [helpstring("")] HRESULT GetNth ( [in] long lIndex ); }; [ object, uuid(1a04ea86-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminUser Interface"), pointer_default(unique) ] interface ISmtpAdminUser : IADs { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [in] long lServiceInstance ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [out, retval] IADs** ppADs ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [in] IADs* pADs ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [out, retval] BSTR * pstrKeyType ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [in] BSTR strKeyType ); // user's properties: [propget, helpstring("Email Id to Configure"), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT EmailId ( [out, retval] BSTR * pstrEmailId ); [propput, id(DISPID_IADs_UPPER_BOUND+5)] HRESULT EmailId ( [in] BSTR strEmailId ); [propget, helpstring("Alias' domain name to Configure"), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT Domain ( [out, retval] BSTR * pstrDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+6)] HRESULT Domain ( [in] BSTR strDomain ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT MailRoot ( [out, retval] BSTR * pstrMailRoot ); [propput, id(DISPID_IADs_UPPER_BOUND+7)] HRESULT MailRoot ( [in] BSTR strMailRoot ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT InboxSizeInMemory ( [out, retval] long * lInboxSizeInMemory ); [propput, id(DISPID_IADs_UPPER_BOUND+8)] HRESULT InboxSizeInMemory ( [in] long lInboxSizeInMemory ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT InboxSizeInMsgNumber ( [out, retval] long * lInboxSizeInMsgNumber ); [propput, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT InboxSizeInMsgNumber ( [in] long lInboxSizeInMsgNumber ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT AutoForward ( [out, retval] BOOL * pfAutoForward ); [propput, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT AutoForward ( [in] BOOL fAutoForward ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT ForwardEmail ( [out, retval] BSTR * pstrForwardEmail ); [propput, id(DISPID_IADs_UPPER_BOUND+11)] HRESULT ForwardEmail ( [in] BSTR strForwardEmail ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("Set properties to their default values")] HRESULT Default ( ); [helpstring("")] HRESULT Create ( ); [helpstring("")] HRESULT Delete ( ); [helpstring("Get user properties")] HRESULT Get ( ); [helpstring("")] HRESULT Set ( ); } [ object, uuid(1a04ea87-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminDL Interface"), pointer_default(unique) ] interface ISmtpAdminDL : IADs { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [in] long lServiceInstance ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [out, retval] IADs** ppADs ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [in] IADs* pADs ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [out, retval] BSTR * pstrKeyType ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [in] BSTR strKeyType ); // The current DL properties: [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT DLName ( [out, retval] BSTR * pstrDLName ); [propput, id(DISPID_IADs_UPPER_BOUND+5)] HRESULT DLName ( [in] BSTR strDLName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT Domain ( [out, retval] BSTR * pstrDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+6)] HRESULT Domain ( [in] BSTR strDomain ); [propget, helpstring("TCP/IP Port to Configure"), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT Type ( [out, retval] long * lType ); [propput, id(DISPID_IADs_UPPER_BOUND+7)] HRESULT Type ( [in] long lType ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT MemberName ( [out, retval] BSTR * pstrMemberName ); [propput, id(DISPID_IADs_UPPER_BOUND+8)] HRESULT MemberName ( [in] BSTR strMemberName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT MemberDomain ( [out, retval] BSTR * pstrMemberDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT MemberDomain ( [in] BSTR strMemberDomain ); [propget, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT MemberType ( [out, retval] long * plMemberType ); // enumeration [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT Count ( [out, retval] long * plCount ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("")] HRESULT Create ( ); [helpstring("")] HRESULT Delete ( ); [helpstring("Get user properties")] HRESULT AddMember ( ); [helpstring("")] HRESULT RemoveMember ( ); [helpstring("")] HRESULT FindMembers ([in] BSTR wszWildmat, [in] long cMaxResults ); [helpstring("")] HRESULT GetNthMember ([in] long lIndex ); }; [ object, uuid(1a04ea88-9414-11d0-906f-00aa00a1eab7), dual, helpstring("ISmtpAdminDomain Interface"), pointer_default(unique) ] interface ISmtpAdminDomain : IADs { import "oaidl.idl"; ////////////////////////////////////////////////////////////////////// // Properties: ////////////////////////////////////////////////////////////////////// // Which service to configure: [propget, helpstring("Computer Name to Configure"), id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [out, retval] BSTR * pstrServer ); [propput, id(DISPID_IADs_UPPER_BOUND+1)] HRESULT Server ( [in] BSTR strServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [out, retval] long * plServiceInstance ); [propput, id(DISPID_IADs_UPPER_BOUND+2)] HRESULT ServiceInstance ( [in] long lServiceInstance ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [out, retval] IADs** ppADs ); [propput, id(DISPID_IADs_UPPER_BOUND+3)] HRESULT IADsPointer ( [in] IADs* pADs ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [out, retval] BSTR * pstrKeyType ); [propput, id(DISPID_IADs_UPPER_BOUND+4)] HRESULT KeyType ( [in] BSTR strKeyType ); // Enumeration Properties: [propget, helpstring("Number of current sessions"), id(DISPID_IADs_UPPER_BOUND+5)] HRESULT Count ( [out, retval] long * plCount ); // The domain properties: [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+6)] HRESULT DomainName ( [out, retval] BSTR * pstrDomainName ); [propput, id(DISPID_IADs_UPPER_BOUND+6)] HRESULT DomainName ( [in] BSTR strDomainName ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+7)] HRESULT ActionType ( [out, retval] long * plType ); [propput, id(DISPID_IADs_UPPER_BOUND+7)] HRESULT ActionType ( [in] long lType ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+8)] HRESULT IsDefault ( [out, retval] BOOL * pfIsDefault ); [propput, id(DISPID_IADs_UPPER_BOUND+8)] HRESULT IsDefault ( [in] BOOL fIsDefault ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+9)] HRESULT IsLocal ( [out, retval] BOOL * pfIsLocal ); [propput, id(DISPID_IADs_UPPER_BOUND+9)] HRESULT IsLocal ( [in] BOOL fIsLocal ); // if local domain [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+10)] HRESULT LDAPServer ( [out, retval] BSTR * pstrLDAPServer ); [propput, id(DISPID_IADs_UPPER_BOUND+10)] HRESULT LDAPServer ( [in] BSTR strLDAPServer ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+11)] HRESULT DropDir ( [out, retval] BSTR * pstrDropDir ); [propput, id(DISPID_IADs_UPPER_BOUND+11)] HRESULT DropDir ( [in] BSTR strDropDir ); // this LDAP info is now global to virtual server, not per domain [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+12)] HRESULT Account ( [out, retval] BSTR * pstrAccount ); [propput, id(DISPID_IADs_UPPER_BOUND+12)] HRESULT Account ( [in] BSTR strAccount ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+13)] HRESULT Password ( [out, retval] BSTR * pstrPassword ); [propput, id(DISPID_IADs_UPPER_BOUND+13)] HRESULT Password ( [in] BSTR strPassword ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+14)] HRESULT LDAPContainer ( [out, retval] BSTR * pstrLDAPContainer ); [propput, id(DISPID_IADs_UPPER_BOUND+14)] HRESULT LDAPContainer ( [in] BSTR strLDAPContainer ); // if remote [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+15)] HRESULT UseSSL ( [out, retval] BOOL * pfUseSSL ); [propput, id(DISPID_IADs_UPPER_BOUND+15)] HRESULT UseSSL ( [in] BOOL fUseSSL ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+16)] HRESULT EnableETRN ( [out, retval] BOOL * pfEnableETRN ); [propput, id(DISPID_IADs_UPPER_BOUND+16)] HRESULT EnableETRN ( [in] BOOL fEnableETRN ); [propget, helpstring(""), id(DISPID_IADs_UPPER_BOUND+17)] HRESULT RoutingDomain ( [out, retval] BSTR * pstrRoutingDomain ); [propput, id(DISPID_IADs_UPPER_BOUND+17)] HRESULT RoutingDomain ( [in] BSTR strRoutingDomain ); ////////////////////////////////////////////////////////////////////// // Methods: ////////////////////////////////////////////////////////////////////// [helpstring("")] HRESULT Default( ); [helpstring("Add a new domain")] HRESULT Add ( ); [helpstring("")] HRESULT Remove ( ); [helpstring("Get domain property")] HRESULT Get ( ); [helpstring("")] HRESULT Set ( ); [helpstring("")] HRESULT Enumerate ( ); [helpstring("")] HRESULT GetNth ([in] long lIndex ); [helpstring("")] HRESULT GetDefaultDomain ( ); [helpstring("")] HRESULT SetAsDefaultDomain ( ); }; #ifndef _ADSIISEX_BUILD [ object, uuid(f6052b92-2bb6-11d1-bffa-00c04fc307bd), dual, helpstring("IWebAdminHelper interface"), pointer_default(unique) ] interface IWebAdminHelper : IDispatch { import "oaidl.idl"; [helpstring("")] HRESULT EnumerateTrustedDomains ( [in] BSTR strServer, [out, retval] SAFEARRAY (VARIANT) * psaTrustedDomains ); [helpstring("")] HRESULT GetPrimaryNTDomain ( [in] BSTR strServer, [out, retval] BSTR * pstrPrimaryDomain ); [helpstring("")] HRESULT DoesNTAccountExist ( [in] BSTR strServer, [in] BSTR strAccountName, [out, retval] VARIANT_BOOL * pbAccountExists ); [helpstring("")] HRESULT CreateNTAccount ( [in] BSTR strServer, [in] BSTR strDomain, [in] BSTR strUsername, [in] BSTR strPassword ); [helpstring("")] HRESULT IsValidEmailAddress ( [in] BSTR strEmailAddress, [out, retval] VARIANT_BOOL * pbValidAddress ); [helpstring("")] HRESULT ToSafeVariableName ( [in] BSTR strValue, [out, retval] BSTR * pstrSafeName ); [helpstring("")] HRESULT FromSafeVariableName ( [in] BSTR strSafeName, [out, retval] BSTR * pstrValue ); [helpstring("")] HRESULT AddToDL ( [in] IDispatch * pDispDL, [in] BSTR strAdsPath ); [helpstring("")] HRESULT RemoveFromDL ( [in] IDispatch * pDispDL, [in] BSTR strAdsPath ); [helpstring("Call to begin an LDAP search of the given container")] HRESULT ExecuteSearch ( [in] IDispatch * pDispRecipients, [in] BSTR strQuery, [in] long cMaxResultsHint ); [helpstring("Call after ExecuteSearch to get the next result row")] HRESULT GetNextRow ( [out, retval] VARIANT_BOOL * pbNextRow ); [helpstring("Call after calling GetNextRow to get column values")] HRESULT GetColumn ( [in] BSTR strColName, [out, retval] BSTR * pstrColValue ); [helpstring("You must call this after ExecuteSearch")] HRESULT TerminateSearch ( ); }; #endif // Class Definitions: #ifndef _ADSIIEX_BUILD [ uuid(1a04ea89-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdmin Class") ] coclass CSmtpAdmin { [default] interface ISmtpAdmin; }; [ uuid(1a04ea8a-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminService Class") ] coclass CSmtpAdminService { [default] interface ISmtpAdminService; }; [ uuid(1a04ea8b-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminVirtualServer Class") ] coclass CSmtpAdminVirtualServer { [default] interface ISmtpAdminVirtualServer; }; [ uuid(1a04ea8d-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminVirtualDirectory Class") ] coclass CSmtpAdminVirtualDirectory { [default] interface ISmtpAdminVirtualDirectory; }; #endif [ uuid(1a04ea8c-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminSessions Class") ] coclass CSmtpAdminSessions { [default] interface ISmtpAdminSessions; }; [ uuid(1a04ea8e-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminAlias Class") ] coclass CSmtpAdminAlias { [default] interface ISmtpAdminAlias; }; [ uuid(1a04ea8f-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminUser Class") ] coclass CSmtpAdminUser { [default] interface ISmtpAdminUser; }; [ uuid(1a04ea90-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminDL Class") ] coclass CSmtpAdminDL { [default] interface ISmtpAdminDL; }; [ uuid(1a04ea91-9414-11d0-906f-00aa00a1eab7), helpstring("SmtpAdminDomain Class") ] coclass CSmtpAdminDomain { [default] interface ISmtpAdminDomain; }; #ifndef _ADSIIEX_BUILD [ uuid(7f333a96-2bb5-11d1-bffa-00c04fc307bd), helpstring("CWebAdminHelper Class") ] coclass CWebAdminHelper { [default] interface IWebAdminHelper; }; #endif }; cpp_quote("#endif // _SMTPADM_IDL_INCLUDED_")