// -------------------------------------------------------------------------------- // Imnact.idl // Copyright (c)1993-1998 Microsoft Corporation, All Rights Reserved // Steven J. Bailey // -------------------------------------------------------------------------------- import "objidl.idl"; interface IImnAccount; cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// Imnact.h") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("#pragma comment(lib,\"uuid.lib\")") cpp_quote("") cpp_quote("//---------------------------------------------------------------------------=") cpp_quote("// Internet Mail and News Account Manager Interfaces.") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// GUIDS") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#if !defined( WIN16 ) || defined( __cplusplus )") cpp_quote("// {8D4B04E1-1331-11d0-81B8-00C04FD85AB4}") cpp_quote("DEFINE_GUID(CLSID_ImnAccountManager, 0x8d4b04e1, 0x1331, 0x11d0, 0x81, 0xb8, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") cpp_quote("") cpp_quote("// {FD465484-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("DEFINE_GUID(IID_IPropertyContainer, 0xfd465484, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);") cpp_quote("") cpp_quote("// {FD465481-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("DEFINE_GUID(IID_IImnAccountManager, 0xfd465481, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);") cpp_quote("") cpp_quote("// {C43DFC6F-62BB-11d2-A727-00C04F79E7C8}") cpp_quote("DEFINE_GUID(IID_IImnAccountManager2, 0xc43dfc6f, 0x62bb, 0x11d2, 0xa7, 0x27, 0x0, 0xc0, 0x4f, 0x79, 0xe7, 0xc8);") cpp_quote("") cpp_quote("// {FD465482-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("DEFINE_GUID(IID_IImnAccount, 0xfd465482, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);") cpp_quote("") cpp_quote("// {FD465483-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("DEFINE_GUID(IID_IImnEnumAccounts, 0xfd465483, 0x1384, 0x11d0, 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa);") cpp_quote("") cpp_quote("// {8D0AED11-1638-11d0-81B9-00C04FD85AB4}") cpp_quote("DEFINE_GUID(IID_IImnAdviseMigrateServer, 0x8d0aed11, 0x1638, 0x11d0, 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") cpp_quote("") cpp_quote("// {0A06BD31-166F-11d0-81B9-00C04FD85AB4}") cpp_quote("DEFINE_GUID(IID_IImnAdviseAccount, 0xa06bd31, 0x166f, 0x11d0, 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") cpp_quote("") cpp_quote("#endif //!WIN16 || __cplusplus") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// Exported C Functions") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#if !defined(_IMNACCT_)") cpp_quote("#define IMNACCTAPI DECLSPEC_IMPORT HRESULT WINAPI") cpp_quote("#define IMNACCTAPI_(_type_) DECLSPEC_IMPORT _type_ WINAPI") cpp_quote("#else") cpp_quote("#define IMNACCTAPI HRESULT WINAPI") cpp_quote("#define IMNACCTAPI_(_type_) _type_ WINAPI") cpp_quote("#endif") cpp_quote("#ifdef __cplusplus") cpp_quote("extern \"C\" {") cpp_quote("#endif") cpp_quote("") cpp_quote("IMNACCTAPI HrCreateAccountManager(IImnAccountManager **ppAccountManager);") cpp_quote("IMNACCTAPI ValidEmailAddress(LPSTR lpAddress);") cpp_quote("") cpp_quote("#ifdef __cplusplus") cpp_quote("}") cpp_quote("#endif") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// Errors") cpp_quote("// --------------------------------------------------------------------------------") //;begin_internal // // NOTE: All inetcomm error codes must reside between CC00 and CFFF (a 1k block). // This has been approved by Johann Posch (johannp) // We further subdevide this range as follows: // CC00-CCFF IMNXPORT results // CD00-CDFF IMNACCT results // CE00-CEFF MIMEOLE results // CF00-CFFF undefined, do not use // (t-erikne 03/24/97) // //;end_internal cpp_quote("#ifndef FACILITY_INTERNET") cpp_quote("#define FACILITY_INTERNET 12") cpp_quote("#endif") cpp_quote("#ifndef HR_E") cpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)") cpp_quote("#endif") cpp_quote("#ifndef HR_S") cpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)") cpp_quote("#endif") cpp_quote("#ifndef HR_CODE") cpp_quote("#define HR_CODE(hr) (INT)(hr & 0xffff)") cpp_quote("#endif") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// General Errors") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define E_RegCreateKeyFailed HR_E(0xCD00)") cpp_quote("#define E_RegQueryInfoKeyFailed HR_E(0xCD01)") cpp_quote("#define E_UserCancel HR_E(0xCD02)") cpp_quote("#define E_RegOpenKeyFailed HR_E(0xCD03)") cpp_quote("#define E_RegSetValueFailed HR_E(0xCD04)") cpp_quote("#define E_RegDeleteKeyFailed HR_E(0xCD05)") cpp_quote("#define E_DuplicateAccountName HR_E(0xCD06)") cpp_quote("#define S_NonStandardValue HR_S(0xCD07)") cpp_quote("#define E_InvalidValue HR_E(0xCD08)") cpp_quote("#define S_AlreadyInitialized HR_S(0xCD09)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// IPropertyContainer Errors") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define E_NoPropData HR_E(0xCDA0)") cpp_quote("#define E_BufferTooSmall HR_E(0xCDA1)") cpp_quote("#define E_BadPropType HR_E(0xCDA2)") cpp_quote("#define E_BufferSizeMismatch HR_E(0xCDA3)") cpp_quote("#define E_InvalidBooleanValue HR_E(0xCDA4)") cpp_quote("#define E_InvalidMinMaxValue HR_E(0xCDA5)") cpp_quote("#define E_PropNotFound HR_E(0xCDA6)") cpp_quote("#define E_InvalidPropTag HR_E(0xCDA7)") cpp_quote("#define E_InvalidPropertySet HR_E(0xCDA8)") cpp_quote("#define E_EnumFinished HR_E(0xCDA9)") //N should be S_FALSE? cpp_quote("#define S_NoSaveNeeded HR_S(0xCDAA)") cpp_quote("#define S_PasswordDeleted HR_S(0xCDAB)") cpp_quote("#define S_PasswordNotFound HR_S(0xCDAC)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// ImnAccountManager errors") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define E_NoAccounts HR_E(0xCDD0)") cpp_quote("#define E_BadFriendlyName HR_E(0xCDD1)") cpp_quote("#define E_NoIdentities HR_E(0xCDD2)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// RAS Connection Types") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define CF_AUTO_CONNECT FLAG02 // Automatically connect") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// Property Macros") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define PROPTAG_MASK ((ULONG)0x0000FFFF)") cpp_quote("#define PROPTAG_TYPE(ulPropTag) (PROPTYPE)(((ULONG)(ulPropTag)) & PROPTAG_MASK)") cpp_quote("#define PROPTAG_ID(ulPropTag) (((ULONG)(ulPropTag))>>16)") cpp_quote("#define PROPTAG(ulPropType,ulPropID) ((((ULONG)(ulPropID))<<16)|((ULONG)(ulPropType)))") cpp_quote("#define MAX_PROPID ((ULONG) 0xFFFF)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// IImnAccount Properties") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define AP_FIRST 0X1234") cpp_quote("// per account properties") cpp_quote("#define AP_ACCOUNT_NAME PROPTAG(TYPE_STRING, AP_FIRST+1)") cpp_quote("#define AP_ACCOUNT_FIRST AP_ACCOUNT_NAME") cpp_quote("#define AP_TEMP_ACCOUNT PROPTAG(TYPE_DWORD, AP_FIRST+3)") cpp_quote("#define AP_LAST_UPDATED PROPTAG(TYPE_FILETIME, AP_FIRST+4)") cpp_quote("#define AP_RAS_CONNECTION_TYPE PROPTAG(TYPE_DWORD, AP_FIRST+5)") cpp_quote("#define AP_RAS_CONNECTOID PROPTAG(TYPE_STRING, AP_FIRST+6)") cpp_quote("#define AP_RAS_CONNECTION_FLAGS PROPTAG(TYPE_DWORD, AP_FIRST+7)") cpp_quote("#define AP_ACCOUNT_ID PROPTAG(TYPE_STRING, AP_FIRST+9)") cpp_quote("#define AP_RAS_BACKUP_CONNECTOID PROPTAG(TYPE_STRING, AP_FIRST+10)") cpp_quote("#define AP_SERVICE PROPTAG(TYPE_STRING, AP_FIRST+11)") cpp_quote("#define AP_AVAIL_OFFLINE PROPTAG(TYPE_DWORD, AP_FIRST+12)") cpp_quote("#define AP_UNIQUE_ID PROPTAG(TYPE_BINARY, AP_FIRST+13)") cpp_quote("#define AP_SERVER_READ_ONLY PROPTAG(TYPE_BOOL, AP_FIRST+14)") cpp_quote("#define AP_ACCOUNT_LAST AP_SERVER_READ_ONLY") cpp_quote("") cpp_quote("// IMAP properties") cpp_quote("#define AP_IMAP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+100)") cpp_quote("#define AP_IMAP_FIRST AP_IMAP_SERVER") cpp_quote("#define AP_IMAP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+101)") cpp_quote("#define AP_IMAP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+102)") cpp_quote("#define AP_IMAP_USE_SICILY PROPTAG(TYPE_BOOL, AP_FIRST+104)") cpp_quote("#define AP_IMAP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+105)") cpp_quote("#define AP_IMAP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+106)") cpp_quote("#define AP_IMAP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+107)") cpp_quote("#define AP_IMAP_ROOT_FOLDER PROPTAG(TYPE_STRING, AP_FIRST+108)") cpp_quote("#define AP_IMAP_DATA_DIR PROPTAG(TYPE_STRING, AP_FIRST+109)") cpp_quote("#define AP_IMAP_USE_LSUB PROPTAG(TYPE_BOOL, AP_FIRST+111)") cpp_quote("#define AP_IMAP_POLL PROPTAG(TYPE_BOOL, AP_FIRST+112)") cpp_quote("#define AP_IMAP_FULL_LIST PROPTAG(TYPE_BOOL, AP_FIRST+113)") cpp_quote("#define AP_IMAP_NOOP_INTERVAL PROPTAG(TYPE_DWORD, AP_FIRST+114)") cpp_quote("#define AP_IMAP_SVRSPECIALFLDRS PROPTAG(TYPE_BOOL, AP_FIRST+116)") cpp_quote("#define AP_IMAP_SENTITEMSFLDR PROPTAG(TYPE_STRING, AP_FIRST+117)") cpp_quote("#define AP_IMAP_DRAFTSFLDR PROPTAG(TYPE_STRING, AP_FIRST+119)") cpp_quote("#define AP_IMAP_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+124)") cpp_quote("#define AP_IMAP_DIRTY PROPTAG(TYPE_DWORD, AP_FIRST+125)") cpp_quote("#define AP_IMAP_POLL_ALL_FOLDERS PROPTAG(TYPE_BOOL, AP_FIRST+126)") cpp_quote("#define AP_IMAP_LAST AP_IMAP_POLL_ALL_FOLDERS") cpp_quote("") cpp_quote("// LDAP properties") cpp_quote("#define AP_LDAP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+200)") cpp_quote("#define AP_LDAP_FIRST AP_LDAP_SERVER") cpp_quote("#define AP_LDAP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+201)") cpp_quote("#define AP_LDAP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+202)") cpp_quote("#define AP_LDAP_AUTHENTICATION PROPTAG(TYPE_DWORD, AP_FIRST+203)") cpp_quote("#define AP_LDAP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+204)") cpp_quote("#define AP_LDAP_SEARCH_RETURN PROPTAG(TYPE_DWORD, AP_FIRST+205)") cpp_quote("#define AP_LDAP_SEARCH_BASE PROPTAG(TYPE_STRING, AP_FIRST+206)") cpp_quote("#define AP_LDAP_SERVER_ID PROPTAG(TYPE_DWORD, AP_FIRST+207)") cpp_quote("#define AP_LDAP_RESOLVE_FLAG PROPTAG(TYPE_DWORD, AP_FIRST+208)") cpp_quote("#define AP_LDAP_URL PROPTAG(TYPE_STRING, AP_FIRST+209)") cpp_quote("#define AP_LDAP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+210)") cpp_quote("#define AP_LDAP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+211)") cpp_quote("#define AP_LDAP_LOGO PROPTAG(TYPE_STRING, AP_FIRST+212)") cpp_quote("#define AP_LDAP_USE_BIND_DN PROPTAG(TYPE_DWORD, AP_FIRST+213)") cpp_quote("#define AP_LDAP_SIMPLE_SEARCH PROPTAG(TYPE_DWORD, AP_FIRST+214)") cpp_quote("#define AP_LDAP_ADVANCED_SEARCH_ATTR PROPTAG(TYPE_STRING, AP_FIRST+215)") cpp_quote("#define AP_LDAP_PAGED_RESULTS PROPTAG(TYPE_DWORD, AP_FIRST+216)") cpp_quote("#define AP_LDAP_NTDS PROPTAG(TYPE_DWORD, AP_FIRST+217)") cpp_quote("#define AP_LDAP_LAST AP_LDAP_NTDS") cpp_quote("") cpp_quote("// HTTPMail properties") cpp_quote("#define AP_HTTPMAIL_SERVER PROPTAG(TYPE_STRING, AP_FIRST+250)") cpp_quote("#define AP_HTTPMAIL_FIRST AP_HTTPMAIL_SERVER") cpp_quote("#define AP_HTTPMAIL_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+251)") cpp_quote("#define AP_HTTPMAIL_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+252)") cpp_quote("#define AP_HTTPMAIL_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+253)") cpp_quote("#define AP_HTTPMAIL_USE_SICILY PROPTAG(TYPE_DWORD, AP_FIRST+254)") cpp_quote("#define AP_HTTPMAIL_FRIENDLY_NAME PROPTAG(TYPE_STRING, AP_FIRST+255)") cpp_quote("#define AP_HTTPMAIL_DOMAIN_MSN PROPTAG(TYPE_BOOL, AP_FIRST+256)") cpp_quote("#define AP_HTTPMAIL_POLL PROPTAG(TYPE_BOOL, AP_FIRST+257)") cpp_quote("#define AP_HTTPMAIL_LAST AP_HTTPMAIL_POLL") cpp_quote("") cpp_quote("// NNTP properties") cpp_quote("#define AP_NNTP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+300)") cpp_quote("#define AP_NNTP_FIRST AP_NNTP_SERVER") cpp_quote("#define AP_NNTP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+301)") cpp_quote("#define AP_NNTP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+302)") cpp_quote("#define AP_NNTP_USE_SICILY PROPTAG(TYPE_BOOL, AP_FIRST+304)") cpp_quote("#define AP_NNTP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+305)") cpp_quote("#define AP_NNTP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+306)") cpp_quote("#define AP_NNTP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+307)") cpp_quote("#define AP_NNTP_DISPLAY_NAME PROPTAG(TYPE_STRING, AP_FIRST+308)") cpp_quote("#define AP_NNTP_ORG_NAME PROPTAG(TYPE_STRING, AP_FIRST+309)") cpp_quote("#define AP_NNTP_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+310)") cpp_quote("#define AP_NNTP_REPLY_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+311)") cpp_quote("#define AP_NNTP_SPLIT_MESSAGES PROPTAG(TYPE_BOOL, AP_FIRST+312)") cpp_quote("#define AP_NNTP_SPLIT_SIZE PROPTAG(TYPE_DWORD, AP_FIRST+313)") cpp_quote("#define AP_NNTP_USE_DESCRIPTIONS PROPTAG(TYPE_BOOL, AP_FIRST+314)") cpp_quote("#define AP_NNTP_DATA_DIR PROPTAG(TYPE_STRING, AP_FIRST+315)") cpp_quote("#define AP_NNTP_POLL PROPTAG(TYPE_BOOL, AP_FIRST+316)") cpp_quote("#define AP_NNTP_POST_FORMAT PROPTAG(TYPE_DWORD, AP_FIRST+317)") cpp_quote("#define AP_NNTP_SIGNATURE PROPTAG(TYPE_STRING, AP_FIRST+318)") cpp_quote("#define AP_NNTP_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+319)") cpp_quote("#define AP_NNTP_LAST AP_NNTP_PROMPT_PASSWORD") cpp_quote("") cpp_quote("// POP3 properties") cpp_quote("#define AP_POP3_SERVER PROPTAG(TYPE_STRING, AP_FIRST+400)") cpp_quote("#define AP_POP3_FIRST AP_POP3_SERVER") cpp_quote("#define AP_POP3_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+401)") cpp_quote("#define AP_POP3_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+402)") cpp_quote("#define AP_POP3_USE_SICILY PROPTAG(TYPE_BOOL, AP_FIRST+404)") cpp_quote("#define AP_POP3_PORT PROPTAG(TYPE_DWORD, AP_FIRST+405)") cpp_quote("#define AP_POP3_SSL PROPTAG(TYPE_BOOL, AP_FIRST+406)") cpp_quote("#define AP_POP3_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+407)") cpp_quote("#define AP_POP3_LEAVE_ON_SERVER PROPTAG(TYPE_BOOL, AP_FIRST+408)") cpp_quote("#define AP_POP3_REMOVE_DELETED PROPTAG(TYPE_BOOL, AP_FIRST+409)") cpp_quote("#define AP_POP3_REMOVE_EXPIRED PROPTAG(TYPE_BOOL, AP_FIRST+410)") cpp_quote("#define AP_POP3_EXPIRE_DAYS PROPTAG(TYPE_DWORD, AP_FIRST+411)") cpp_quote("#define AP_POP3_SKIP PROPTAG(TYPE_BOOL, AP_FIRST+412)") cpp_quote("#define AP_POP3_OUTLOOK_CACHE_NAME PROPTAG(TYPE_STRING, AP_FIRST+413)") cpp_quote("#define AP_POP3_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+414)") cpp_quote("#define AP_POP3_LAST AP_POP3_PROMPT_PASSWORD") cpp_quote("") cpp_quote("// SMTP properties") cpp_quote("#define AP_SMTP_SERVER PROPTAG(TYPE_STRING, AP_FIRST+500)") cpp_quote("#define AP_SMTP_FIRST AP_SMTP_SERVER") cpp_quote("#define AP_SMTP_USERNAME PROPTAG(TYPE_STRING, AP_FIRST+501)") cpp_quote("#define AP_SMTP_PASSWORD PROPTAG(TYPE_PASS, AP_FIRST+502)") cpp_quote("#define AP_SMTP_USE_SICILY PROPTAG(TYPE_DWORD, AP_FIRST+504) // SMTPAUTHTYEP") cpp_quote("#define AP_SMTP_PORT PROPTAG(TYPE_DWORD, AP_FIRST+505)") cpp_quote("#define AP_SMTP_SSL PROPTAG(TYPE_BOOL, AP_FIRST+506)") cpp_quote("#define AP_SMTP_TIMEOUT PROPTAG(TYPE_DWORD, AP_FIRST+507)") cpp_quote("#define AP_SMTP_DISPLAY_NAME PROPTAG(TYPE_STRING, AP_FIRST+508)") cpp_quote("#define AP_SMTP_ORG_NAME PROPTAG(TYPE_STRING, AP_FIRST+509)") cpp_quote("#define AP_SMTP_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+510)") cpp_quote("#define AP_SMTP_REPLY_EMAIL_ADDRESS PROPTAG(TYPE_STRING, AP_FIRST+511)") cpp_quote("#define AP_SMTP_SPLIT_MESSAGES PROPTAG(TYPE_BOOL, AP_FIRST+512)") cpp_quote("#define AP_SMTP_SPLIT_SIZE PROPTAG(TYPE_DWORD, AP_FIRST+513)") cpp_quote("#define AP_SMTP_CERTIFICATE PROPTAG(TYPE_BINARY, AP_FIRST+514)") cpp_quote("#define AP_SMTP_SIGNATURE PROPTAG(TYPE_STRING, AP_FIRST+515)") cpp_quote("#define AP_SMTP_PROMPT_PASSWORD PROPTAG(TYPE_BOOL, AP_FIRST+516)") cpp_quote("#define AP_SMTP_LAST AP_SMTP_PROMPT_PASSWORD") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// Account Flags") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define ACCT_FLAG_NEWS ((DWORD)1)") cpp_quote("#define ACCT_FLAG_MAIL ((DWORD)2)") cpp_quote("#define ACCT_FLAG_DIR_SERV ((DWORD)4)") cpp_quote("#define ACCT_FLAG_ALL (ACCT_FLAG_NEWS | ACCT_FLAG_MAIL | ACCT_FLAG_DIR_SERV)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// Server Types") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define SRV_NNTP ((DWORD)1)") cpp_quote("#define SRV_IMAP ((DWORD)2)") cpp_quote("#define SRV_POP3 ((DWORD)4)") cpp_quote("#define SRV_SMTP ((DWORD)8)") cpp_quote("#define SRV_LDAP ((DWORD)16)") cpp_quote("#define SRV_HTTPMAIL ((DWORD)32)") cpp_quote("#define SRV_MAIL ((DWORD)(SRV_IMAP | SRV_POP3 | SRV_SMTP | SRV_HTTPMAIL))") cpp_quote("#define SRV_ALL ((DWORD)(SRV_NNTP | SRV_IMAP | SRV_POP3 | SRV_SMTP | SRV_LDAP | SRV_HTTPMAIL))") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// LDAP Authentication Types") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define LDAP_AUTH_ANONYMOUS ((DWORD)0)") cpp_quote("#define LDAP_AUTH_PASSWORD ((DWORD)1)") cpp_quote("#define LDAP_AUTH_MEMBER_SYSTEM ((DWORD)2)") cpp_quote("#define LDAP_AUTH_MAX ((DWORD)2)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// LDAP Paged Result Support Types") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define LDAP_PRESULT_UNKNOWN ((DWORD)0)") cpp_quote("#define LDAP_PRESULT_SUPPORTED ((DWORD)1)") cpp_quote("#define LDAP_PRESULT_NOTSUPPORTED ((DWORD)2)") cpp_quote("#define LDAP_PRESULT_MAX ((DWORD)2)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// LDAP NTDS Types") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define LDAP_NTDS_UNKNOWN ((DWORD)0)") cpp_quote("#define LDAP_NTDS_IS ((DWORD)1)") cpp_quote("#define LDAP_NTDS_ISNOT ((DWORD)2)") cpp_quote("#define LDAP_NTDS_MAX ((DWORD)2)") cpp_quote("") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("// AP_NNTP_POST_FORMAT types") cpp_quote("// --------------------------------------------------------------------------------") cpp_quote("#define POST_USE_DEFAULT ((DWORD)0)") cpp_quote("#define POST_USE_PLAIN_TEXT ((DWORD)1)") cpp_quote("#define POST_USE_HTML ((DWORD)2)") cpp_quote("") cpp_quote("// -----------------------------------------------------------------------------") cpp_quote("// Account Manager Notification Types") cpp_quote("// -----------------------------------------------------------------------------") cpp_quote("#define AN_ACCOUNT_DELETED WM_USER + 1") cpp_quote("#define AN_ACCOUNT_ADDED WM_USER + 2") cpp_quote("#define AN_ACCOUNT_CHANGED WM_USER + 3") cpp_quote("#define AN_DEFAULT_CHANGED WM_USER + 4") cpp_quote("#define AN_SERVERTYPES_CHANGED WM_USER + 5") cpp_quote("#define AN_ACCOUNT_PREDELETE WM_USER + 6") cpp_quote("") cpp_quote("// IImnAccountManager::AccountListDialog flags") cpp_quote("// IImnAccount::ShowProperties flags") cpp_quote("#define ACCTDLG_NO_IMAP 0x0001") cpp_quote("#define ACCTDLG_NO_REMOVEDELETE 0x0002") cpp_quote("#define ACCTDLG_NO_BREAKMESSAGES 0x0004") cpp_quote("#define ACCTDLG_NO_REMOVEAFTER 0x0008") cpp_quote("#define ACCTDLG_NO_SENDRECEIVE 0x0010") cpp_quote("#define ACCTDLG_NO_NEWSPOLL 0x0020") cpp_quote("#define ACCTDLG_NO_SECURITY 0x0040") cpp_quote("#define ACCTDLG_BACKUP_CONNECT 0x0080") cpp_quote("#define ACCTDLG_NO_IMAPPOLL 0x0100") cpp_quote("#define ACCTDLG_NO_NEW_POP 0x0200") cpp_quote("#define ACCTDLG_SHOWIMAPSPECIAL 0x0400") cpp_quote("#define ACCTDLG_INTERNETCONNECTION 0x0800") cpp_quote("#define ACCTDLG_HTTPMAIL 0x1000") cpp_quote("#define ACCTDLG_REVOCATION 0x2000") cpp_quote("#define ACCTDLG_OE 0x4000") cpp_quote("#define ACCTDLG_ALL 0x7fff") cpp_quote("") cpp_quote("// AP_RAS_CONNECTION_TYPE values") cpp_quote("#define CONNECTION_TYPE_LAN 0") cpp_quote("#define CONNECTION_TYPE_MANUAL 1") cpp_quote("#define CONNECTION_TYPE_RAS 2") cpp_quote("#define CONNECTION_TYPE_INETSETTINGS 3") cpp_quote("") cpp_quote("// IImnAccount::DoWizard flags") cpp_quote("#define ACCT_WIZ_MIGRATE 0x0001") cpp_quote("#define ACCT_WIZ_MAILIMPORT 0x0002") cpp_quote("#define ACCT_WIZ_OUTLOOK 0x0004") cpp_quote("#define ACCT_WIZ_NEWSIMPORT 0x0008") cpp_quote("#define ACCT_WIZ_NO_NEW_POP 0x0010") cpp_quote("#define ACCT_WIZ_INTERNETCONNECTION 0x0020") cpp_quote("#define ACCT_WIZ_HTTPMAIL 0x0040") cpp_quote("#define ACCT_WIZ_OE 0x0080") cpp_quote("") cpp_quote("// IImnAccount::InitEx flags") cpp_quote("#define ACCT_INIT_ATHENA 0x0001") cpp_quote("#define ACCT_INIT_OUTLOOK 0x0002") cpp_quote("") cpp_quote(" // AP_IMAP_DIRTY flags") cpp_quote("#define IMAP_FLDRLIST_DIRTY 0x0001") cpp_quote("#define IMAP_OE4MIGRATE_DIRTY 0x0002") cpp_quote("#define IMAP_SENTITEMS_DIRTY 0x0004") cpp_quote("#define IMAP_DRAFTS_DIRTY 0x0008") // -------------------------------------------------------------------------------- // SMTP Authentication Types // -------------------------------------------------------------------------------- typedef enum tagSMTPAUTHTYPE { SMTP_AUTH_NONE, SMTP_AUTH_SICILY, SMTP_AUTH_USE_POP3ORIMAP_SETTINGS, SMTP_AUTH_USE_SMTP_SETTINGS, } SMTPAUTHTYPE; // -------------------------------------------------------------------------------- // String Lengths // -------------------------------------------------------------------------------- const SHORT CCHMAX_ORG_NAME = 256; const SHORT CCHMAX_DISPLAY_NAME = 256; const SHORT CCHMAX_ACCOUNT_NAME = 256; const SHORT CCHMAX_SERVER_NAME = 256; const SHORT CCHMAX_PASSWORD = 256; const SHORT CCHMAX_USERNAME = 256; const SHORT CCHMAX_EMAIL_ADDRESS = 256; const SHORT CCHMAX_CONNECTOID = 256; const SHORT CCHMAX_SEARCH_BASE = 256; const SHORT CCHMAX_ROOT_FOLDER = 256; const SHORT CCHMAX_SIGNATURE = 16; const SHORT CCHMAX_SERVICE = 256; // -------------------------------------------------------------------------------- // IImnAdviseAccount // -------------------------------------------------------------------------------- [ object, uuid(0A06BD31-166F-11d0-81B9-00C04FD85AB4), pointer_default(unique) ] interface IImnAdviseAccount : IUnknown { import "unknwn.idl"; typedef enum { ACCT_NEWS = 0, ACCT_MAIL, ACCT_DIR_SERV, ACCT_LAST } ACCTTYPE; typedef struct tagAccountContext { ACCTTYPE AcctType; LPSTR pszAccountID; LPSTR pszOldName; // set if name changes or account deleted DWORD dwServerType; } ACTX; HRESULT AdviseAccount( [in] DWORD dwAdviseType, [in] ACTX *pAcctCtx); } // -------------------------------------------------------------------------------- // IImnAdviseMigrateServer // -------------------------------------------------------------------------------- [ object, uuid(8D0AED11-1638-11d0-81B9-00C04FD85AB4), pointer_default(unique) ] interface IImnAdviseMigrateServer : IUnknown { import "unknwn.idl"; HRESULT MigrateServer( [in] DWORD dwSrvType, [in] IImnAccount *pAccount); } // -------------------------------------------------------------------------------- // IImnEnumAccounts // -------------------------------------------------------------------------------- [ object, uuid(FD465483-1384-11d0-ABBD-0020AFDFD10A), pointer_default(unique) ] interface IImnEnumAccounts : IUnknown { import "unknwn.idl"; HRESULT GetCount( [out] ULONG *pcItems); HRESULT SortByAccountName(void); HRESULT GetNext( [out] IImnAccount **ppAccount); HRESULT Reset(void); } // -------------------------------------------------------------------------------- // IImnAccountManager // -------------------------------------------------------------------------------- [ object, uuid(FD465481-1384-11d0-ABBD-0020AFDFD10A), pointer_default(unique) ] interface IImnAccountManager : IUnknown { import "unknwn.idl"; typedef struct tagACCTLISTINFO { DWORD cbSize; ACCTTYPE AcctTypeInit; DWORD dwAcctFlags; DWORD dwFlags; } ACCTLISTINFO; HRESULT Init( [in] IImnAdviseMigrateServer *pAdviseMigrateServer); HRESULT CreateAccountObject( [in] ACCTTYPE AcctType, [out] IImnAccount **ppAccount); HRESULT Enumerate( [in] DWORD dwSrvTypes, [out] IImnEnumAccounts **ppEnumAccounts); HRESULT GetAccountCount( [in] ACCTTYPE AcctType, [out] ULONG *pcServers); HRESULT FindAccount( [in] DWORD dwPropTag, [in] LPCSTR pszSearchData, [out] IImnAccount **ppAccount); HRESULT GetDefaultAccount( [in] ACCTTYPE AcctType, [out] IImnAccount **ppAccount); HRESULT GetDefaultAccountName( [in] ACCTTYPE AcctType, [in,ref]LPSTR pszAccount, [in] ULONG cchMax); HRESULT ProcessNotification( [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam); HRESULT ValidateDefaultSendAccount(void); HRESULT AccountListDialog( [in] HWND hwnd, [in] ACCTLISTINFO *pinfo); HRESULT Advise( [in] IImnAdviseAccount *pAdviseAccount, [out] DWORD *pdwConnection); HRESULT Unadvise( [in] DWORD dwConnection); HRESULT GetUniqueAccountName( [in] LPSTR szName, [in] UINT cch); HRESULT InitEx( [in] IImnAdviseMigrateServer *pAdviseMigrateServer, [in] DWORD dwFlags); } // -------------------------------------------------------------------------------- // IImnAccountManager2 // -------------------------------------------------------------------------------- [ object, uuid(C43DFC6F-62BB-11d2-A727-00C04F79E7C8), pointer_default(unique) ] interface IImnAccountManager2 : IImnAccountManager { import "unknwn.idl"; HRESULT InitUser( [in] IImnAdviseMigrateServer *pAdviseMigrateServer, [in] REFGUID rguidID, [in] DWORD dwFlags); HRESULT GetIncompleteAccount( [in] ACCTTYPE AcctType, [in,ref]LPSTR pszAccountId, [in] ULONG cchMax); HRESULT SetIncompleteAccount( [in] ACCTTYPE AcctType, [in] LPCSTR pszAccountId); } // -------------------------------------------------------------------------------- // IPropertyContainer // -------------------------------------------------------------------------------- [ object, uuid(FD465484-1384-11d0-ABBD-0020AFDFD10A), pointer_default(unique) ] interface IPropertyContainer : IUnknown { import "unknwn.idl"; typedef enum { TYPE_ERROR = 1000, // Unknown data type - or data type is in error TYPE_DWORD, // Unsigned 32 bit value TYPE_LONG, // Signed 32 bit value TYPE_WORD, // Unsigned 16 bit value TYPE_SHORT, // Signed 16 bit value TYPE_BYTE, // Unsigned 8 bit value TYPE_CHAR, // Signed 8 bit value TYPE_FILETIME, // FILETIME stucture TYPE_STRING, // Fixed-length null-term string TYPE_BINARY, // Fixed-length binary data TYPE_FLAGS, // Flags fields TYPE_STREAM, // Stream data type TYPE_WSTRING, // UNICODE fixed-length null-term string TYPE_BOOL, // BOOL checked to be equal to 1 or 0 TYPE_PASS, // Neeto burrito password mosquito TYPE_LAST } PROPTYPE; HRESULT GetProp( [in] DWORD dwPropTag, [in,size_is(*pcb),ref] BYTE *pb, [in] ULONG *pcb); HRESULT GetPropDw( [in] DWORD dwPropTag, [out] DWORD *pdw); HRESULT GetPropSz( [in] DWORD dwPropTag, [in,ref] LPSTR psz, [in] ULONG cchMax); HRESULT SetProp( [in] DWORD dwPropTag, [in,size_is(cb)] BYTE *pb, [in] ULONG cb); HRESULT SetPropDw( [in] DWORD dwPropTag, [in] DWORD dw); HRESULT SetPropSz( [in] DWORD dwPropTag, [in] LPSTR psz); } // -------------------------------------------------------------------------------- // IImnAccount // -------------------------------------------------------------------------------- [ object, uuid(FD465482-1384-11d0-ABBD-0020AFDFD10A), pointer_default(unique) ] interface IImnAccount : IPropertyContainer { import "unknwn.idl"; HRESULT Exist(void); HRESULT SetAsDefault(void); HRESULT Delete(void); HRESULT SaveChanges(void); HRESULT GetAccountType( [out] ACCTTYPE *pAcctType); HRESULT GetServerTypes( [out] DWORD *pdwSrvTypes); HRESULT ShowProperties( [in] HWND hwnd, [in] DWORD dwFlags); HRESULT ValidateProperty( [in] DWORD dwPropTag, [in,size_is(cb)] BYTE *pb, [in] ULONG cb); HRESULT DoWizard( [in] HWND hwnd, [in] DWORD dwFlags); HRESULT DoImportWizard( [in] HWND hwnd, [in] CLSID clsid, [in] DWORD dwFlags); } // // This definition is for C files in 16bit WAB, because of two reasons: // // 1. IID definitions generated by MIDL is not compatible with 16bit DEFINE_GUID // 2. DEFINE_GUID should be placed LATER than the declaration generated by MIDL // cpp_quote("#if defined( WIN16 ) && !defined( __cplusplus )") cpp_quote("// {8D4B04E1-1331-11d0-81B8-00C04FD85AB4}") cpp_quote("EXTERN_C const IID CLSID_ImnAccountManager =") cpp_quote(" { 0x8d4b04e1, 0x1331, 0x11d0, { 0x81, 0xb8, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4 } };") cpp_quote("") cpp_quote("// {FD465484-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("EXTERN_C const IID IID_IPropertyContainer =") cpp_quote(" { 0xfd465484, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };") cpp_quote("") cpp_quote("// {FD465481-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("EXTERN_C const IID IID_IImnAccountManager =") cpp_quote(" { 0xfd465481, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };") cpp_quote("") cpp_quote("// {C43DFC6F-62BB-11d2-A727-00C04F79E7C8}") cpp_quote("EXTERN_C const IID IID_IImnAccountManager2 =") cpp_quote(" { 0xc43dfc6f, 0x62bb, 0x11d2, { 0xa7, 0x27, 0x0, 0xc0, 0x4f, 0x79, 0xe7, 0xc8 } };") cpp_quote("") cpp_quote("// {FD465482-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("EXTERN_C const IID IID_IImnAccount =") cpp_quote(" { 0xfd465482, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };") cpp_quote("") cpp_quote("// {FD465483-1384-11d0-ABBD-0020AFDFD10A}") cpp_quote("EXTERN_C const IID IID_IImnEnumAccounts =") cpp_quote(" { 0xfd465483, 0x1384, 0x11d0, { 0xab, 0xbd, 0x0, 0x20, 0xaf, 0xdf, 0xd1, 0xa } };") cpp_quote("") cpp_quote("// {8D0AED11-1638-11d0-81B9-00C04FD85AB4}") cpp_quote("EXTERN_C const IID IID_IImnAdviseMigrateServer =") cpp_quote(" { 0x8d0aed11, 0x1638, 0x11d0, { 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4 } };") cpp_quote("") cpp_quote("// {0A06BD31-166F-11d0-81B9-00C04FD85AB4}") cpp_quote("EXTERN_C const IID IID_IImnAdviseAccount =") cpp_quote(" { 0xa06bd31, 0x166f, 0x11d0, { 0x81, 0xb9, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4 } };") cpp_quote("") cpp_quote("#endif //WIN16 && !__cplusplus")