/*++ 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 // // 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 }