/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/imnxport.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __imnxport_h__ #define __imnxport_h__ /* Forward declarations */ #ifndef __ITransportCallbackService_FWD_DEFINED__ #define __ITransportCallbackService_FWD_DEFINED__ typedef interface ITransportCallbackService ITransportCallbackService; #ifdef __cplusplus interface ITransportCallbackService; #endif /* __cplusplus */ #endif #ifndef __ITransportCallback_FWD_DEFINED__ #define __ITransportCallback_FWD_DEFINED__ typedef interface ITransportCallback ITransportCallback; #ifdef __cplusplus interface ITransportCallback; #endif /* __cplusplus */ #endif #ifndef __IInternetTransport_FWD_DEFINED__ #define __IInternetTransport_FWD_DEFINED__ typedef interface IInternetTransport IInternetTransport; #ifdef __cplusplus interface IInternetTransport; #endif /* __cplusplus */ #endif #ifndef __ISMTPCallback_FWD_DEFINED__ #define __ISMTPCallback_FWD_DEFINED__ typedef interface ISMTPCallback ISMTPCallback; #ifdef __cplusplus interface ISMTPCallback; #endif /* __cplusplus */ #endif #ifndef __ISMTPTransport_FWD_DEFINED__ #define __ISMTPTransport_FWD_DEFINED__ typedef interface ISMTPTransport ISMTPTransport; #ifdef __cplusplus interface ISMTPTransport; #endif /* __cplusplus */ #endif #ifndef __ISMTPTransport2_FWD_DEFINED__ #define __ISMTPTransport2_FWD_DEFINED__ typedef interface ISMTPTransport2 ISMTPTransport2; #ifdef __cplusplus interface ISMTPTransport2; #endif /* __cplusplus */ #endif #ifndef __IPOP3Callback_FWD_DEFINED__ #define __IPOP3Callback_FWD_DEFINED__ typedef interface IPOP3Callback IPOP3Callback; #ifdef __cplusplus interface IPOP3Callback; #endif /* __cplusplus */ #endif #ifndef __IPOP3Transport_FWD_DEFINED__ #define __IPOP3Transport_FWD_DEFINED__ typedef interface IPOP3Transport IPOP3Transport; #ifdef __cplusplus interface IPOP3Transport; #endif /* __cplusplus */ #endif #ifndef __IRangeList_FWD_DEFINED__ #define __IRangeList_FWD_DEFINED__ typedef interface IRangeList IRangeList; #ifdef __cplusplus interface IRangeList; #endif /* __cplusplus */ #endif #ifndef __IIMAPCallback_FWD_DEFINED__ #define __IIMAPCallback_FWD_DEFINED__ typedef interface IIMAPCallback IIMAPCallback; #ifdef __cplusplus interface IIMAPCallback; #endif /* __cplusplus */ #endif #ifndef __IIMAPTransport_FWD_DEFINED__ #define __IIMAPTransport_FWD_DEFINED__ typedef interface IIMAPTransport IIMAPTransport; #ifdef __cplusplus interface IIMAPTransport; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #ifdef __cplusplus extern "C" { #endif #ifndef __IInternetTransport_FWD_DEFINED__ #define __IInternetTransport_FWD_DEFINED__ typedef interface IInternetTransport IInternetTransport; #ifdef __cplusplus interface IInternetTransport; #endif /* __cplusplus */ #endif #ifndef __ISMTPTransport_FWD_DEFINED__ #define __ISMTPTransport_FWD_DEFINED__ typedef interface ISMTPTransport ISMTPTransport; #ifdef __cplusplus interface ISMTPTransport; #endif /* __cplusplus */ #endif #ifndef __IPOP3Transport_FWD_DEFINED__ #define __IPOP3Transport_FWD_DEFINED__ typedef interface IPOP3Transport IPOP3Transport; #ifdef __cplusplus interface IPOP3Transport; #endif /* __cplusplus */ #endif #ifndef __IIMAPTransport_FWD_DEFINED__ #define __IIMAPTransport_FWD_DEFINED__ typedef interface IIMAPTransport IIMAPTransport; #ifdef __cplusplus interface IIMAPTransport; #endif /* __cplusplus */ #endif DEFINE_GUID(CLSID_IInternetMessageUrl, 0xca30cc91, 0xb1b3, 0x11d0, 0x85, 0xd0, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_ISMTPTransport, 0xfd853ce6, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_ISMTPTransport2, 0xdf2c7eC, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IPOP3Transport, 0xfd853ce7, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_INNTPTransport, 0xfd853ce8, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IRASTransport, 0xfd853ce9, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IRangeList, 0xfd853cea, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IIMAPTransport, 0xfd853ceb, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IHTTPMailTransport, 0x5a580c11, 0xe5eb, 0x11d1, 0xa8, 0x6e, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96); DEFINE_GUID(CLSID_IPropFindRequest, 0xbb847b8a, 0x054a, 0x11d2, 0xa8, 0x94, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96); DEFINE_GUID(CLSID_IPropPatchRequest, 0xea678830, 0x235d, 0x11d2, 0xa8, 0xb6, 0x00, 0x00, 0xf8, 0x08, 0x4f, 0x96); #ifndef HR_E #define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n) #endif #ifndef HR_S #define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n) #endif #define IXP_E_LOAD_SICILY_FAILED HR_E(0xCC00) #define IXP_E_INVALID_CERT_CN HR_E(0xCC01) #define IXP_E_INVALID_CERT_DATE HR_E(0xCC02) #define IXP_E_ALREADY_CONNECTED HR_E(0xCC03) #define IXP_E_CONN HR_E(0xCC04) #define IXP_E_NOT_CONNECTED HR_E(0xCC05) #define IXP_E_CONN_SEND HR_E(0xCC06) #define IXP_E_WOULD_BLOCK HR_E(0xCC07) #define IXP_E_INVALID_STATE HR_E(0xCC08) #define IXP_E_CONN_RECV HR_E(0xCC09) #define IXP_E_INCOMPLETE HR_E(0xCC0A) #define IXP_E_BUSY HR_E(0xCC0B) #define IXP_E_NOT_INIT HR_E(0xCC0C) #define IXP_E_CANT_FIND_HOST HR_E(0xCC0D) #define IXP_E_FAILED_TO_CONNECT HR_E(0xCC0E) #define IXP_E_CONNECTION_DROPPED HR_E(0xCC0F) #define IXP_E_INVALID_ADDRESS HR_E(0xCC10) #define IXP_E_INVALID_ADDRESS_LIST HR_E(0xCC11) #define IXP_E_SOCKET_READ_ERROR HR_E(0xCC12) #define IXP_E_SOCKET_WRITE_ERROR HR_E(0xCC13) #define IXP_E_SCOKET_INIT_ERROR HR_E(0xCC14) #define IXP_E_SOCKET_CONNECT_ERROR HR_E(0xCC15) #define IXP_E_INVALID_ACCOUNT HR_E(0xCC16) #define IXP_E_USER_CANCEL HR_E(0xCC17) #define IXP_E_SICILY_LOGON_FAILED HR_E(0xCC18) #define IXP_E_TIMEOUT HR_E(0xCC19) #define IXP_E_SECURE_CONNECT_FAILED HR_E(0xCC1A) #define IXP_E_SMTP_RESPONSE_ERROR HR_E(0xCC60) #define IXP_E_SMTP_UNKNOWN_RESPONSE_CODE HR_E(0xCC61) #define IXP_E_SMTP_500_SYNTAX_ERROR HR_E(0xCC62) #define IXP_E_SMTP_501_PARAM_SYNTAX HR_E(0xCC63) #define IXP_E_SMTP_502_COMMAND_NOTIMPL HR_E(0xCC64) #define IXP_E_SMTP_503_COMMAND_SEQ HR_E(0xCC65) #define IXP_E_SMTP_504_COMMAND_PARAM_NOTIMPL HR_E(0xCC66) #define IXP_E_SMTP_421_NOT_AVAILABLE HR_E(0xCC67) #define IXP_E_SMTP_450_MAILBOX_BUSY HR_E(0xCC68) #define IXP_E_SMTP_550_MAILBOX_NOT_FOUND HR_E(0xCC69) #define IXP_E_SMTP_451_ERROR_PROCESSING HR_E(0xCC6A) #define IXP_E_SMTP_551_USER_NOT_LOCAL HR_E(0xCC6B) #define IXP_E_SMTP_452_NO_SYSTEM_STORAGE HR_E(0xCC6C) #define IXP_E_SMTP_552_STORAGE_OVERFLOW HR_E(0xCC6D) #define IXP_E_SMTP_553_MAILBOX_NAME_SYNTAX HR_E(0xCC6E) #define IXP_E_SMTP_554_TRANSACT_FAILED HR_E(0xCC6F) #define IXP_E_SMTP_211_SYSTEM_STATUS HR_S(0xCC70) #define IXP_E_SMTP_214_HELP_MESSAGE HR_S(0xCC71) #define IXP_E_SMTP_220_READY HR_S(0xCC72) #define IXP_E_SMTP_221_CLOSING HR_S(0xCC73) #define IXP_E_SMTP_250_MAIL_ACTION_OKAY HR_S(0xCC74) #define IXP_E_SMTP_251_FORWARDING_MAIL HR_S(0xCC75) #define IXP_E_SMTP_354_START_MAIL_INPUT HR_S(0xCC76) #define IXP_E_SMTP_CONTINUE HR_S(0xCC77) #define IXP_E_SMTP_334_AUTH_READY_RESPONSE HR_S(0xCC78) #define IXP_E_SMTP_245_AUTH_SUCCESS HR_S(0xCC79) #define IXP_E_SMTP_REJECTED_SENDER HR_E(0xCC78) #define IXP_E_SMTP_REJECTED_RECIPIENTS HR_E(0xCC79) #define IXP_E_SMTP_NO_SENDER HR_E(0xCC7A) #define IXP_E_SMTP_NO_RECIPIENTS HR_E(0xCC7B) #define IXP_E_SMTP_530_STARTTLS_REQUIRED HR_E(0xCC7C) #define IXP_E_SMTP_NO_STARTTLS_SUPPORT HR_E(0xCC7D) #define IXP_E_SMTP_NO_DSN_SUPPORT HR_E(0xCC7E) #define IXP_E_SMTP_454_STARTTLS_FAILED HR_E(0xCC7F) #define CCHMAX_DOMAIN (256) #define CCHMAX_PHONE_NUMBER (128) #define DEFAULT_IMAP_PORT (143) #define DEFAULT_POP3_PORT (110) #define DEFAULT_SMTP_PORT (25) #define DEFAULT_NNTP_PORT (119) typedef enum tagINETADDRTYPE { ADDR_TO = 0, ADDR_FROM = 1, ADDR_DSN_NEVER = 16, ADDR_DSN_SUCCESS = 32, ADDR_DSN_FAILURE = 64, ADDR_DSN_DELAY = 128 } INETADDRTYPE; #define ADDR_TOFROM_MASK (0x1) #define ADDR_DSN_MASK (0xf0) typedef enum tagDSNRET { DSNRET_DEFAULT = 0, DSNRET_HDRS = 1, DSNRET_FULL = 2 } DSNRET; typedef struct tagINETADDR { INETADDRTYPE addrtype; CHAR szEmail[256]; } INETADDR; typedef struct tagINETADDR *LPINETADDR; typedef struct tagINETADDRLIST { ULONG cAddress; LPINETADDR prgAddress; } INETADDRLIST; typedef struct tagINETADDRLIST *LPINETADDRLIST; typedef enum tagRASCONNTYPE { RAS_CONNECT_LAN = 0, RAS_CONNECT_MANUAL = 1, RAS_CONNECT_RAS = 2 } RASCONNTYPE; typedef enum tagHTTPMAILPROPTYPE { HTTPMAIL_PROP_INVALID = 0, HTTPMAIL_PROP_ADBAR = 1, HTTPMAIL_PROP_CONTACTS = 2, HTTPMAIL_PROP_INBOX = 3, HTTPMAIL_PROP_OUTBOX = 4, HTTPMAIL_PROP_SENDMSG = 5, HTTPMAIL_PROP_SENTITEMS = 6, HTTPMAIL_PROP_DELETEDITEMS = 7, HTTPMAIL_PROP_DRAFTS = 8, HTTPMAIL_PROP_MSGFOLDERROOT = 9, HTTPMAIL_PROP_SIG = 10, HTTPMAIL_PROP_LAST = 11 } HTTPMAILPROPTYPE; typedef enum tagHTTPMAILSPECIALFOLDER { HTTPMAIL_SF_NONE = 0, HTTPMAIL_SF_UNRECOGNIZED = 1, HTTPMAIL_SF_INBOX = 2, HTTPMAIL_SF_DELETEDITEMS = 3, HTTPMAIL_SF_DRAFTS = 4, HTTPMAIL_SF_OUTBOX = 5, HTTPMAIL_SF_SENTITEMS = 6, HTTPMAIL_SF_CONTACTS = 7, HTTPMAIL_SF_CALENDAR = 8, HTTPMAIL_SF_MSNPROMO = 9, HTTPMAIL_SF_LAST = 10 } HTTPMAILSPECIALFOLDER; typedef enum tagHTTPMAILCONTACTTYPE { HTTPMAIL_CT_CONTACT = 0, HTTPMAIL_CT_GROUP = 1, HTTPMAIL_CT_LAST = 2 } HTTPMAILCONTACTTYPE; #define DAVNAMESPACE_UNKNOWN (0xffffffff) #define DAVNAMESPACE_DAV (0) #define DAVNAMESPACE_HOTMAIL (1) #define DAVNAMESPACE_HTTPMAIL (2) #define DAVNAMESPACE_MAIL (3) #define DAVNAMESPACE_CONTACTS (4) #define ISF_SMTP_USEIPFORHELO 0x01 #define ISF_ALWAYSPROMPTFORPASSWORD 0x02 #define ISF_SSLONSAMEPORT 0x04 #define ISF_QUERYDSNSUPPORT 0x08 #define ISF_QUERYAUTHSUPPORT 0x10 typedef struct INETSERVER { CHAR szAccount[256]; CHAR szUserName[256]; CHAR szPassword[256]; CHAR szServerName[256]; CHAR szConnectoid[256]; RASCONNTYPE rasconntype; DWORD dwPort; BOOL fSSL; BOOL fTrySicily; DWORD dwTimeout; DWORD dwFlags; } INETSERVER; typedef struct INETSERVER *LPINETSERVER; typedef enum tagIXPTYPE { IXP_NNTP = 0, IXP_SMTP = 1, IXP_POP3 = 2, IXP_IMAP = 3, IXP_RAS = 4, IXP_HTTPMail = 5 } IXPTYPE; typedef enum tagIXPSTATUS { IXP_FINDINGHOST = 0, IXP_CONNECTING = 1, IXP_SECURING = 2, IXP_CONNECTED = 3, IXP_AUTHORIZING = 4, IXP_AUTHRETRY = 5, IXP_AUTHORIZED = 6, IXP_DISCONNECTING = 7, IXP_DISCONNECTED = 8, IXP_LAST = 9 } IXPSTATUS; #define DEPTH_INFINITY (0xfffffffe) typedef DWORD MEMBERINFOFLAGS; #define HTTP_MEMBERINFO_COMMONPROPS (0x0) #define HTTP_MEMBERINFO_FOLDERPROPS (0x1) #define HTTP_MEMBERINFO_MESSAGEPROPS (0x2) #define HTTP_MEMBERINFO_ALLPROPS (HTTP_MEMBERINFO_FOLDERPROPS | HTTP_MEMBERINFO_MESSAGEPROPS) typedef DWORD IMAP_MSGFLAGS; #define IMAP_MSG_NOFLAGS (0x0) #define IMAP_MSG_ANSWERED (0x1) #define IMAP_MSG_FLAGGED (0x2) #define IMAP_MSG_DELETED (0x4) #define IMAP_MSG_SEEN (0x8) #define IMAP_MSG_DRAFT (0x10) #define IMAP_MSG_ALLFLAGS (0x1f) /***************************************************************************** * ITransportCallbackService interface */ #ifndef __ITransportCallbackService_INTERFACE_DEFINED__ #define __ITransportCallbackService_INTERFACE_DEFINED__ DEFINE_GUID(IID_ITransportCallbackService, 0xca30f3ff, 0xc9ac, 0x11d1, 0x9a,0x3a, 0x00,0xc0,0x4f,0xa3,0x09,0xd4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ca30f3ff-c9ac-11d1-9a3a-00c04fa309d4") ITransportCallbackService : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetParentWindow( DWORD dwReserved, HWND *phwndParent) = 0; virtual HRESULT STDMETHODCALLTYPE GetAccount( LPDWORD pdwServerType, IImnAccount **ppAccount) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ITransportCallbackService, 0xca30f3ff, 0xc9ac, 0x11d1, 0x9a,0x3a, 0x00,0xc0,0x4f,0xa3,0x09,0xd4) #endif #else typedef struct ITransportCallbackServiceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ITransportCallbackService *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ITransportCallbackService *This); ULONG (STDMETHODCALLTYPE *Release)( ITransportCallbackService *This); /*** ITransportCallbackService methods ***/ HRESULT (STDMETHODCALLTYPE *GetParentWindow)( ITransportCallbackService *This, DWORD dwReserved, HWND *phwndParent); HRESULT (STDMETHODCALLTYPE *GetAccount)( ITransportCallbackService *This, LPDWORD pdwServerType, IImnAccount **ppAccount); END_INTERFACE } ITransportCallbackServiceVtbl; interface ITransportCallbackService { CONST_VTBL ITransportCallbackServiceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ITransportCallbackService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ITransportCallbackService_AddRef(This) (This)->lpVtbl->AddRef(This) #define ITransportCallbackService_Release(This) (This)->lpVtbl->Release(This) /*** ITransportCallbackService methods ***/ #define ITransportCallbackService_GetParentWindow(This,dwReserved,phwndParent) (This)->lpVtbl->GetParentWindow(This,dwReserved,phwndParent) #define ITransportCallbackService_GetAccount(This,pdwServerType,ppAccount) (This)->lpVtbl->GetAccount(This,pdwServerType,ppAccount) #else /*** IUnknown methods ***/ static inline HRESULT ITransportCallbackService_QueryInterface(ITransportCallbackService* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ITransportCallbackService_AddRef(ITransportCallbackService* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ITransportCallbackService_Release(ITransportCallbackService* This) { return This->lpVtbl->Release(This); } /*** ITransportCallbackService methods ***/ static inline HRESULT ITransportCallbackService_GetParentWindow(ITransportCallbackService* This,DWORD dwReserved,HWND *phwndParent) { return This->lpVtbl->GetParentWindow(This,dwReserved,phwndParent); } static inline HRESULT ITransportCallbackService_GetAccount(ITransportCallbackService* This,LPDWORD pdwServerType,IImnAccount **ppAccount) { return This->lpVtbl->GetAccount(This,pdwServerType,ppAccount); } #endif #endif #endif #endif /* __ITransportCallbackService_INTERFACE_DEFINED__ */ /***************************************************************************** * ITransportCallback interface */ #ifndef __ITransportCallback_INTERFACE_DEFINED__ #define __ITransportCallback_INTERFACE_DEFINED__ typedef struct tagIXPRESULT { HRESULT hrResult; LPSTR pszResponse; UINT uiServerError; HRESULT hrServerError; DWORD dwSocketError; LPSTR pszProblem; } IXPRESULT; typedef struct tagIXPRESULT *LPIXPRESULT; typedef enum tagCMDTYPE { CMD_SEND = 0, CMD_RESP = 1 } CMDTYPE; DEFINE_GUID(IID_ITransportCallback, 0x0df2c7e1, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0df2c7e1-3435-11d0-81d0-00c04fd85ab4") ITransportCallback : public IUnknown { virtual HRESULT STDMETHODCALLTYPE OnTimeout( DWORD *pdwTimeout, IInternetTransport *pTransport) = 0; virtual HRESULT STDMETHODCALLTYPE OnLogonPrompt( LPINETSERVER pInetServer, IInternetTransport *pTransport) = 0; virtual INT STDMETHODCALLTYPE OnPrompt( HRESULT hrError, LPCSTR pszText, LPCSTR pszCaption, UINT uType, IInternetTransport *pTransport) = 0; virtual HRESULT STDMETHODCALLTYPE OnStatus( IXPSTATUS ixpstatus, IInternetTransport *pTransport) = 0; virtual HRESULT STDMETHODCALLTYPE OnError( IXPSTATUS ixpstatus, LPIXPRESULT pResult, IInternetTransport *pTransport) = 0; virtual HRESULT STDMETHODCALLTYPE OnCommand( CMDTYPE cmdtype, LPSTR pszLine, HRESULT hrResponse, IInternetTransport *pTransport) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ITransportCallback, 0x0df2c7e1, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct ITransportCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ITransportCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ITransportCallback *This); ULONG (STDMETHODCALLTYPE *Release)( ITransportCallback *This); /*** ITransportCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnTimeout)( ITransportCallback *This, DWORD *pdwTimeout, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnLogonPrompt)( ITransportCallback *This, LPINETSERVER pInetServer, IInternetTransport *pTransport); INT (STDMETHODCALLTYPE *OnPrompt)( ITransportCallback *This, HRESULT hrError, LPCSTR pszText, LPCSTR pszCaption, UINT uType, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnStatus)( ITransportCallback *This, IXPSTATUS ixpstatus, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnError)( ITransportCallback *This, IXPSTATUS ixpstatus, LPIXPRESULT pResult, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnCommand)( ITransportCallback *This, CMDTYPE cmdtype, LPSTR pszLine, HRESULT hrResponse, IInternetTransport *pTransport); END_INTERFACE } ITransportCallbackVtbl; interface ITransportCallback { CONST_VTBL ITransportCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ITransportCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ITransportCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define ITransportCallback_Release(This) (This)->lpVtbl->Release(This) /*** ITransportCallback methods ***/ #define ITransportCallback_OnTimeout(This,pdwTimeout,pTransport) (This)->lpVtbl->OnTimeout(This,pdwTimeout,pTransport) #define ITransportCallback_OnLogonPrompt(This,pInetServer,pTransport) (This)->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport) #define ITransportCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) (This)->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) #define ITransportCallback_OnStatus(This,ixpstatus,pTransport) (This)->lpVtbl->OnStatus(This,ixpstatus,pTransport) #define ITransportCallback_OnError(This,ixpstatus,pResult,pTransport) (This)->lpVtbl->OnError(This,ixpstatus,pResult,pTransport) #define ITransportCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) (This)->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) #else /*** IUnknown methods ***/ static inline HRESULT ITransportCallback_QueryInterface(ITransportCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ITransportCallback_AddRef(ITransportCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ITransportCallback_Release(ITransportCallback* This) { return This->lpVtbl->Release(This); } /*** ITransportCallback methods ***/ static inline HRESULT ITransportCallback_OnTimeout(ITransportCallback* This,DWORD *pdwTimeout,IInternetTransport *pTransport) { return This->lpVtbl->OnTimeout(This,pdwTimeout,pTransport); } static inline HRESULT ITransportCallback_OnLogonPrompt(ITransportCallback* This,LPINETSERVER pInetServer,IInternetTransport *pTransport) { return This->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport); } static inline INT ITransportCallback_OnPrompt(ITransportCallback* This,HRESULT hrError,LPCSTR pszText,LPCSTR pszCaption,UINT uType,IInternetTransport *pTransport) { return This->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport); } static inline HRESULT ITransportCallback_OnStatus(ITransportCallback* This,IXPSTATUS ixpstatus,IInternetTransport *pTransport) { return This->lpVtbl->OnStatus(This,ixpstatus,pTransport); } static inline HRESULT ITransportCallback_OnError(ITransportCallback* This,IXPSTATUS ixpstatus,LPIXPRESULT pResult,IInternetTransport *pTransport) { return This->lpVtbl->OnError(This,ixpstatus,pResult,pTransport); } static inline HRESULT ITransportCallback_OnCommand(ITransportCallback* This,CMDTYPE cmdtype,LPSTR pszLine,HRESULT hrResponse,IInternetTransport *pTransport) { return This->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport); } #endif #endif #endif #endif /* __ITransportCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IInternetTransport interface */ #ifndef __IInternetTransport_INTERFACE_DEFINED__ #define __IInternetTransport_INTERFACE_DEFINED__ #define iitAUTHENTICATE (TRUE) #define iitDONT_AUTHENTICATe (FALSE) #define iitENABLE_ONCOMMAND (TRUE) #define iitDISABLE_ONCOMMAND (FALSE) typedef enum tagIXPISSTATE { IXP_IS_CONNECTED = 0, IXP_IS_BUSY = 1, IXP_IS_READY = 2, IXP_IS_AUTHENTICATED = 3 } IXPISSTATE; DEFINE_GUID(IID_IInternetTransport, 0x1f636c01, 0x364e, 0x11d0, 0x81,0xd3, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1f636c01-364e-11d0-81d3-00c04fd85ab4") IInternetTransport : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetServerInfo( LPINETSERVER pInetServer) = 0; virtual IXPTYPE STDMETHODCALLTYPE GetIXPType( ) = 0; virtual HRESULT STDMETHODCALLTYPE IsState( IXPISSTATE isstate) = 0; virtual HRESULT STDMETHODCALLTYPE InetServerFromAccount( IImnAccount *pAccount, LPINETSERVER pInetServer) = 0; virtual HRESULT STDMETHODCALLTYPE Connect( LPINETSERVER pInetServer, boolean fAuthenticate, boolean fCommandLogging) = 0; virtual HRESULT STDMETHODCALLTYPE HandsOffCallback( ) = 0; virtual HRESULT STDMETHODCALLTYPE Disconnect( ) = 0; virtual HRESULT STDMETHODCALLTYPE DropConnection( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetStatus( IXPSTATUS *pCurrentStatus) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IInternetTransport, 0x1f636c01, 0x364e, 0x11d0, 0x81,0xd3, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IInternetTransportVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IInternetTransport *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IInternetTransport *This); ULONG (STDMETHODCALLTYPE *Release)( IInternetTransport *This); /*** IInternetTransport methods ***/ HRESULT (STDMETHODCALLTYPE *GetServerInfo)( IInternetTransport *This, LPINETSERVER pInetServer); IXPTYPE (STDMETHODCALLTYPE *GetIXPType)( IInternetTransport *This); HRESULT (STDMETHODCALLTYPE *IsState)( IInternetTransport *This, IXPISSTATE isstate); HRESULT (STDMETHODCALLTYPE *InetServerFromAccount)( IInternetTransport *This, IImnAccount *pAccount, LPINETSERVER pInetServer); HRESULT (STDMETHODCALLTYPE *Connect)( IInternetTransport *This, LPINETSERVER pInetServer, boolean fAuthenticate, boolean fCommandLogging); HRESULT (STDMETHODCALLTYPE *HandsOffCallback)( IInternetTransport *This); HRESULT (STDMETHODCALLTYPE *Disconnect)( IInternetTransport *This); HRESULT (STDMETHODCALLTYPE *DropConnection)( IInternetTransport *This); HRESULT (STDMETHODCALLTYPE *GetStatus)( IInternetTransport *This, IXPSTATUS *pCurrentStatus); END_INTERFACE } IInternetTransportVtbl; interface IInternetTransport { CONST_VTBL IInternetTransportVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IInternetTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IInternetTransport_AddRef(This) (This)->lpVtbl->AddRef(This) #define IInternetTransport_Release(This) (This)->lpVtbl->Release(This) /*** IInternetTransport methods ***/ #define IInternetTransport_GetServerInfo(This,pInetServer) (This)->lpVtbl->GetServerInfo(This,pInetServer) #define IInternetTransport_GetIXPType(This) (This)->lpVtbl->GetIXPType(This) #define IInternetTransport_IsState(This,isstate) (This)->lpVtbl->IsState(This,isstate) #define IInternetTransport_InetServerFromAccount(This,pAccount,pInetServer) (This)->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer) #define IInternetTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) (This)->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging) #define IInternetTransport_HandsOffCallback(This) (This)->lpVtbl->HandsOffCallback(This) #define IInternetTransport_Disconnect(This) (This)->lpVtbl->Disconnect(This) #define IInternetTransport_DropConnection(This) (This)->lpVtbl->DropConnection(This) #define IInternetTransport_GetStatus(This,pCurrentStatus) (This)->lpVtbl->GetStatus(This,pCurrentStatus) #else /*** IUnknown methods ***/ static inline HRESULT IInternetTransport_QueryInterface(IInternetTransport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IInternetTransport_AddRef(IInternetTransport* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IInternetTransport_Release(IInternetTransport* This) { return This->lpVtbl->Release(This); } /*** IInternetTransport methods ***/ static inline HRESULT IInternetTransport_GetServerInfo(IInternetTransport* This,LPINETSERVER pInetServer) { return This->lpVtbl->GetServerInfo(This,pInetServer); } static inline IXPTYPE IInternetTransport_GetIXPType(IInternetTransport* This) { return This->lpVtbl->GetIXPType(This); } static inline HRESULT IInternetTransport_IsState(IInternetTransport* This,IXPISSTATE isstate) { return This->lpVtbl->IsState(This,isstate); } static inline HRESULT IInternetTransport_InetServerFromAccount(IInternetTransport* This,IImnAccount *pAccount,LPINETSERVER pInetServer) { return This->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer); } static inline HRESULT IInternetTransport_Connect(IInternetTransport* This,LPINETSERVER pInetServer,boolean fAuthenticate,boolean fCommandLogging) { return This->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging); } static inline HRESULT IInternetTransport_HandsOffCallback(IInternetTransport* This) { return This->lpVtbl->HandsOffCallback(This); } static inline HRESULT IInternetTransport_Disconnect(IInternetTransport* This) { return This->lpVtbl->Disconnect(This); } static inline HRESULT IInternetTransport_DropConnection(IInternetTransport* This) { return This->lpVtbl->DropConnection(This); } static inline HRESULT IInternetTransport_GetStatus(IInternetTransport* This,IXPSTATUS *pCurrentStatus) { return This->lpVtbl->GetStatus(This,pCurrentStatus); } #endif #endif #endif #endif /* __IInternetTransport_INTERFACE_DEFINED__ */ /***************************************************************************** * ISMTPCallback interface */ #ifndef __ISMTPCallback_INTERFACE_DEFINED__ #define __ISMTPCallback_INTERFACE_DEFINED__ typedef enum tagSMTPCOMMAND { SMTP_NONE = 0, SMTP_BANNER = 1, SMTP_CONNECTED = 2, SMTP_SEND_MESSAGE = 3, SMTP_AUTH = 4, SMTP_EHLO = 5, SMTP_HELO = 6, SMTP_MAIL = 7, SMTP_RCPT = 8, SMTP_RSET = 9, SMTP_QUIT = 10, SMTP_DATA = 11, SMTP_DOT = 12, SMTP_SEND_STREAM = 13, SMTP_CUSTOM = 14 } SMTPCOMMAND; typedef struct tagSMTPSTREAM { DWORD cbIncrement; DWORD cbCurrent; DWORD cbTotal; } SMTPSTREAM; typedef struct tagSMTPSTREAM *LPSMTPSTREAM; typedef struct tagSMTPRESPONSE { SMTPCOMMAND command; BOOL fDone; IXPRESULT rIxpResult; ISMTPTransport *pTransport; __C89_NAMELESS union { SMTPSTREAM rStreamInfo; } __C89_NAMELESSUNIONNAME; } SMTPRESPONSE; typedef struct tagSMTPRESPONSE *LPSMTPRESPONSE; DEFINE_GUID(IID_ISMTPCallback, 0x1f636c02, 0x364e, 0x11d0, 0x81,0xd3, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1f636c02-364e-11d0-81d3-00c04fd85ab4") ISMTPCallback : public ITransportCallback { virtual HRESULT STDMETHODCALLTYPE OnResponse( LPSMTPRESPONSE pResponse) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISMTPCallback, 0x1f636c02, 0x364e, 0x11d0, 0x81,0xd3, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct ISMTPCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISMTPCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISMTPCallback *This); ULONG (STDMETHODCALLTYPE *Release)( ISMTPCallback *This); /*** ITransportCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnTimeout)( ISMTPCallback *This, DWORD *pdwTimeout, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnLogonPrompt)( ISMTPCallback *This, LPINETSERVER pInetServer, IInternetTransport *pTransport); INT (STDMETHODCALLTYPE *OnPrompt)( ISMTPCallback *This, HRESULT hrError, LPCSTR pszText, LPCSTR pszCaption, UINT uType, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnStatus)( ISMTPCallback *This, IXPSTATUS ixpstatus, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnError)( ISMTPCallback *This, IXPSTATUS ixpstatus, LPIXPRESULT pResult, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnCommand)( ISMTPCallback *This, CMDTYPE cmdtype, LPSTR pszLine, HRESULT hrResponse, IInternetTransport *pTransport); /*** ISMTPCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnResponse)( ISMTPCallback *This, LPSMTPRESPONSE pResponse); END_INTERFACE } ISMTPCallbackVtbl; interface ISMTPCallback { CONST_VTBL ISMTPCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISMTPCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISMTPCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISMTPCallback_Release(This) (This)->lpVtbl->Release(This) /*** ITransportCallback methods ***/ #define ISMTPCallback_OnTimeout(This,pdwTimeout,pTransport) (This)->lpVtbl->OnTimeout(This,pdwTimeout,pTransport) #define ISMTPCallback_OnLogonPrompt(This,pInetServer,pTransport) (This)->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport) #define ISMTPCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) (This)->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) #define ISMTPCallback_OnStatus(This,ixpstatus,pTransport) (This)->lpVtbl->OnStatus(This,ixpstatus,pTransport) #define ISMTPCallback_OnError(This,ixpstatus,pResult,pTransport) (This)->lpVtbl->OnError(This,ixpstatus,pResult,pTransport) #define ISMTPCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) (This)->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) /*** ISMTPCallback methods ***/ #define ISMTPCallback_OnResponse(This,pResponse) (This)->lpVtbl->OnResponse(This,pResponse) #else /*** IUnknown methods ***/ static inline HRESULT ISMTPCallback_QueryInterface(ISMTPCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ISMTPCallback_AddRef(ISMTPCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ISMTPCallback_Release(ISMTPCallback* This) { return This->lpVtbl->Release(This); } /*** ITransportCallback methods ***/ static inline HRESULT ISMTPCallback_OnTimeout(ISMTPCallback* This,DWORD *pdwTimeout,IInternetTransport *pTransport) { return This->lpVtbl->OnTimeout(This,pdwTimeout,pTransport); } static inline HRESULT ISMTPCallback_OnLogonPrompt(ISMTPCallback* This,LPINETSERVER pInetServer,IInternetTransport *pTransport) { return This->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport); } static inline INT ISMTPCallback_OnPrompt(ISMTPCallback* This,HRESULT hrError,LPCSTR pszText,LPCSTR pszCaption,UINT uType,IInternetTransport *pTransport) { return This->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport); } static inline HRESULT ISMTPCallback_OnStatus(ISMTPCallback* This,IXPSTATUS ixpstatus,IInternetTransport *pTransport) { return This->lpVtbl->OnStatus(This,ixpstatus,pTransport); } static inline HRESULT ISMTPCallback_OnError(ISMTPCallback* This,IXPSTATUS ixpstatus,LPIXPRESULT pResult,IInternetTransport *pTransport) { return This->lpVtbl->OnError(This,ixpstatus,pResult,pTransport); } static inline HRESULT ISMTPCallback_OnCommand(ISMTPCallback* This,CMDTYPE cmdtype,LPSTR pszLine,HRESULT hrResponse,IInternetTransport *pTransport) { return This->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport); } /*** ISMTPCallback methods ***/ static inline HRESULT ISMTPCallback_OnResponse(ISMTPCallback* This,LPSMTPRESPONSE pResponse) { return This->lpVtbl->OnResponse(This,pResponse); } #endif #endif #endif #endif /* __ISMTPCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * ISMTPTransport interface */ #ifndef __ISMTPTransport_INTERFACE_DEFINED__ #define __ISMTPTransport_INTERFACE_DEFINED__ typedef struct tagSMTPMESSAGE { ULONG cbSize; LPSTREAM pstmMsg; INETADDRLIST rAddressList; } SMTPMESSAGE; typedef struct tagSMTPMESSAGE *LPSMTPMESSAGE; #ifdef WINE_NO_UNICODE_MACROS #undef SendMessage #endif DEFINE_GUID(IID_ISMTPTransport, 0x0df2c7e2, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0df2c7e2-3435-11d0-81d0-00c04fd85ab4") ISMTPTransport : public IInternetTransport { virtual HRESULT STDMETHODCALLTYPE InitNew( LPSTR pszLogFilePath, ISMTPCallback *pCallback) = 0; virtual HRESULT STDMETHODCALLTYPE SendMessage( LPSMTPMESSAGE pMessage) = 0; virtual HRESULT STDMETHODCALLTYPE CommandMAIL( LPSTR pszEmailFrom) = 0; virtual HRESULT STDMETHODCALLTYPE CommandRCPT( LPSTR pszEmailTo) = 0; virtual HRESULT STDMETHODCALLTYPE CommandEHLO( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandHELO( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandAUTH( LPSTR pszAuthType) = 0; virtual HRESULT STDMETHODCALLTYPE CommandQUIT( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandRSET( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandDATA( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandDOT( ) = 0; virtual HRESULT STDMETHODCALLTYPE SendDataStream( IStream *pStream, ULONG cbSize) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISMTPTransport, 0x0df2c7e2, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct ISMTPTransportVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISMTPTransport *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISMTPTransport *This); ULONG (STDMETHODCALLTYPE *Release)( ISMTPTransport *This); /*** IInternetTransport methods ***/ HRESULT (STDMETHODCALLTYPE *GetServerInfo)( ISMTPTransport *This, LPINETSERVER pInetServer); IXPTYPE (STDMETHODCALLTYPE *GetIXPType)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *IsState)( ISMTPTransport *This, IXPISSTATE isstate); HRESULT (STDMETHODCALLTYPE *InetServerFromAccount)( ISMTPTransport *This, IImnAccount *pAccount, LPINETSERVER pInetServer); HRESULT (STDMETHODCALLTYPE *Connect)( ISMTPTransport *This, LPINETSERVER pInetServer, boolean fAuthenticate, boolean fCommandLogging); HRESULT (STDMETHODCALLTYPE *HandsOffCallback)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *Disconnect)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *DropConnection)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *GetStatus)( ISMTPTransport *This, IXPSTATUS *pCurrentStatus); /*** ISMTPTransport methods ***/ HRESULT (STDMETHODCALLTYPE *InitNew)( ISMTPTransport *This, LPSTR pszLogFilePath, ISMTPCallback *pCallback); HRESULT (STDMETHODCALLTYPE *SendMessage)( ISMTPTransport *This, LPSMTPMESSAGE pMessage); HRESULT (STDMETHODCALLTYPE *CommandMAIL)( ISMTPTransport *This, LPSTR pszEmailFrom); HRESULT (STDMETHODCALLTYPE *CommandRCPT)( ISMTPTransport *This, LPSTR pszEmailTo); HRESULT (STDMETHODCALLTYPE *CommandEHLO)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *CommandHELO)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *CommandAUTH)( ISMTPTransport *This, LPSTR pszAuthType); HRESULT (STDMETHODCALLTYPE *CommandQUIT)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *CommandRSET)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *CommandDATA)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *CommandDOT)( ISMTPTransport *This); HRESULT (STDMETHODCALLTYPE *SendDataStream)( ISMTPTransport *This, IStream *pStream, ULONG cbSize); END_INTERFACE } ISMTPTransportVtbl; interface ISMTPTransport { CONST_VTBL ISMTPTransportVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISMTPTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISMTPTransport_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISMTPTransport_Release(This) (This)->lpVtbl->Release(This) /*** IInternetTransport methods ***/ #define ISMTPTransport_GetServerInfo(This,pInetServer) (This)->lpVtbl->GetServerInfo(This,pInetServer) #define ISMTPTransport_GetIXPType(This) (This)->lpVtbl->GetIXPType(This) #define ISMTPTransport_IsState(This,isstate) (This)->lpVtbl->IsState(This,isstate) #define ISMTPTransport_InetServerFromAccount(This,pAccount,pInetServer) (This)->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer) #define ISMTPTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) (This)->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging) #define ISMTPTransport_HandsOffCallback(This) (This)->lpVtbl->HandsOffCallback(This) #define ISMTPTransport_Disconnect(This) (This)->lpVtbl->Disconnect(This) #define ISMTPTransport_DropConnection(This) (This)->lpVtbl->DropConnection(This) #define ISMTPTransport_GetStatus(This,pCurrentStatus) (This)->lpVtbl->GetStatus(This,pCurrentStatus) /*** ISMTPTransport methods ***/ #define ISMTPTransport_InitNew(This,pszLogFilePath,pCallback) (This)->lpVtbl->InitNew(This,pszLogFilePath,pCallback) #define ISMTPTransport_SendMessage(This,pMessage) (This)->lpVtbl->SendMessage(This,pMessage) #define ISMTPTransport_CommandMAIL(This,pszEmailFrom) (This)->lpVtbl->CommandMAIL(This,pszEmailFrom) #define ISMTPTransport_CommandRCPT(This,pszEmailTo) (This)->lpVtbl->CommandRCPT(This,pszEmailTo) #define ISMTPTransport_CommandEHLO(This) (This)->lpVtbl->CommandEHLO(This) #define ISMTPTransport_CommandHELO(This) (This)->lpVtbl->CommandHELO(This) #define ISMTPTransport_CommandAUTH(This,pszAuthType) (This)->lpVtbl->CommandAUTH(This,pszAuthType) #define ISMTPTransport_CommandQUIT(This) (This)->lpVtbl->CommandQUIT(This) #define ISMTPTransport_CommandRSET(This) (This)->lpVtbl->CommandRSET(This) #define ISMTPTransport_CommandDATA(This) (This)->lpVtbl->CommandDATA(This) #define ISMTPTransport_CommandDOT(This) (This)->lpVtbl->CommandDOT(This) #define ISMTPTransport_SendDataStream(This,pStream,cbSize) (This)->lpVtbl->SendDataStream(This,pStream,cbSize) #else /*** IUnknown methods ***/ static inline HRESULT ISMTPTransport_QueryInterface(ISMTPTransport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ISMTPTransport_AddRef(ISMTPTransport* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ISMTPTransport_Release(ISMTPTransport* This) { return This->lpVtbl->Release(This); } /*** IInternetTransport methods ***/ static inline HRESULT ISMTPTransport_GetServerInfo(ISMTPTransport* This,LPINETSERVER pInetServer) { return This->lpVtbl->GetServerInfo(This,pInetServer); } static inline IXPTYPE ISMTPTransport_GetIXPType(ISMTPTransport* This) { return This->lpVtbl->GetIXPType(This); } static inline HRESULT ISMTPTransport_IsState(ISMTPTransport* This,IXPISSTATE isstate) { return This->lpVtbl->IsState(This,isstate); } static inline HRESULT ISMTPTransport_InetServerFromAccount(ISMTPTransport* This,IImnAccount *pAccount,LPINETSERVER pInetServer) { return This->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer); } static inline HRESULT ISMTPTransport_Connect(ISMTPTransport* This,LPINETSERVER pInetServer,boolean fAuthenticate,boolean fCommandLogging) { return This->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging); } static inline HRESULT ISMTPTransport_HandsOffCallback(ISMTPTransport* This) { return This->lpVtbl->HandsOffCallback(This); } static inline HRESULT ISMTPTransport_Disconnect(ISMTPTransport* This) { return This->lpVtbl->Disconnect(This); } static inline HRESULT ISMTPTransport_DropConnection(ISMTPTransport* This) { return This->lpVtbl->DropConnection(This); } static inline HRESULT ISMTPTransport_GetStatus(ISMTPTransport* This,IXPSTATUS *pCurrentStatus) { return This->lpVtbl->GetStatus(This,pCurrentStatus); } /*** ISMTPTransport methods ***/ static inline HRESULT ISMTPTransport_InitNew(ISMTPTransport* This,LPSTR pszLogFilePath,ISMTPCallback *pCallback) { return This->lpVtbl->InitNew(This,pszLogFilePath,pCallback); } static inline HRESULT ISMTPTransport_SendMessage(ISMTPTransport* This,LPSMTPMESSAGE pMessage) { return This->lpVtbl->SendMessage(This,pMessage); } static inline HRESULT ISMTPTransport_CommandMAIL(ISMTPTransport* This,LPSTR pszEmailFrom) { return This->lpVtbl->CommandMAIL(This,pszEmailFrom); } static inline HRESULT ISMTPTransport_CommandRCPT(ISMTPTransport* This,LPSTR pszEmailTo) { return This->lpVtbl->CommandRCPT(This,pszEmailTo); } static inline HRESULT ISMTPTransport_CommandEHLO(ISMTPTransport* This) { return This->lpVtbl->CommandEHLO(This); } static inline HRESULT ISMTPTransport_CommandHELO(ISMTPTransport* This) { return This->lpVtbl->CommandHELO(This); } static inline HRESULT ISMTPTransport_CommandAUTH(ISMTPTransport* This,LPSTR pszAuthType) { return This->lpVtbl->CommandAUTH(This,pszAuthType); } static inline HRESULT ISMTPTransport_CommandQUIT(ISMTPTransport* This) { return This->lpVtbl->CommandQUIT(This); } static inline HRESULT ISMTPTransport_CommandRSET(ISMTPTransport* This) { return This->lpVtbl->CommandRSET(This); } static inline HRESULT ISMTPTransport_CommandDATA(ISMTPTransport* This) { return This->lpVtbl->CommandDATA(This); } static inline HRESULT ISMTPTransport_CommandDOT(ISMTPTransport* This) { return This->lpVtbl->CommandDOT(This); } static inline HRESULT ISMTPTransport_SendDataStream(ISMTPTransport* This,IStream *pStream,ULONG cbSize) { return This->lpVtbl->SendDataStream(This,pStream,cbSize); } #endif #endif #endif #endif /* __ISMTPTransport_INTERFACE_DEFINED__ */ /***************************************************************************** * ISMTPTransport2 interface */ #ifndef __ISMTPTransport2_INTERFACE_DEFINED__ #define __ISMTPTransport2_INTERFACE_DEFINED__ typedef struct tagSMTPMESSAGE2 { SMTPMESSAGE smtpMsg; LPSTR pszDSNENVID; DSNRET dsnRet; DWORD dwReserved; DWORD dwReserved2; } SMTPMESSAGE2; typedef struct tagSMTPMESSAGE2 *LPSMTPMESSAGE2; DEFINE_GUID(IID_ISMTPTransport2, 0x0df2c7ec, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0df2c7ec-3435-11d0-81d0-00c04fd85ab4") ISMTPTransport2 : public ISMTPTransport { virtual HRESULT STDMETHODCALLTYPE SetWindow( ) = 0; virtual HRESULT STDMETHODCALLTYPE ResetWindow( ) = 0; virtual HRESULT STDMETHODCALLTYPE SendMessage2( LPSMTPMESSAGE2 pMessage) = 0; virtual HRESULT STDMETHODCALLTYPE CommandRCPT2( LPSTR pszEmailTo, INETADDRTYPE atDSN) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ISMTPTransport2, 0x0df2c7ec, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct ISMTPTransport2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ISMTPTransport2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ISMTPTransport2 *This); ULONG (STDMETHODCALLTYPE *Release)( ISMTPTransport2 *This); /*** IInternetTransport methods ***/ HRESULT (STDMETHODCALLTYPE *GetServerInfo)( ISMTPTransport2 *This, LPINETSERVER pInetServer); IXPTYPE (STDMETHODCALLTYPE *GetIXPType)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *IsState)( ISMTPTransport2 *This, IXPISSTATE isstate); HRESULT (STDMETHODCALLTYPE *InetServerFromAccount)( ISMTPTransport2 *This, IImnAccount *pAccount, LPINETSERVER pInetServer); HRESULT (STDMETHODCALLTYPE *Connect)( ISMTPTransport2 *This, LPINETSERVER pInetServer, boolean fAuthenticate, boolean fCommandLogging); HRESULT (STDMETHODCALLTYPE *HandsOffCallback)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *Disconnect)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *DropConnection)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *GetStatus)( ISMTPTransport2 *This, IXPSTATUS *pCurrentStatus); /*** ISMTPTransport methods ***/ HRESULT (STDMETHODCALLTYPE *InitNew)( ISMTPTransport2 *This, LPSTR pszLogFilePath, ISMTPCallback *pCallback); HRESULT (STDMETHODCALLTYPE *SendMessage)( ISMTPTransport2 *This, LPSMTPMESSAGE pMessage); HRESULT (STDMETHODCALLTYPE *CommandMAIL)( ISMTPTransport2 *This, LPSTR pszEmailFrom); HRESULT (STDMETHODCALLTYPE *CommandRCPT)( ISMTPTransport2 *This, LPSTR pszEmailTo); HRESULT (STDMETHODCALLTYPE *CommandEHLO)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *CommandHELO)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *CommandAUTH)( ISMTPTransport2 *This, LPSTR pszAuthType); HRESULT (STDMETHODCALLTYPE *CommandQUIT)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *CommandRSET)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *CommandDATA)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *CommandDOT)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *SendDataStream)( ISMTPTransport2 *This, IStream *pStream, ULONG cbSize); /*** ISMTPTransport2 methods ***/ HRESULT (STDMETHODCALLTYPE *SetWindow)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *ResetWindow)( ISMTPTransport2 *This); HRESULT (STDMETHODCALLTYPE *SendMessage2)( ISMTPTransport2 *This, LPSMTPMESSAGE2 pMessage); HRESULT (STDMETHODCALLTYPE *CommandRCPT2)( ISMTPTransport2 *This, LPSTR pszEmailTo, INETADDRTYPE atDSN); END_INTERFACE } ISMTPTransport2Vtbl; interface ISMTPTransport2 { CONST_VTBL ISMTPTransport2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ISMTPTransport2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ISMTPTransport2_AddRef(This) (This)->lpVtbl->AddRef(This) #define ISMTPTransport2_Release(This) (This)->lpVtbl->Release(This) /*** IInternetTransport methods ***/ #define ISMTPTransport2_GetServerInfo(This,pInetServer) (This)->lpVtbl->GetServerInfo(This,pInetServer) #define ISMTPTransport2_GetIXPType(This) (This)->lpVtbl->GetIXPType(This) #define ISMTPTransport2_IsState(This,isstate) (This)->lpVtbl->IsState(This,isstate) #define ISMTPTransport2_InetServerFromAccount(This,pAccount,pInetServer) (This)->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer) #define ISMTPTransport2_Connect(This,pInetServer,fAuthenticate,fCommandLogging) (This)->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging) #define ISMTPTransport2_HandsOffCallback(This) (This)->lpVtbl->HandsOffCallback(This) #define ISMTPTransport2_Disconnect(This) (This)->lpVtbl->Disconnect(This) #define ISMTPTransport2_DropConnection(This) (This)->lpVtbl->DropConnection(This) #define ISMTPTransport2_GetStatus(This,pCurrentStatus) (This)->lpVtbl->GetStatus(This,pCurrentStatus) /*** ISMTPTransport methods ***/ #define ISMTPTransport2_InitNew(This,pszLogFilePath,pCallback) (This)->lpVtbl->InitNew(This,pszLogFilePath,pCallback) #define ISMTPTransport2_SendMessage(This,pMessage) (This)->lpVtbl->SendMessage(This,pMessage) #define ISMTPTransport2_CommandMAIL(This,pszEmailFrom) (This)->lpVtbl->CommandMAIL(This,pszEmailFrom) #define ISMTPTransport2_CommandRCPT(This,pszEmailTo) (This)->lpVtbl->CommandRCPT(This,pszEmailTo) #define ISMTPTransport2_CommandEHLO(This) (This)->lpVtbl->CommandEHLO(This) #define ISMTPTransport2_CommandHELO(This) (This)->lpVtbl->CommandHELO(This) #define ISMTPTransport2_CommandAUTH(This,pszAuthType) (This)->lpVtbl->CommandAUTH(This,pszAuthType) #define ISMTPTransport2_CommandQUIT(This) (This)->lpVtbl->CommandQUIT(This) #define ISMTPTransport2_CommandRSET(This) (This)->lpVtbl->CommandRSET(This) #define ISMTPTransport2_CommandDATA(This) (This)->lpVtbl->CommandDATA(This) #define ISMTPTransport2_CommandDOT(This) (This)->lpVtbl->CommandDOT(This) #define ISMTPTransport2_SendDataStream(This,pStream,cbSize) (This)->lpVtbl->SendDataStream(This,pStream,cbSize) /*** ISMTPTransport2 methods ***/ #define ISMTPTransport2_SetWindow(This) (This)->lpVtbl->SetWindow(This) #define ISMTPTransport2_ResetWindow(This) (This)->lpVtbl->ResetWindow(This) #define ISMTPTransport2_SendMessage2(This,pMessage) (This)->lpVtbl->SendMessage2(This,pMessage) #define ISMTPTransport2_CommandRCPT2(This,pszEmailTo,atDSN) (This)->lpVtbl->CommandRCPT2(This,pszEmailTo,atDSN) #else /*** IUnknown methods ***/ static inline HRESULT ISMTPTransport2_QueryInterface(ISMTPTransport2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG ISMTPTransport2_AddRef(ISMTPTransport2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG ISMTPTransport2_Release(ISMTPTransport2* This) { return This->lpVtbl->Release(This); } /*** IInternetTransport methods ***/ static inline HRESULT ISMTPTransport2_GetServerInfo(ISMTPTransport2* This,LPINETSERVER pInetServer) { return This->lpVtbl->GetServerInfo(This,pInetServer); } static inline IXPTYPE ISMTPTransport2_GetIXPType(ISMTPTransport2* This) { return This->lpVtbl->GetIXPType(This); } static inline HRESULT ISMTPTransport2_IsState(ISMTPTransport2* This,IXPISSTATE isstate) { return This->lpVtbl->IsState(This,isstate); } static inline HRESULT ISMTPTransport2_InetServerFromAccount(ISMTPTransport2* This,IImnAccount *pAccount,LPINETSERVER pInetServer) { return This->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer); } static inline HRESULT ISMTPTransport2_Connect(ISMTPTransport2* This,LPINETSERVER pInetServer,boolean fAuthenticate,boolean fCommandLogging) { return This->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging); } static inline HRESULT ISMTPTransport2_HandsOffCallback(ISMTPTransport2* This) { return This->lpVtbl->HandsOffCallback(This); } static inline HRESULT ISMTPTransport2_Disconnect(ISMTPTransport2* This) { return This->lpVtbl->Disconnect(This); } static inline HRESULT ISMTPTransport2_DropConnection(ISMTPTransport2* This) { return This->lpVtbl->DropConnection(This); } static inline HRESULT ISMTPTransport2_GetStatus(ISMTPTransport2* This,IXPSTATUS *pCurrentStatus) { return This->lpVtbl->GetStatus(This,pCurrentStatus); } /*** ISMTPTransport methods ***/ static inline HRESULT ISMTPTransport2_InitNew(ISMTPTransport2* This,LPSTR pszLogFilePath,ISMTPCallback *pCallback) { return This->lpVtbl->InitNew(This,pszLogFilePath,pCallback); } static inline HRESULT ISMTPTransport2_SendMessage(ISMTPTransport2* This,LPSMTPMESSAGE pMessage) { return This->lpVtbl->SendMessage(This,pMessage); } static inline HRESULT ISMTPTransport2_CommandMAIL(ISMTPTransport2* This,LPSTR pszEmailFrom) { return This->lpVtbl->CommandMAIL(This,pszEmailFrom); } static inline HRESULT ISMTPTransport2_CommandRCPT(ISMTPTransport2* This,LPSTR pszEmailTo) { return This->lpVtbl->CommandRCPT(This,pszEmailTo); } static inline HRESULT ISMTPTransport2_CommandEHLO(ISMTPTransport2* This) { return This->lpVtbl->CommandEHLO(This); } static inline HRESULT ISMTPTransport2_CommandHELO(ISMTPTransport2* This) { return This->lpVtbl->CommandHELO(This); } static inline HRESULT ISMTPTransport2_CommandAUTH(ISMTPTransport2* This,LPSTR pszAuthType) { return This->lpVtbl->CommandAUTH(This,pszAuthType); } static inline HRESULT ISMTPTransport2_CommandQUIT(ISMTPTransport2* This) { return This->lpVtbl->CommandQUIT(This); } static inline HRESULT ISMTPTransport2_CommandRSET(ISMTPTransport2* This) { return This->lpVtbl->CommandRSET(This); } static inline HRESULT ISMTPTransport2_CommandDATA(ISMTPTransport2* This) { return This->lpVtbl->CommandDATA(This); } static inline HRESULT ISMTPTransport2_CommandDOT(ISMTPTransport2* This) { return This->lpVtbl->CommandDOT(This); } static inline HRESULT ISMTPTransport2_SendDataStream(ISMTPTransport2* This,IStream *pStream,ULONG cbSize) { return This->lpVtbl->SendDataStream(This,pStream,cbSize); } /*** ISMTPTransport2 methods ***/ static inline HRESULT ISMTPTransport2_SetWindow(ISMTPTransport2* This) { return This->lpVtbl->SetWindow(This); } static inline HRESULT ISMTPTransport2_ResetWindow(ISMTPTransport2* This) { return This->lpVtbl->ResetWindow(This); } static inline HRESULT ISMTPTransport2_SendMessage2(ISMTPTransport2* This,LPSMTPMESSAGE2 pMessage) { return This->lpVtbl->SendMessage2(This,pMessage); } static inline HRESULT ISMTPTransport2_CommandRCPT2(ISMTPTransport2* This,LPSTR pszEmailTo,INETADDRTYPE atDSN) { return This->lpVtbl->CommandRCPT2(This,pszEmailTo,atDSN); } #endif #endif #endif #endif /* __ISMTPTransport2_INTERFACE_DEFINED__ */ /***************************************************************************** * IPOP3Callback interface */ #ifndef __IPOP3Callback_INTERFACE_DEFINED__ #define __IPOP3Callback_INTERFACE_DEFINED__ typedef enum tagPOP3COMMAND { POP3_NONE = 0, POP3_BANNER = 1, POP3_CONNECTED = 2, POP3_USER = 3, POP3_PASS = 4, POP3_AUTH = 5, POP3_UIDL = 6, POP3_STAT = 7, POP3_LIST = 8, POP3_DELE = 9, POP3_RETR = 10, POP3_TOP = 11, POP3_NOOP = 12, POP3_QUIT = 13, POP3_RSET = 14, POP3_CUSTOM = 15 } POP3COMMAND; typedef struct tagPOP3RETR { BOOL fHeader; BOOL fBody; DWORD dwPopId; DWORD cbSoFar; LPSTR pszLines; ULONG cbLines; } POP3RETR; typedef struct tagPOP3RETR *LPPOP3RETR; typedef struct tagPOP3TOP { BOOL fHeader; BOOL fBody; DWORD dwPopId; DWORD cPreviewLines; DWORD cbSoFar; LPSTR pszLines; ULONG cbLines; } POP3TOP; typedef struct tagPOP3TOP *LPPOP3TOP; typedef struct tagPOP3LIST { DWORD dwPopId; DWORD cbSize; } POP3LIST; typedef struct tagPOP3LIST *LPPOP3LIST; typedef struct tagPOP3UIDL { DWORD dwPopId; LPSTR pszUidl; } POP3UIDL; typedef struct tagPOP3UIDL *LPPOP3UIDL; typedef struct tagPOP3STAT { DWORD cMessages; DWORD cbMessages; } POP3STAT; typedef struct tagPOP3STAT *LPPOP3STAT; typedef struct tagPOP3RESPONSE { POP3COMMAND command; BOOL fDone; IXPRESULT rIxpResult; IPOP3Transport *pTransport; BOOL fValidInfo; __C89_NAMELESS union { POP3UIDL rUidlInfo; POP3STAT rStatInfo; POP3LIST rListInfo; DWORD dwPopId; POP3RETR rRetrInfo; POP3TOP rTopInfo; } __C89_NAMELESSUNIONNAME; } POP3RESPONSE; typedef struct tagPOP3RESPONSE *LPPOP3RESPONSE; DEFINE_GUID(IID_IPOP3Callback, 0x0df2c7e3, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0df2c7e3-3435-11d0-81d0-00c04fd85ab4") IPOP3Callback : public ITransportCallback { virtual HRESULT STDMETHODCALLTYPE OnResponse( LPPOP3RESPONSE pResponse) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IPOP3Callback, 0x0df2c7e3, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IPOP3CallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IPOP3Callback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IPOP3Callback *This); ULONG (STDMETHODCALLTYPE *Release)( IPOP3Callback *This); /*** ITransportCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnTimeout)( IPOP3Callback *This, DWORD *pdwTimeout, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnLogonPrompt)( IPOP3Callback *This, LPINETSERVER pInetServer, IInternetTransport *pTransport); INT (STDMETHODCALLTYPE *OnPrompt)( IPOP3Callback *This, HRESULT hrError, LPCSTR pszText, LPCSTR pszCaption, UINT uType, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnStatus)( IPOP3Callback *This, IXPSTATUS ixpstatus, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnError)( IPOP3Callback *This, IXPSTATUS ixpstatus, LPIXPRESULT pResult, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnCommand)( IPOP3Callback *This, CMDTYPE cmdtype, LPSTR pszLine, HRESULT hrResponse, IInternetTransport *pTransport); /*** IPOP3Callback methods ***/ HRESULT (STDMETHODCALLTYPE *OnResponse)( IPOP3Callback *This, LPPOP3RESPONSE pResponse); END_INTERFACE } IPOP3CallbackVtbl; interface IPOP3Callback { CONST_VTBL IPOP3CallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IPOP3Callback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IPOP3Callback_AddRef(This) (This)->lpVtbl->AddRef(This) #define IPOP3Callback_Release(This) (This)->lpVtbl->Release(This) /*** ITransportCallback methods ***/ #define IPOP3Callback_OnTimeout(This,pdwTimeout,pTransport) (This)->lpVtbl->OnTimeout(This,pdwTimeout,pTransport) #define IPOP3Callback_OnLogonPrompt(This,pInetServer,pTransport) (This)->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport) #define IPOP3Callback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) (This)->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) #define IPOP3Callback_OnStatus(This,ixpstatus,pTransport) (This)->lpVtbl->OnStatus(This,ixpstatus,pTransport) #define IPOP3Callback_OnError(This,ixpstatus,pResult,pTransport) (This)->lpVtbl->OnError(This,ixpstatus,pResult,pTransport) #define IPOP3Callback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) (This)->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) /*** IPOP3Callback methods ***/ #define IPOP3Callback_OnResponse(This,pResponse) (This)->lpVtbl->OnResponse(This,pResponse) #else /*** IUnknown methods ***/ static inline HRESULT IPOP3Callback_QueryInterface(IPOP3Callback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IPOP3Callback_AddRef(IPOP3Callback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IPOP3Callback_Release(IPOP3Callback* This) { return This->lpVtbl->Release(This); } /*** ITransportCallback methods ***/ static inline HRESULT IPOP3Callback_OnTimeout(IPOP3Callback* This,DWORD *pdwTimeout,IInternetTransport *pTransport) { return This->lpVtbl->OnTimeout(This,pdwTimeout,pTransport); } static inline HRESULT IPOP3Callback_OnLogonPrompt(IPOP3Callback* This,LPINETSERVER pInetServer,IInternetTransport *pTransport) { return This->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport); } static inline INT IPOP3Callback_OnPrompt(IPOP3Callback* This,HRESULT hrError,LPCSTR pszText,LPCSTR pszCaption,UINT uType,IInternetTransport *pTransport) { return This->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport); } static inline HRESULT IPOP3Callback_OnStatus(IPOP3Callback* This,IXPSTATUS ixpstatus,IInternetTransport *pTransport) { return This->lpVtbl->OnStatus(This,ixpstatus,pTransport); } static inline HRESULT IPOP3Callback_OnError(IPOP3Callback* This,IXPSTATUS ixpstatus,LPIXPRESULT pResult,IInternetTransport *pTransport) { return This->lpVtbl->OnError(This,ixpstatus,pResult,pTransport); } static inline HRESULT IPOP3Callback_OnCommand(IPOP3Callback* This,CMDTYPE cmdtype,LPSTR pszLine,HRESULT hrResponse,IInternetTransport *pTransport) { return This->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport); } /*** IPOP3Callback methods ***/ static inline HRESULT IPOP3Callback_OnResponse(IPOP3Callback* This,LPPOP3RESPONSE pResponse) { return This->lpVtbl->OnResponse(This,pResponse); } #endif #endif #endif #endif /* __IPOP3Callback_INTERFACE_DEFINED__ */ /***************************************************************************** * IPOP3Transport interface */ #ifndef __IPOP3Transport_INTERFACE_DEFINED__ #define __IPOP3Transport_INTERFACE_DEFINED__ typedef enum tagPOP3CMDTYPE { POP3CMD_GET_POPID = 0, POP3CMD_GET_MARKED = 1, POP3CMD_GET_ALL = 2 } POP3CMDTYPE; typedef enum tagPOP3MARKTYPE { POP3_MARK_FOR_TOP = 0x1, POP3_MARK_FOR_RETR = 0x2, POP3_MARK_FOR_DELE = 0x4, POP3_MARK_FOR_UIDL = 0x8, POP3_MARK_FOR_LIST = 0x10 } POP3MARKTYPE; DEFINE_GUID(IID_IPOP3Transport, 0x0df2c7e4, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0df2c7e4-3435-11d0-81d0-00c04fd85ab4") IPOP3Transport : public IInternetTransport { virtual HRESULT STDMETHODCALLTYPE InitNew( LPSTR pszLogFilePath, IPOP3Callback *pCallback) = 0; virtual HRESULT STDMETHODCALLTYPE MarkItem( POP3MARKTYPE marktype, DWORD dwPopId, boolean fMarked) = 0; virtual HRESULT STDMETHODCALLTYPE CommandAUTH( LPSTR pszAuthType) = 0; virtual HRESULT STDMETHODCALLTYPE CommandUSER( LPSTR pszUserName) = 0; virtual HRESULT STDMETHODCALLTYPE CommandPASS( LPSTR pszPassword) = 0; virtual HRESULT STDMETHODCALLTYPE CommandLIST( POP3CMDTYPE cmdtype, DWORD dwPopId) = 0; virtual HRESULT STDMETHODCALLTYPE CommandTOP( POP3CMDTYPE cmdtype, DWORD dwPopId, DWORD cPreviewLines) = 0; virtual HRESULT STDMETHODCALLTYPE CommandQUIT( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandSTAT( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandNOOP( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandRSET( ) = 0; virtual HRESULT STDMETHODCALLTYPE CommandUIDL( POP3CMDTYPE cmdtype, DWORD dwPopId) = 0; virtual HRESULT STDMETHODCALLTYPE CommandDELE( POP3CMDTYPE cmdtype, DWORD dwPopId) = 0; virtual HRESULT STDMETHODCALLTYPE CommandRETR( POP3CMDTYPE cmdtype, DWORD dwPopId) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IPOP3Transport, 0x0df2c7e4, 0x3435, 0x11d0, 0x81,0xd0, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IPOP3TransportVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IPOP3Transport *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IPOP3Transport *This); ULONG (STDMETHODCALLTYPE *Release)( IPOP3Transport *This); /*** IInternetTransport methods ***/ HRESULT (STDMETHODCALLTYPE *GetServerInfo)( IPOP3Transport *This, LPINETSERVER pInetServer); IXPTYPE (STDMETHODCALLTYPE *GetIXPType)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *IsState)( IPOP3Transport *This, IXPISSTATE isstate); HRESULT (STDMETHODCALLTYPE *InetServerFromAccount)( IPOP3Transport *This, IImnAccount *pAccount, LPINETSERVER pInetServer); HRESULT (STDMETHODCALLTYPE *Connect)( IPOP3Transport *This, LPINETSERVER pInetServer, boolean fAuthenticate, boolean fCommandLogging); HRESULT (STDMETHODCALLTYPE *HandsOffCallback)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *Disconnect)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *DropConnection)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *GetStatus)( IPOP3Transport *This, IXPSTATUS *pCurrentStatus); /*** IPOP3Transport methods ***/ HRESULT (STDMETHODCALLTYPE *InitNew)( IPOP3Transport *This, LPSTR pszLogFilePath, IPOP3Callback *pCallback); HRESULT (STDMETHODCALLTYPE *MarkItem)( IPOP3Transport *This, POP3MARKTYPE marktype, DWORD dwPopId, boolean fMarked); HRESULT (STDMETHODCALLTYPE *CommandAUTH)( IPOP3Transport *This, LPSTR pszAuthType); HRESULT (STDMETHODCALLTYPE *CommandUSER)( IPOP3Transport *This, LPSTR pszUserName); HRESULT (STDMETHODCALLTYPE *CommandPASS)( IPOP3Transport *This, LPSTR pszPassword); HRESULT (STDMETHODCALLTYPE *CommandLIST)( IPOP3Transport *This, POP3CMDTYPE cmdtype, DWORD dwPopId); HRESULT (STDMETHODCALLTYPE *CommandTOP)( IPOP3Transport *This, POP3CMDTYPE cmdtype, DWORD dwPopId, DWORD cPreviewLines); HRESULT (STDMETHODCALLTYPE *CommandQUIT)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *CommandSTAT)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *CommandNOOP)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *CommandRSET)( IPOP3Transport *This); HRESULT (STDMETHODCALLTYPE *CommandUIDL)( IPOP3Transport *This, POP3CMDTYPE cmdtype, DWORD dwPopId); HRESULT (STDMETHODCALLTYPE *CommandDELE)( IPOP3Transport *This, POP3CMDTYPE cmdtype, DWORD dwPopId); HRESULT (STDMETHODCALLTYPE *CommandRETR)( IPOP3Transport *This, POP3CMDTYPE cmdtype, DWORD dwPopId); END_INTERFACE } IPOP3TransportVtbl; interface IPOP3Transport { CONST_VTBL IPOP3TransportVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IPOP3Transport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IPOP3Transport_AddRef(This) (This)->lpVtbl->AddRef(This) #define IPOP3Transport_Release(This) (This)->lpVtbl->Release(This) /*** IInternetTransport methods ***/ #define IPOP3Transport_GetServerInfo(This,pInetServer) (This)->lpVtbl->GetServerInfo(This,pInetServer) #define IPOP3Transport_GetIXPType(This) (This)->lpVtbl->GetIXPType(This) #define IPOP3Transport_IsState(This,isstate) (This)->lpVtbl->IsState(This,isstate) #define IPOP3Transport_InetServerFromAccount(This,pAccount,pInetServer) (This)->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer) #define IPOP3Transport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) (This)->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging) #define IPOP3Transport_HandsOffCallback(This) (This)->lpVtbl->HandsOffCallback(This) #define IPOP3Transport_Disconnect(This) (This)->lpVtbl->Disconnect(This) #define IPOP3Transport_DropConnection(This) (This)->lpVtbl->DropConnection(This) #define IPOP3Transport_GetStatus(This,pCurrentStatus) (This)->lpVtbl->GetStatus(This,pCurrentStatus) /*** IPOP3Transport methods ***/ #define IPOP3Transport_InitNew(This,pszLogFilePath,pCallback) (This)->lpVtbl->InitNew(This,pszLogFilePath,pCallback) #define IPOP3Transport_MarkItem(This,marktype,dwPopId,fMarked) (This)->lpVtbl->MarkItem(This,marktype,dwPopId,fMarked) #define IPOP3Transport_CommandAUTH(This,pszAuthType) (This)->lpVtbl->CommandAUTH(This,pszAuthType) #define IPOP3Transport_CommandUSER(This,pszUserName) (This)->lpVtbl->CommandUSER(This,pszUserName) #define IPOP3Transport_CommandPASS(This,pszPassword) (This)->lpVtbl->CommandPASS(This,pszPassword) #define IPOP3Transport_CommandLIST(This,cmdtype,dwPopId) (This)->lpVtbl->CommandLIST(This,cmdtype,dwPopId) #define IPOP3Transport_CommandTOP(This,cmdtype,dwPopId,cPreviewLines) (This)->lpVtbl->CommandTOP(This,cmdtype,dwPopId,cPreviewLines) #define IPOP3Transport_CommandQUIT(This) (This)->lpVtbl->CommandQUIT(This) #define IPOP3Transport_CommandSTAT(This) (This)->lpVtbl->CommandSTAT(This) #define IPOP3Transport_CommandNOOP(This) (This)->lpVtbl->CommandNOOP(This) #define IPOP3Transport_CommandRSET(This) (This)->lpVtbl->CommandRSET(This) #define IPOP3Transport_CommandUIDL(This,cmdtype,dwPopId) (This)->lpVtbl->CommandUIDL(This,cmdtype,dwPopId) #define IPOP3Transport_CommandDELE(This,cmdtype,dwPopId) (This)->lpVtbl->CommandDELE(This,cmdtype,dwPopId) #define IPOP3Transport_CommandRETR(This,cmdtype,dwPopId) (This)->lpVtbl->CommandRETR(This,cmdtype,dwPopId) #else /*** IUnknown methods ***/ static inline HRESULT IPOP3Transport_QueryInterface(IPOP3Transport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IPOP3Transport_AddRef(IPOP3Transport* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IPOP3Transport_Release(IPOP3Transport* This) { return This->lpVtbl->Release(This); } /*** IInternetTransport methods ***/ static inline HRESULT IPOP3Transport_GetServerInfo(IPOP3Transport* This,LPINETSERVER pInetServer) { return This->lpVtbl->GetServerInfo(This,pInetServer); } static inline IXPTYPE IPOP3Transport_GetIXPType(IPOP3Transport* This) { return This->lpVtbl->GetIXPType(This); } static inline HRESULT IPOP3Transport_IsState(IPOP3Transport* This,IXPISSTATE isstate) { return This->lpVtbl->IsState(This,isstate); } static inline HRESULT IPOP3Transport_InetServerFromAccount(IPOP3Transport* This,IImnAccount *pAccount,LPINETSERVER pInetServer) { return This->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer); } static inline HRESULT IPOP3Transport_Connect(IPOP3Transport* This,LPINETSERVER pInetServer,boolean fAuthenticate,boolean fCommandLogging) { return This->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging); } static inline HRESULT IPOP3Transport_HandsOffCallback(IPOP3Transport* This) { return This->lpVtbl->HandsOffCallback(This); } static inline HRESULT IPOP3Transport_Disconnect(IPOP3Transport* This) { return This->lpVtbl->Disconnect(This); } static inline HRESULT IPOP3Transport_DropConnection(IPOP3Transport* This) { return This->lpVtbl->DropConnection(This); } static inline HRESULT IPOP3Transport_GetStatus(IPOP3Transport* This,IXPSTATUS *pCurrentStatus) { return This->lpVtbl->GetStatus(This,pCurrentStatus); } /*** IPOP3Transport methods ***/ static inline HRESULT IPOP3Transport_InitNew(IPOP3Transport* This,LPSTR pszLogFilePath,IPOP3Callback *pCallback) { return This->lpVtbl->InitNew(This,pszLogFilePath,pCallback); } static inline HRESULT IPOP3Transport_MarkItem(IPOP3Transport* This,POP3MARKTYPE marktype,DWORD dwPopId,boolean fMarked) { return This->lpVtbl->MarkItem(This,marktype,dwPopId,fMarked); } static inline HRESULT IPOP3Transport_CommandAUTH(IPOP3Transport* This,LPSTR pszAuthType) { return This->lpVtbl->CommandAUTH(This,pszAuthType); } static inline HRESULT IPOP3Transport_CommandUSER(IPOP3Transport* This,LPSTR pszUserName) { return This->lpVtbl->CommandUSER(This,pszUserName); } static inline HRESULT IPOP3Transport_CommandPASS(IPOP3Transport* This,LPSTR pszPassword) { return This->lpVtbl->CommandPASS(This,pszPassword); } static inline HRESULT IPOP3Transport_CommandLIST(IPOP3Transport* This,POP3CMDTYPE cmdtype,DWORD dwPopId) { return This->lpVtbl->CommandLIST(This,cmdtype,dwPopId); } static inline HRESULT IPOP3Transport_CommandTOP(IPOP3Transport* This,POP3CMDTYPE cmdtype,DWORD dwPopId,DWORD cPreviewLines) { return This->lpVtbl->CommandTOP(This,cmdtype,dwPopId,cPreviewLines); } static inline HRESULT IPOP3Transport_CommandQUIT(IPOP3Transport* This) { return This->lpVtbl->CommandQUIT(This); } static inline HRESULT IPOP3Transport_CommandSTAT(IPOP3Transport* This) { return This->lpVtbl->CommandSTAT(This); } static inline HRESULT IPOP3Transport_CommandNOOP(IPOP3Transport* This) { return This->lpVtbl->CommandNOOP(This); } static inline HRESULT IPOP3Transport_CommandRSET(IPOP3Transport* This) { return This->lpVtbl->CommandRSET(This); } static inline HRESULT IPOP3Transport_CommandUIDL(IPOP3Transport* This,POP3CMDTYPE cmdtype,DWORD dwPopId) { return This->lpVtbl->CommandUIDL(This,cmdtype,dwPopId); } static inline HRESULT IPOP3Transport_CommandDELE(IPOP3Transport* This,POP3CMDTYPE cmdtype,DWORD dwPopId) { return This->lpVtbl->CommandDELE(This,cmdtype,dwPopId); } static inline HRESULT IPOP3Transport_CommandRETR(IPOP3Transport* This,POP3CMDTYPE cmdtype,DWORD dwPopId) { return This->lpVtbl->CommandRETR(This,cmdtype,dwPopId); } #endif #endif #endif #endif /* __IPOP3Transport_INTERFACE_DEFINED__ */ /***************************************************************************** * IRangeList interface */ #ifndef __IRangeList_INTERFACE_DEFINED__ #define __IRangeList_INTERFACE_DEFINED__ #define RL_RANGE_ERROR ((ULONG)-1) #define RL_LAST_MESSAGE ((ULONG)-1) DEFINE_GUID(IID_IRangeList, 0x8c438160, 0x4ef6, 0x11d0, 0x87,0x4f, 0x00,0xaa,0x00,0x53,0x0e,0xe9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8c438160-4ef6-11d0-874f-00aa00530ee9") IRangeList : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Clear( ) = 0; virtual HRESULT STDMETHODCALLTYPE IsInRange( const ULONG value) = 0; virtual HRESULT STDMETHODCALLTYPE Min( ULONG *pulMin) = 0; virtual HRESULT STDMETHODCALLTYPE Max( ULONG *pulMax) = 0; virtual HRESULT STDMETHODCALLTYPE Save( byte **ppbDestination, ULONG *pulSizeOfDestination) = 0; virtual HRESULT STDMETHODCALLTYPE Load( byte *pbSource, const ULONG ulSizeOfSource) = 0; virtual HRESULT STDMETHODCALLTYPE AddRange( const ULONG low, const ULONG high) = 0; virtual HRESULT STDMETHODCALLTYPE AddSingleValue( const ULONG value) = 0; virtual HRESULT STDMETHODCALLTYPE AddRangeList( const IRangeList *prl) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteRange( const ULONG low, const ULONG high) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteSingleValue( const ULONG value) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteRangeList( const IRangeList *prl) = 0; virtual HRESULT STDMETHODCALLTYPE MinOfRange( const ULONG value, ULONG *pulMinOfRange) = 0; virtual HRESULT STDMETHODCALLTYPE MaxOfRange( const ULONG value, ULONG *pulMaxOfRange) = 0; virtual HRESULT STDMETHODCALLTYPE RangeToIMAPString( LPSTR *ppszDestination, LPDWORD pdwLengthOfDestination) = 0; virtual HRESULT STDMETHODCALLTYPE Next( const ULONG current, ULONG *pulNext) = 0; virtual HRESULT STDMETHODCALLTYPE Prev( const ULONG current, ULONG *pulPrev) = 0; virtual HRESULT STDMETHODCALLTYPE Cardinality( ULONG *pulCardinality) = 0; virtual HRESULT STDMETHODCALLTYPE CardinalityFrom( const ULONG ulStartPoint, ULONG *pulCardinalityFrom) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IRangeList, 0x8c438160, 0x4ef6, 0x11d0, 0x87,0x4f, 0x00,0xaa,0x00,0x53,0x0e,0xe9) #endif #else typedef struct IRangeListVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IRangeList *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IRangeList *This); ULONG (STDMETHODCALLTYPE *Release)( IRangeList *This); /*** IRangeList methods ***/ HRESULT (STDMETHODCALLTYPE *Clear)( IRangeList *This); HRESULT (STDMETHODCALLTYPE *IsInRange)( IRangeList *This, const ULONG value); HRESULT (STDMETHODCALLTYPE *Min)( IRangeList *This, ULONG *pulMin); HRESULT (STDMETHODCALLTYPE *Max)( IRangeList *This, ULONG *pulMax); HRESULT (STDMETHODCALLTYPE *Save)( IRangeList *This, byte **ppbDestination, ULONG *pulSizeOfDestination); HRESULT (STDMETHODCALLTYPE *Load)( IRangeList *This, byte *pbSource, const ULONG ulSizeOfSource); HRESULT (STDMETHODCALLTYPE *AddRange)( IRangeList *This, const ULONG low, const ULONG high); HRESULT (STDMETHODCALLTYPE *AddSingleValue)( IRangeList *This, const ULONG value); HRESULT (STDMETHODCALLTYPE *AddRangeList)( IRangeList *This, const IRangeList *prl); HRESULT (STDMETHODCALLTYPE *DeleteRange)( IRangeList *This, const ULONG low, const ULONG high); HRESULT (STDMETHODCALLTYPE *DeleteSingleValue)( IRangeList *This, const ULONG value); HRESULT (STDMETHODCALLTYPE *DeleteRangeList)( IRangeList *This, const IRangeList *prl); HRESULT (STDMETHODCALLTYPE *MinOfRange)( IRangeList *This, const ULONG value, ULONG *pulMinOfRange); HRESULT (STDMETHODCALLTYPE *MaxOfRange)( IRangeList *This, const ULONG value, ULONG *pulMaxOfRange); HRESULT (STDMETHODCALLTYPE *RangeToIMAPString)( IRangeList *This, LPSTR *ppszDestination, LPDWORD pdwLengthOfDestination); HRESULT (STDMETHODCALLTYPE *Next)( IRangeList *This, const ULONG current, ULONG *pulNext); HRESULT (STDMETHODCALLTYPE *Prev)( IRangeList *This, const ULONG current, ULONG *pulPrev); HRESULT (STDMETHODCALLTYPE *Cardinality)( IRangeList *This, ULONG *pulCardinality); HRESULT (STDMETHODCALLTYPE *CardinalityFrom)( IRangeList *This, const ULONG ulStartPoint, ULONG *pulCardinalityFrom); END_INTERFACE } IRangeListVtbl; interface IRangeList { CONST_VTBL IRangeListVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IRangeList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IRangeList_AddRef(This) (This)->lpVtbl->AddRef(This) #define IRangeList_Release(This) (This)->lpVtbl->Release(This) /*** IRangeList methods ***/ #define IRangeList_Clear(This) (This)->lpVtbl->Clear(This) #define IRangeList_IsInRange(This,value) (This)->lpVtbl->IsInRange(This,value) #define IRangeList_Min(This,pulMin) (This)->lpVtbl->Min(This,pulMin) #define IRangeList_Max(This,pulMax) (This)->lpVtbl->Max(This,pulMax) #define IRangeList_Save(This,ppbDestination,pulSizeOfDestination) (This)->lpVtbl->Save(This,ppbDestination,pulSizeOfDestination) #define IRangeList_Load(This,pbSource,ulSizeOfSource) (This)->lpVtbl->Load(This,pbSource,ulSizeOfSource) #define IRangeList_AddRange(This,low,high) (This)->lpVtbl->AddRange(This,low,high) #define IRangeList_AddSingleValue(This,value) (This)->lpVtbl->AddSingleValue(This,value) #define IRangeList_AddRangeList(This,prl) (This)->lpVtbl->AddRangeList(This,prl) #define IRangeList_DeleteRange(This,low,high) (This)->lpVtbl->DeleteRange(This,low,high) #define IRangeList_DeleteSingleValue(This,value) (This)->lpVtbl->DeleteSingleValue(This,value) #define IRangeList_DeleteRangeList(This,prl) (This)->lpVtbl->DeleteRangeList(This,prl) #define IRangeList_MinOfRange(This,value,pulMinOfRange) (This)->lpVtbl->MinOfRange(This,value,pulMinOfRange) #define IRangeList_MaxOfRange(This,value,pulMaxOfRange) (This)->lpVtbl->MaxOfRange(This,value,pulMaxOfRange) #define IRangeList_RangeToIMAPString(This,ppszDestination,pdwLengthOfDestination) (This)->lpVtbl->RangeToIMAPString(This,ppszDestination,pdwLengthOfDestination) #define IRangeList_Next(This,current,pulNext) (This)->lpVtbl->Next(This,current,pulNext) #define IRangeList_Prev(This,current,pulPrev) (This)->lpVtbl->Prev(This,current,pulPrev) #define IRangeList_Cardinality(This,pulCardinality) (This)->lpVtbl->Cardinality(This,pulCardinality) #define IRangeList_CardinalityFrom(This,ulStartPoint,pulCardinalityFrom) (This)->lpVtbl->CardinalityFrom(This,ulStartPoint,pulCardinalityFrom) #else /*** IUnknown methods ***/ static inline HRESULT IRangeList_QueryInterface(IRangeList* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IRangeList_AddRef(IRangeList* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IRangeList_Release(IRangeList* This) { return This->lpVtbl->Release(This); } /*** IRangeList methods ***/ static inline HRESULT IRangeList_Clear(IRangeList* This) { return This->lpVtbl->Clear(This); } static inline HRESULT IRangeList_IsInRange(IRangeList* This,const ULONG value) { return This->lpVtbl->IsInRange(This,value); } static inline HRESULT IRangeList_Min(IRangeList* This,ULONG *pulMin) { return This->lpVtbl->Min(This,pulMin); } static inline HRESULT IRangeList_Max(IRangeList* This,ULONG *pulMax) { return This->lpVtbl->Max(This,pulMax); } static inline HRESULT IRangeList_Save(IRangeList* This,byte **ppbDestination,ULONG *pulSizeOfDestination) { return This->lpVtbl->Save(This,ppbDestination,pulSizeOfDestination); } static inline HRESULT IRangeList_Load(IRangeList* This,byte *pbSource,const ULONG ulSizeOfSource) { return This->lpVtbl->Load(This,pbSource,ulSizeOfSource); } static inline HRESULT IRangeList_AddRange(IRangeList* This,const ULONG low,const ULONG high) { return This->lpVtbl->AddRange(This,low,high); } static inline HRESULT IRangeList_AddSingleValue(IRangeList* This,const ULONG value) { return This->lpVtbl->AddSingleValue(This,value); } static inline HRESULT IRangeList_AddRangeList(IRangeList* This,const IRangeList *prl) { return This->lpVtbl->AddRangeList(This,prl); } static inline HRESULT IRangeList_DeleteRange(IRangeList* This,const ULONG low,const ULONG high) { return This->lpVtbl->DeleteRange(This,low,high); } static inline HRESULT IRangeList_DeleteSingleValue(IRangeList* This,const ULONG value) { return This->lpVtbl->DeleteSingleValue(This,value); } static inline HRESULT IRangeList_DeleteRangeList(IRangeList* This,const IRangeList *prl) { return This->lpVtbl->DeleteRangeList(This,prl); } static inline HRESULT IRangeList_MinOfRange(IRangeList* This,const ULONG value,ULONG *pulMinOfRange) { return This->lpVtbl->MinOfRange(This,value,pulMinOfRange); } static inline HRESULT IRangeList_MaxOfRange(IRangeList* This,const ULONG value,ULONG *pulMaxOfRange) { return This->lpVtbl->MaxOfRange(This,value,pulMaxOfRange); } static inline HRESULT IRangeList_RangeToIMAPString(IRangeList* This,LPSTR *ppszDestination,LPDWORD pdwLengthOfDestination) { return This->lpVtbl->RangeToIMAPString(This,ppszDestination,pdwLengthOfDestination); } static inline HRESULT IRangeList_Next(IRangeList* This,const ULONG current,ULONG *pulNext) { return This->lpVtbl->Next(This,current,pulNext); } static inline HRESULT IRangeList_Prev(IRangeList* This,const ULONG current,ULONG *pulPrev) { return This->lpVtbl->Prev(This,current,pulPrev); } static inline HRESULT IRangeList_Cardinality(IRangeList* This,ULONG *pulCardinality) { return This->lpVtbl->Cardinality(This,pulCardinality); } static inline HRESULT IRangeList_CardinalityFrom(IRangeList* This,const ULONG ulStartPoint,ULONG *pulCardinalityFrom) { return This->lpVtbl->CardinalityFrom(This,ulStartPoint,pulCardinalityFrom); } #endif #endif #endif #endif /* __IRangeList_INTERFACE_DEFINED__ */ /***************************************************************************** * IIMAPCallback interface */ #ifndef __IIMAPCallback_INTERFACE_DEFINED__ #define __IIMAPCallback_INTERFACE_DEFINED__ typedef DWORD IMAP_MBOXFLAGS; #define IMAP_MBOX_NOFLAGS (0x0) #define IMAP_MBOX_MARKED (0x1) #define IMAP_MBOX_NOINFERIORS (0x2) #define IMAP_MBOX_NOSELECT (0x4) #define IMAP_MBOX_UNMARKED (0x8) #define IMAP_MBOX_ALLFLAGS (0xf) typedef enum tagIMAP_RESPONSE_TYPE { irtERROR_NOTIFICATION = 0, irtCOMMAND_COMPLETION = 1, irtSERVER_ALERT = 2, irtPARSE_ERROR = 3, irtMAILBOX_UPDATE = 4, irtDELETED_MSG = 5, irtFETCH_BODY = 6, irtUPDATE_MSG = 7, irtAPPLICABLE_FLAGS = 8, irtPERMANENT_FLAGS = 9, irtUIDVALIDITY = 10, irtREADWRITE_STATUS = 11, irtTRYCREATE = 12, irtSEARCH = 13, irtMAILBOX_LISTING = 14, irtMAILBOX_STATUS = 15, irtAPPEND_PROGRESS = 16, irtUPDATE_MSG_EX = 17 } IMAP_RESPONSE_TYPE; typedef struct tagFETCH_BODY_PART { DWORD dwMsgSeqNum; LPSTR pszBodyTag; DWORD dwTotalBytes; DWORD dwSizeOfData; DWORD dwOffset; BOOL fDone; LPSTR pszData; LPARAM lpFetchCookie1; LPARAM lpFetchCookie2; } FETCH_BODY_PART; typedef struct tagFETCH_CMD_RESULTS { DWORD dwMsgSeqNum; BOOL bMsgFlags; IMAP_MSGFLAGS mfMsgFlags; BOOL bRFC822Size; DWORD dwRFC822Size; BOOL bUID; DWORD dwUID; BOOL bInternalDate; FILETIME ftInternalDate; LPARAM lpFetchCookie1; LPARAM lpFetchCookie2; } FETCH_CMD_RESULTS; typedef struct tagIMAPADDR { LPSTR pszName; LPSTR pszADL; LPSTR pszMailbox; LPSTR pszHost; struct tagIMAPADDR *pNext; } IMAPADDR; typedef struct tagFETCH_CMD_RESULTS_EX { DWORD dwMsgSeqNum; BOOL bMsgFlags; IMAP_MSGFLAGS mfMsgFlags; BOOL bRFC822Size; DWORD dwRFC822Size; BOOL bUID; DWORD dwUID; BOOL bInternalDate; FILETIME ftInternalDate; LPARAM lpFetchCookie1; LPARAM lpFetchCookie2; BOOL bEnvelope; FILETIME ftENVDate; LPSTR pszENVSubject; IMAPADDR *piaENVFrom; IMAPADDR *piaENVSender; IMAPADDR *piaENVReplyTo; IMAPADDR *piaENVTo; IMAPADDR *piaENVCc; IMAPADDR *piaENVBcc; LPSTR pszENVInReplyTo; LPSTR pszENVMessageID; DWORD dwReserved1; DWORD dwReserved2; DWORD dwReserved3; } FETCH_CMD_RESULTS_EX; typedef struct tagMBOX_MSGCOUNT { BOOL bGotExistsResponse; DWORD dwExists; BOOL bGotRecentResponse; DWORD dwRecent; BOOL bGotUnseenResponse; DWORD dwUnseen; } MBOX_MSGCOUNT; typedef struct tagIMAP_LISTLSUB_RESPONSE { LPSTR pszMailboxName; IMAP_MBOXFLAGS imfMboxFlags; char cHierarchyChar; } IMAP_LISTLSUB_RESPONSE; typedef struct tagIMAP_STATUS_RESPONSE { LPSTR pszMailboxName; BOOL fMessages; DWORD dwMessages; BOOL fRecent; DWORD dwRecent; BOOL fUIDNext; DWORD dwUIDNext; BOOL fUIDValidity; DWORD dwUIDValidity; BOOL fUnseen; DWORD dwUnseen; } IMAP_STATUS_RESPONSE; typedef struct tagAPPEND_PROGRESS { DWORD dwUploaded; DWORD dwTotal; } APPEND_PROGRESS; typedef union tagIMAP_RESPONSE_DATA { MBOX_MSGCOUNT *pmcMsgCount; DWORD dwDeletedMsgSeqNum; FETCH_BODY_PART *pFetchBodyPart; FETCH_CMD_RESULTS *pFetchResults; IMAP_MSGFLAGS imfImapMessageFlags; DWORD dwUIDValidity; BOOL bReadWrite; IRangeList *prlSearchResults; IMAP_LISTLSUB_RESPONSE illrdMailboxListing; IMAP_STATUS_RESPONSE *pisrStatusResponse; APPEND_PROGRESS *papAppendProgress; FETCH_CMD_RESULTS_EX *pFetchResultsEx; } IMAP_RESPONSE_DATA; typedef struct tagIMAP_RESPONSE { WPARAM wParam; LPARAM lParam; HRESULT hrResult; LPSTR lpszResponseText; IMAP_RESPONSE_TYPE irtResponseType; IMAP_RESPONSE_DATA irdResponseData; } IMAP_RESPONSE; DEFINE_GUID(IID_IIMAPCallback, 0xe9e9d8a3, 0x4edd, 0x11d0, 0x87,0x4f, 0x00,0xaa,0x00,0x53,0x0e,0xe9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e9e9d8a3-4edd-11d0-874f-00aa00530ee9") IIMAPCallback : public ITransportCallback { virtual HRESULT STDMETHODCALLTYPE OnResponse( const IMAP_RESPONSE *pirIMAPResponse) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IIMAPCallback, 0xe9e9d8a3, 0x4edd, 0x11d0, 0x87,0x4f, 0x00,0xaa,0x00,0x53,0x0e,0xe9) #endif #else typedef struct IIMAPCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IIMAPCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IIMAPCallback *This); ULONG (STDMETHODCALLTYPE *Release)( IIMAPCallback *This); /*** ITransportCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnTimeout)( IIMAPCallback *This, DWORD *pdwTimeout, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnLogonPrompt)( IIMAPCallback *This, LPINETSERVER pInetServer, IInternetTransport *pTransport); INT (STDMETHODCALLTYPE *OnPrompt)( IIMAPCallback *This, HRESULT hrError, LPCSTR pszText, LPCSTR pszCaption, UINT uType, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnStatus)( IIMAPCallback *This, IXPSTATUS ixpstatus, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnError)( IIMAPCallback *This, IXPSTATUS ixpstatus, LPIXPRESULT pResult, IInternetTransport *pTransport); HRESULT (STDMETHODCALLTYPE *OnCommand)( IIMAPCallback *This, CMDTYPE cmdtype, LPSTR pszLine, HRESULT hrResponse, IInternetTransport *pTransport); /*** IIMAPCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnResponse)( IIMAPCallback *This, const IMAP_RESPONSE *pirIMAPResponse); END_INTERFACE } IIMAPCallbackVtbl; interface IIMAPCallback { CONST_VTBL IIMAPCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IIMAPCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IIMAPCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define IIMAPCallback_Release(This) (This)->lpVtbl->Release(This) /*** ITransportCallback methods ***/ #define IIMAPCallback_OnTimeout(This,pdwTimeout,pTransport) (This)->lpVtbl->OnTimeout(This,pdwTimeout,pTransport) #define IIMAPCallback_OnLogonPrompt(This,pInetServer,pTransport) (This)->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport) #define IIMAPCallback_OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) (This)->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport) #define IIMAPCallback_OnStatus(This,ixpstatus,pTransport) (This)->lpVtbl->OnStatus(This,ixpstatus,pTransport) #define IIMAPCallback_OnError(This,ixpstatus,pResult,pTransport) (This)->lpVtbl->OnError(This,ixpstatus,pResult,pTransport) #define IIMAPCallback_OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) (This)->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport) /*** IIMAPCallback methods ***/ #define IIMAPCallback_OnResponse(This,pirIMAPResponse) (This)->lpVtbl->OnResponse(This,pirIMAPResponse) #else /*** IUnknown methods ***/ static inline HRESULT IIMAPCallback_QueryInterface(IIMAPCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IIMAPCallback_AddRef(IIMAPCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IIMAPCallback_Release(IIMAPCallback* This) { return This->lpVtbl->Release(This); } /*** ITransportCallback methods ***/ static inline HRESULT IIMAPCallback_OnTimeout(IIMAPCallback* This,DWORD *pdwTimeout,IInternetTransport *pTransport) { return This->lpVtbl->OnTimeout(This,pdwTimeout,pTransport); } static inline HRESULT IIMAPCallback_OnLogonPrompt(IIMAPCallback* This,LPINETSERVER pInetServer,IInternetTransport *pTransport) { return This->lpVtbl->OnLogonPrompt(This,pInetServer,pTransport); } static inline INT IIMAPCallback_OnPrompt(IIMAPCallback* This,HRESULT hrError,LPCSTR pszText,LPCSTR pszCaption,UINT uType,IInternetTransport *pTransport) { return This->lpVtbl->OnPrompt(This,hrError,pszText,pszCaption,uType,pTransport); } static inline HRESULT IIMAPCallback_OnStatus(IIMAPCallback* This,IXPSTATUS ixpstatus,IInternetTransport *pTransport) { return This->lpVtbl->OnStatus(This,ixpstatus,pTransport); } static inline HRESULT IIMAPCallback_OnError(IIMAPCallback* This,IXPSTATUS ixpstatus,LPIXPRESULT pResult,IInternetTransport *pTransport) { return This->lpVtbl->OnError(This,ixpstatus,pResult,pTransport); } static inline HRESULT IIMAPCallback_OnCommand(IIMAPCallback* This,CMDTYPE cmdtype,LPSTR pszLine,HRESULT hrResponse,IInternetTransport *pTransport) { return This->lpVtbl->OnCommand(This,cmdtype,pszLine,hrResponse,pTransport); } /*** IIMAPCallback methods ***/ static inline HRESULT IIMAPCallback_OnResponse(IIMAPCallback* This,const IMAP_RESPONSE *pirIMAPResponse) { return This->lpVtbl->OnResponse(This,pirIMAPResponse); } #endif #endif #endif #endif /* __IIMAPCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IIMAPTransport interface */ #ifndef __IIMAPTransport_INTERFACE_DEFINED__ #define __IIMAPTransport_INTERFACE_DEFINED__ #define IMAP_CAPABILITY_IMAP4 (0x1) #define IMAP_CAPABILITY_IMAP4rev1 (0x2) #define IMAP_CAPABILITY_IDLE (0x4) #define IMAP_CAPABILITY_ALLFLAGS (0x7) DEFINE_GUID(IID_IIMAPTransport, 0xe9e9d8a8, 0x4edd, 0x11d0, 0x87,0x4f, 0x00,0xaa,0x00,0x53,0x0e,0xe9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e9e9d8a8-4edd-11d0-874f-00aa00530ee9") IIMAPTransport : public IInternetTransport { virtual HRESULT STDMETHODCALLTYPE InitNew( LPSTR pszLogFilePath, IIMAPCallback *pCBHandler) = 0; virtual HRESULT STDMETHODCALLTYPE NewIRangeList( IRangeList **pprlNewRangeList) = 0; virtual HRESULT STDMETHODCALLTYPE Capability( DWORD *pdwCapabilityFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Select( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Examine( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Create( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Delete( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Rename( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName, LPSTR lpszNewMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Subscribe( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Unsubscribe( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE List( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxNameReference, LPSTR lpszMailboxNamePattern) = 0; virtual HRESULT STDMETHODCALLTYPE Lsub( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxNameReference, LPSTR lpszMailboxNamePattern) = 0; virtual HRESULT STDMETHODCALLTYPE Append( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName, LPSTR lpszMessageFlags, FILETIME ftMessageDateTime, LPSTREAM lpstmMessageToSave) = 0; virtual HRESULT STDMETHODCALLTYPE Close( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler) = 0; virtual HRESULT STDMETHODCALLTYPE Expunge( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler) = 0; virtual HRESULT STDMETHODCALLTYPE Search( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszSearchCriteria, boolean bReturnUIDs, IRangeList *pMsgRange, boolean bUIDRangeList) = 0; virtual HRESULT STDMETHODCALLTYPE Fetch( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, IRangeList *pMsgRange, boolean bUIDMsgRange, LPSTR lpszFetchArgs) = 0; virtual HRESULT STDMETHODCALLTYPE Store( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, IRangeList *pMsgRange, boolean bUIDRangeList, LPSTR lpszStoreArgs) = 0; virtual HRESULT STDMETHODCALLTYPE Copy( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, IRangeList *pMsgRange, boolean bUIDRangeList, LPSTR lpszMailboxName) = 0; virtual HRESULT STDMETHODCALLTYPE Noop( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler) = 0; virtual HRESULT STDMETHODCALLTYPE ResizeMsgSeqNumTable( DWORD dwSizeOfMbox) = 0; virtual HRESULT STDMETHODCALLTYPE UpdateSeqNumToUID( DWORD dwMsgSeqNum, DWORD dwUID) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveSequenceNum( DWORD dwDeletedMsgSeqNum) = 0; virtual HRESULT STDMETHODCALLTYPE MsgSeqNumToUID( DWORD dwMsgSeqNum, DWORD *pdwUID) = 0; virtual HRESULT STDMETHODCALLTYPE GetMsgSeqNumToUIDArray( DWORD **ppdwMsgSeqNumToUIDArray, DWORD *pdwNumberOfElements) = 0; virtual HRESULT STDMETHODCALLTYPE GetHighestMsgSeqNum( DWORD *pdwHighestMSN) = 0; virtual HRESULT STDMETHODCALLTYPE ResetMsgSeqNumToUID( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetDefaultCBHandler( IIMAPCallback *pCBHandler) = 0; virtual HRESULT STDMETHODCALLTYPE Status( WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR pszMailboxName, LPSTR pszStatusCmdArgs) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IIMAPTransport, 0xe9e9d8a8, 0x4edd, 0x11d0, 0x87,0x4f, 0x00,0xaa,0x00,0x53,0x0e,0xe9) #endif #else typedef struct IIMAPTransportVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IIMAPTransport *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IIMAPTransport *This); ULONG (STDMETHODCALLTYPE *Release)( IIMAPTransport *This); /*** IInternetTransport methods ***/ HRESULT (STDMETHODCALLTYPE *GetServerInfo)( IIMAPTransport *This, LPINETSERVER pInetServer); IXPTYPE (STDMETHODCALLTYPE *GetIXPType)( IIMAPTransport *This); HRESULT (STDMETHODCALLTYPE *IsState)( IIMAPTransport *This, IXPISSTATE isstate); HRESULT (STDMETHODCALLTYPE *InetServerFromAccount)( IIMAPTransport *This, IImnAccount *pAccount, LPINETSERVER pInetServer); HRESULT (STDMETHODCALLTYPE *Connect)( IIMAPTransport *This, LPINETSERVER pInetServer, boolean fAuthenticate, boolean fCommandLogging); HRESULT (STDMETHODCALLTYPE *HandsOffCallback)( IIMAPTransport *This); HRESULT (STDMETHODCALLTYPE *Disconnect)( IIMAPTransport *This); HRESULT (STDMETHODCALLTYPE *DropConnection)( IIMAPTransport *This); HRESULT (STDMETHODCALLTYPE *GetStatus)( IIMAPTransport *This, IXPSTATUS *pCurrentStatus); /*** IIMAPTransport methods ***/ HRESULT (STDMETHODCALLTYPE *InitNew)( IIMAPTransport *This, LPSTR pszLogFilePath, IIMAPCallback *pCBHandler); HRESULT (STDMETHODCALLTYPE *NewIRangeList)( IIMAPTransport *This, IRangeList **pprlNewRangeList); HRESULT (STDMETHODCALLTYPE *Capability)( IIMAPTransport *This, DWORD *pdwCapabilityFlags); HRESULT (STDMETHODCALLTYPE *Select)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *Examine)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *Create)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *Delete)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *Rename)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName, LPSTR lpszNewMailboxName); HRESULT (STDMETHODCALLTYPE *Subscribe)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *Unsubscribe)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *List)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxNameReference, LPSTR lpszMailboxNamePattern); HRESULT (STDMETHODCALLTYPE *Lsub)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxNameReference, LPSTR lpszMailboxNamePattern); HRESULT (STDMETHODCALLTYPE *Append)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszMailboxName, LPSTR lpszMessageFlags, FILETIME ftMessageDateTime, LPSTREAM lpstmMessageToSave); HRESULT (STDMETHODCALLTYPE *Close)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler); HRESULT (STDMETHODCALLTYPE *Expunge)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler); HRESULT (STDMETHODCALLTYPE *Search)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR lpszSearchCriteria, boolean bReturnUIDs, IRangeList *pMsgRange, boolean bUIDRangeList); HRESULT (STDMETHODCALLTYPE *Fetch)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, IRangeList *pMsgRange, boolean bUIDMsgRange, LPSTR lpszFetchArgs); HRESULT (STDMETHODCALLTYPE *Store)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, IRangeList *pMsgRange, boolean bUIDRangeList, LPSTR lpszStoreArgs); HRESULT (STDMETHODCALLTYPE *Copy)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, IRangeList *pMsgRange, boolean bUIDRangeList, LPSTR lpszMailboxName); HRESULT (STDMETHODCALLTYPE *Noop)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler); HRESULT (STDMETHODCALLTYPE *ResizeMsgSeqNumTable)( IIMAPTransport *This, DWORD dwSizeOfMbox); HRESULT (STDMETHODCALLTYPE *UpdateSeqNumToUID)( IIMAPTransport *This, DWORD dwMsgSeqNum, DWORD dwUID); HRESULT (STDMETHODCALLTYPE *RemoveSequenceNum)( IIMAPTransport *This, DWORD dwDeletedMsgSeqNum); HRESULT (STDMETHODCALLTYPE *MsgSeqNumToUID)( IIMAPTransport *This, DWORD dwMsgSeqNum, DWORD *pdwUID); HRESULT (STDMETHODCALLTYPE *GetMsgSeqNumToUIDArray)( IIMAPTransport *This, DWORD **ppdwMsgSeqNumToUIDArray, DWORD *pdwNumberOfElements); HRESULT (STDMETHODCALLTYPE *GetHighestMsgSeqNum)( IIMAPTransport *This, DWORD *pdwHighestMSN); HRESULT (STDMETHODCALLTYPE *ResetMsgSeqNumToUID)( IIMAPTransport *This); HRESULT (STDMETHODCALLTYPE *SetDefaultCBHandler)( IIMAPTransport *This, IIMAPCallback *pCBHandler); HRESULT (STDMETHODCALLTYPE *Status)( IIMAPTransport *This, WPARAM wParam, LPARAM lParam, IIMAPCallback *pCBHandler, LPSTR pszMailboxName, LPSTR pszStatusCmdArgs); END_INTERFACE } IIMAPTransportVtbl; interface IIMAPTransport { CONST_VTBL IIMAPTransportVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IIMAPTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IIMAPTransport_AddRef(This) (This)->lpVtbl->AddRef(This) #define IIMAPTransport_Release(This) (This)->lpVtbl->Release(This) /*** IInternetTransport methods ***/ #define IIMAPTransport_GetServerInfo(This,pInetServer) (This)->lpVtbl->GetServerInfo(This,pInetServer) #define IIMAPTransport_GetIXPType(This) (This)->lpVtbl->GetIXPType(This) #define IIMAPTransport_IsState(This,isstate) (This)->lpVtbl->IsState(This,isstate) #define IIMAPTransport_InetServerFromAccount(This,pAccount,pInetServer) (This)->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer) #define IIMAPTransport_Connect(This,pInetServer,fAuthenticate,fCommandLogging) (This)->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging) #define IIMAPTransport_HandsOffCallback(This) (This)->lpVtbl->HandsOffCallback(This) #define IIMAPTransport_Disconnect(This) (This)->lpVtbl->Disconnect(This) #define IIMAPTransport_DropConnection(This) (This)->lpVtbl->DropConnection(This) #define IIMAPTransport_GetStatus(This,pCurrentStatus) (This)->lpVtbl->GetStatus(This,pCurrentStatus) /*** IIMAPTransport methods ***/ #define IIMAPTransport_InitNew(This,pszLogFilePath,pCBHandler) (This)->lpVtbl->InitNew(This,pszLogFilePath,pCBHandler) #define IIMAPTransport_NewIRangeList(This,pprlNewRangeList) (This)->lpVtbl->NewIRangeList(This,pprlNewRangeList) #define IIMAPTransport_Capability(This,pdwCapabilityFlags) (This)->lpVtbl->Capability(This,pdwCapabilityFlags) #define IIMAPTransport_Select(This,wParam,lParam,pCBHandler,lpszMailboxName) (This)->lpVtbl->Select(This,wParam,lParam,pCBHandler,lpszMailboxName) #define IIMAPTransport_Examine(This,wParam,lParam,pCBHandler,lpszMailboxName) (This)->lpVtbl->Examine(This,wParam,lParam,pCBHandler,lpszMailboxName) #define IIMAPTransport_Create(This,wParam,lParam,pCBHandler,lpszMailboxName) (This)->lpVtbl->Create(This,wParam,lParam,pCBHandler,lpszMailboxName) #define IIMAPTransport_Delete(This,wParam,lParam,pCBHandler,lpszMailboxName) (This)->lpVtbl->Delete(This,wParam,lParam,pCBHandler,lpszMailboxName) #define IIMAPTransport_Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName) (This)->lpVtbl->Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName) #define IIMAPTransport_Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) (This)->lpVtbl->Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) #define IIMAPTransport_Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) (This)->lpVtbl->Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName) #define IIMAPTransport_List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) (This)->lpVtbl->List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) #define IIMAPTransport_Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) (This)->lpVtbl->Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern) #define IIMAPTransport_Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave) (This)->lpVtbl->Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave) #define IIMAPTransport_Close(This,wParam,lParam,pCBHandler) (This)->lpVtbl->Close(This,wParam,lParam,pCBHandler) #define IIMAPTransport_Expunge(This,wParam,lParam,pCBHandler) (This)->lpVtbl->Expunge(This,wParam,lParam,pCBHandler) #define IIMAPTransport_Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList) (This)->lpVtbl->Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList) #define IIMAPTransport_Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs) (This)->lpVtbl->Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs) #define IIMAPTransport_Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs) (This)->lpVtbl->Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs) #define IIMAPTransport_Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName) (This)->lpVtbl->Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName) #define IIMAPTransport_Noop(This,wParam,lParam,pCBHandler) (This)->lpVtbl->Noop(This,wParam,lParam,pCBHandler) #define IIMAPTransport_ResizeMsgSeqNumTable(This,dwSizeOfMbox) (This)->lpVtbl->ResizeMsgSeqNumTable(This,dwSizeOfMbox) #define IIMAPTransport_UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID) (This)->lpVtbl->UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID) #define IIMAPTransport_RemoveSequenceNum(This,dwDeletedMsgSeqNum) (This)->lpVtbl->RemoveSequenceNum(This,dwDeletedMsgSeqNum) #define IIMAPTransport_MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID) (This)->lpVtbl->MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID) #define IIMAPTransport_GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements) (This)->lpVtbl->GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements) #define IIMAPTransport_GetHighestMsgSeqNum(This,pdwHighestMSN) (This)->lpVtbl->GetHighestMsgSeqNum(This,pdwHighestMSN) #define IIMAPTransport_ResetMsgSeqNumToUID(This) (This)->lpVtbl->ResetMsgSeqNumToUID(This) #define IIMAPTransport_SetDefaultCBHandler(This,pCBHandler) (This)->lpVtbl->SetDefaultCBHandler(This,pCBHandler) #define IIMAPTransport_Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs) (This)->lpVtbl->Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs) #else /*** IUnknown methods ***/ static inline HRESULT IIMAPTransport_QueryInterface(IIMAPTransport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IIMAPTransport_AddRef(IIMAPTransport* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IIMAPTransport_Release(IIMAPTransport* This) { return This->lpVtbl->Release(This); } /*** IInternetTransport methods ***/ static inline HRESULT IIMAPTransport_GetServerInfo(IIMAPTransport* This,LPINETSERVER pInetServer) { return This->lpVtbl->GetServerInfo(This,pInetServer); } static inline IXPTYPE IIMAPTransport_GetIXPType(IIMAPTransport* This) { return This->lpVtbl->GetIXPType(This); } static inline HRESULT IIMAPTransport_IsState(IIMAPTransport* This,IXPISSTATE isstate) { return This->lpVtbl->IsState(This,isstate); } static inline HRESULT IIMAPTransport_InetServerFromAccount(IIMAPTransport* This,IImnAccount *pAccount,LPINETSERVER pInetServer) { return This->lpVtbl->InetServerFromAccount(This,pAccount,pInetServer); } static inline HRESULT IIMAPTransport_Connect(IIMAPTransport* This,LPINETSERVER pInetServer,boolean fAuthenticate,boolean fCommandLogging) { return This->lpVtbl->Connect(This,pInetServer,fAuthenticate,fCommandLogging); } static inline HRESULT IIMAPTransport_HandsOffCallback(IIMAPTransport* This) { return This->lpVtbl->HandsOffCallback(This); } static inline HRESULT IIMAPTransport_Disconnect(IIMAPTransport* This) { return This->lpVtbl->Disconnect(This); } static inline HRESULT IIMAPTransport_DropConnection(IIMAPTransport* This) { return This->lpVtbl->DropConnection(This); } static inline HRESULT IIMAPTransport_GetStatus(IIMAPTransport* This,IXPSTATUS *pCurrentStatus) { return This->lpVtbl->GetStatus(This,pCurrentStatus); } /*** IIMAPTransport methods ***/ static inline HRESULT IIMAPTransport_InitNew(IIMAPTransport* This,LPSTR pszLogFilePath,IIMAPCallback *pCBHandler) { return This->lpVtbl->InitNew(This,pszLogFilePath,pCBHandler); } static inline HRESULT IIMAPTransport_NewIRangeList(IIMAPTransport* This,IRangeList **pprlNewRangeList) { return This->lpVtbl->NewIRangeList(This,pprlNewRangeList); } static inline HRESULT IIMAPTransport_Capability(IIMAPTransport* This,DWORD *pdwCapabilityFlags) { return This->lpVtbl->Capability(This,pdwCapabilityFlags); } static inline HRESULT IIMAPTransport_Select(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName) { return This->lpVtbl->Select(This,wParam,lParam,pCBHandler,lpszMailboxName); } static inline HRESULT IIMAPTransport_Examine(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName) { return This->lpVtbl->Examine(This,wParam,lParam,pCBHandler,lpszMailboxName); } static inline HRESULT IIMAPTransport_Create(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName) { return This->lpVtbl->Create(This,wParam,lParam,pCBHandler,lpszMailboxName); } static inline HRESULT IIMAPTransport_Delete(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName) { return This->lpVtbl->Delete(This,wParam,lParam,pCBHandler,lpszMailboxName); } static inline HRESULT IIMAPTransport_Rename(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName,LPSTR lpszNewMailboxName) { return This->lpVtbl->Rename(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszNewMailboxName); } static inline HRESULT IIMAPTransport_Subscribe(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName) { return This->lpVtbl->Subscribe(This,wParam,lParam,pCBHandler,lpszMailboxName); } static inline HRESULT IIMAPTransport_Unsubscribe(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName) { return This->lpVtbl->Unsubscribe(This,wParam,lParam,pCBHandler,lpszMailboxName); } static inline HRESULT IIMAPTransport_List(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxNameReference,LPSTR lpszMailboxNamePattern) { return This->lpVtbl->List(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern); } static inline HRESULT IIMAPTransport_Lsub(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxNameReference,LPSTR lpszMailboxNamePattern) { return This->lpVtbl->Lsub(This,wParam,lParam,pCBHandler,lpszMailboxNameReference,lpszMailboxNamePattern); } static inline HRESULT IIMAPTransport_Append(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszMailboxName,LPSTR lpszMessageFlags,FILETIME ftMessageDateTime,LPSTREAM lpstmMessageToSave) { return This->lpVtbl->Append(This,wParam,lParam,pCBHandler,lpszMailboxName,lpszMessageFlags,ftMessageDateTime,lpstmMessageToSave); } static inline HRESULT IIMAPTransport_Close(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler) { return This->lpVtbl->Close(This,wParam,lParam,pCBHandler); } static inline HRESULT IIMAPTransport_Expunge(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler) { return This->lpVtbl->Expunge(This,wParam,lParam,pCBHandler); } static inline HRESULT IIMAPTransport_Search(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR lpszSearchCriteria,boolean bReturnUIDs,IRangeList *pMsgRange,boolean bUIDRangeList) { return This->lpVtbl->Search(This,wParam,lParam,pCBHandler,lpszSearchCriteria,bReturnUIDs,pMsgRange,bUIDRangeList); } static inline HRESULT IIMAPTransport_Fetch(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,IRangeList *pMsgRange,boolean bUIDMsgRange,LPSTR lpszFetchArgs) { return This->lpVtbl->Fetch(This,wParam,lParam,pCBHandler,pMsgRange,bUIDMsgRange,lpszFetchArgs); } static inline HRESULT IIMAPTransport_Store(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,IRangeList *pMsgRange,boolean bUIDRangeList,LPSTR lpszStoreArgs) { return This->lpVtbl->Store(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszStoreArgs); } static inline HRESULT IIMAPTransport_Copy(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,IRangeList *pMsgRange,boolean bUIDRangeList,LPSTR lpszMailboxName) { return This->lpVtbl->Copy(This,wParam,lParam,pCBHandler,pMsgRange,bUIDRangeList,lpszMailboxName); } static inline HRESULT IIMAPTransport_Noop(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler) { return This->lpVtbl->Noop(This,wParam,lParam,pCBHandler); } static inline HRESULT IIMAPTransport_ResizeMsgSeqNumTable(IIMAPTransport* This,DWORD dwSizeOfMbox) { return This->lpVtbl->ResizeMsgSeqNumTable(This,dwSizeOfMbox); } static inline HRESULT IIMAPTransport_UpdateSeqNumToUID(IIMAPTransport* This,DWORD dwMsgSeqNum,DWORD dwUID) { return This->lpVtbl->UpdateSeqNumToUID(This,dwMsgSeqNum,dwUID); } static inline HRESULT IIMAPTransport_RemoveSequenceNum(IIMAPTransport* This,DWORD dwDeletedMsgSeqNum) { return This->lpVtbl->RemoveSequenceNum(This,dwDeletedMsgSeqNum); } static inline HRESULT IIMAPTransport_MsgSeqNumToUID(IIMAPTransport* This,DWORD dwMsgSeqNum,DWORD *pdwUID) { return This->lpVtbl->MsgSeqNumToUID(This,dwMsgSeqNum,pdwUID); } static inline HRESULT IIMAPTransport_GetMsgSeqNumToUIDArray(IIMAPTransport* This,DWORD **ppdwMsgSeqNumToUIDArray,DWORD *pdwNumberOfElements) { return This->lpVtbl->GetMsgSeqNumToUIDArray(This,ppdwMsgSeqNumToUIDArray,pdwNumberOfElements); } static inline HRESULT IIMAPTransport_GetHighestMsgSeqNum(IIMAPTransport* This,DWORD *pdwHighestMSN) { return This->lpVtbl->GetHighestMsgSeqNum(This,pdwHighestMSN); } static inline HRESULT IIMAPTransport_ResetMsgSeqNumToUID(IIMAPTransport* This) { return This->lpVtbl->ResetMsgSeqNumToUID(This); } static inline HRESULT IIMAPTransport_SetDefaultCBHandler(IIMAPTransport* This,IIMAPCallback *pCBHandler) { return This->lpVtbl->SetDefaultCBHandler(This,pCBHandler); } static inline HRESULT IIMAPTransport_Status(IIMAPTransport* This,WPARAM wParam,LPARAM lParam,IIMAPCallback *pCBHandler,LPSTR pszMailboxName,LPSTR pszStatusCmdArgs) { return This->lpVtbl->Status(This,wParam,lParam,pCBHandler,pszMailboxName,pszStatusCmdArgs); } #endif #endif #endif #endif /* __IIMAPTransport_INTERFACE_DEFINED__ */ HRESULT WINAPI CreateRangeList(IRangeList **ppRangeList); HRESULT WINAPI CreateSMTPTransport(ISMTPTransport **ppTransport); HRESULT WINAPI CreatePOP3Transport(IPOP3Transport **ppTransport); HRESULT WINAPI CreateIMAPTransport(IIMAPTransport **ppTransport); /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __imnxport_h__ */