Windows2003-3790/inetsrv/iis/svcs/smtp/smtpsvc.idl
2020-09-30 16:53:55 +02:00

256 lines
8.1 KiB
Plaintext

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
smtpsvc.idl
Abstract:
Contains the Smtp RPC interface specification for the SMTP server.
This includes API from the following catagories:
Also contains the RPC specific data structures for these API.
Author:
Johnson Apacible (johnsona) 13-Oct-1995
Based on srvsvc.idl code from DanL and JohnsonA
Environment:
User Mode - Win32 - MIDL
Revision History:
Keith Lau (keithlau) 7/18/96 Created new RPCs
Keith Lau (keithlau) 8/28/96 Created new SDK RPCs
--*/
//
// Interface Attributes
//
[
uuid(8cfb5d70-31a4-11cf-a7d8-00805f48a135),
version(3.0),
#ifdef __midl
ms_union,
#endif // __midl
pointer_default(unique)
]
interface smtp
{
import "import.idl";
#include <lmcons.h>
//
// BUGBUG - take this definition out when midl understands LPWSTR etc
//
typedef [handle] LPWSTR SMTP_HANDLE;
typedef [handle] LPWSTR SMTP_IMPERSONATE_HANDLE;
//
// Structures - Smtp
//
typedef [switch_type(unsigned long)] union _STAT_INFO {
[case(0)]
PSMTP_STATISTICS_BLOCK_ARRAY StatInfo0;
[default]
;
} STAT_INFO, *PSTAT_INFO, *LPSTAT_INFO;
NET_API_STATUS
NET_API_FUNCTION
SmtprGetAdminInformation(
[in, string, unique] SMTP_HANDLE pszServer,
[out] LPSMTP_CONFIG_INFO * ppConfig,
[in] DWORD dwInstance
);
NET_API_STATUS
NET_API_FUNCTION
SmtprSetAdminInformation(
[in, string, unique] SMTP_HANDLE pszServer,
[in] LPSMTP_CONFIG_INFO pConfig,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprQueryStatistics(
[in,string,unique] SMTP_HANDLE ServerName,
[in] DWORD Level,
[out, switch_is(Level)] LPSTAT_INFO InfoStruct
);
NET_API_STATUS
SmtprClearStatistics(
[in,string,unique] SMTP_HANDLE ServerName,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprGetConnectedUserList(
[in,string,unique] SMTP_HANDLE wszServerName,
[out] LPSMTP_CONN_USER_LIST *ppConnUserList,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprDisconnectUser(
[in,string,unique] SMTP_HANDLE wszServerName,
[in] DWORD dwUserId,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprCreateUser(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in,string,unique] LPWSTR wszForwardEmail,
[in] DWORD dwLocal,
[in] DWORD dwMailboxSize,
[in] DWORD dwMailboxMessageSize,
[in,string,unique] LPWSTR wszVRoot,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprDeleteUser(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprGetUserProps(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[out] LPSMTP_USER_PROPS *ppUserProps,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprSetUserProps(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in,unique] LPSMTP_USER_PROPS pUserProps,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprCreateDistList(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in] DWORD dwType,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprDeleteDistList(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprCreateDistListMember(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in,string,unique] LPWSTR wszEmailMember,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprDeleteDistListMember(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in,string,unique] LPWSTR wszEmailMember,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprGetNameList(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmail,
[in] DWORD dwType,
[in] DWORD dwRowsRequested,
[in] BOOL fForward,
[out] LPSMTP_NAME_LIST *ppNameList,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprGetNameListFromList(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszEmailList,
[in,string,unique] LPWSTR wszEmail,
[in] DWORD dwType,
[in] DWORD dwRowsRequested,
[in] BOOL fForward,
[out] LPSMTP_NAME_LIST *ppNameList,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprGetVRootSize(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszVRoot,
[out] LPDWORD pdwBytes,
[in] DWORD dwInstance
);
NET_API_STATUS
SmtprBackupRoutingTable(
[in,string,unique] SMTP_HANDLE wszServerName,
[in,string,unique] LPWSTR wszPath,
[in] DWORD dwInstance
);
#ifdef USE_OLD_SDK
// ===================================================
// SMTP SDK RPCs
//
NET_API_STATUS
NET_API_FUNCTION
SmtprGetUserProfileInformation(
[in, string, unique] SMTP_HANDLE wszServer,
[in, string, unique] LPWSTR wszEmail,
[in, string, unique] LPWSTR wszExtensionDllName,
[in, string, unique] LPWSTR wszKey,
[out, string] LPWSTR *ppwszValue,
[in, out] LPDWORD lpdwSize,
[in] DWORD dwInstance
);
NET_API_STATUS
NET_API_FUNCTION
SmtprSetUserProfileInformation(
[in, string, unique] SMTP_HANDLE wszServer,
[in, string, unique] LPWSTR wszEmail,
[in, string, unique] LPWSTR wszExtensionDllName,
[in, string, unique] LPWSTR wszKey,
[in, string, unique] LPWSTR wszValue,
[in] DWORD dwInstance
);
#endif
}