windows-nt/Source/XPSP1/NT/inetsrv/iis/staxinc/export/smtpadm.idl

1758 lines
65 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
// 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 <iads.h>")
#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_")