/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/mimeole.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 __mimeole_h__ #define __mimeole_h__ /* Forward declarations */ #ifndef __IMimeInternational_FWD_DEFINED__ #define __IMimeInternational_FWD_DEFINED__ typedef interface IMimeInternational IMimeInternational; #ifdef __cplusplus interface IMimeInternational; #endif /* __cplusplus */ #endif #ifndef __IMimeSecurity_FWD_DEFINED__ #define __IMimeSecurity_FWD_DEFINED__ typedef interface IMimeSecurity IMimeSecurity; #ifdef __cplusplus interface IMimeSecurity; #endif /* __cplusplus */ #endif #ifndef __IMimeEnumHeaderRows_FWD_DEFINED__ #define __IMimeEnumHeaderRows_FWD_DEFINED__ typedef interface IMimeEnumHeaderRows IMimeEnumHeaderRows; #ifdef __cplusplus interface IMimeEnumHeaderRows; #endif /* __cplusplus */ #endif #ifndef __IMimeHeaderTable_FWD_DEFINED__ #define __IMimeHeaderTable_FWD_DEFINED__ typedef interface IMimeHeaderTable IMimeHeaderTable; #ifdef __cplusplus interface IMimeHeaderTable; #endif /* __cplusplus */ #endif #ifndef __IMimePropertySchema_FWD_DEFINED__ #define __IMimePropertySchema_FWD_DEFINED__ typedef interface IMimePropertySchema IMimePropertySchema; #ifdef __cplusplus interface IMimePropertySchema; #endif /* __cplusplus */ #endif #ifndef __IMimePropertySet_FWD_DEFINED__ #define __IMimePropertySet_FWD_DEFINED__ typedef interface IMimePropertySet IMimePropertySet; #ifdef __cplusplus interface IMimePropertySet; #endif /* __cplusplus */ #endif #ifndef __IMimeAddressTable_FWD_DEFINED__ #define __IMimeAddressTable_FWD_DEFINED__ typedef interface IMimeAddressTable IMimeAddressTable; #ifdef __cplusplus interface IMimeAddressTable; #endif /* __cplusplus */ #endif #ifndef __IMimeWebDocument_FWD_DEFINED__ #define __IMimeWebDocument_FWD_DEFINED__ typedef interface IMimeWebDocument IMimeWebDocument; #ifdef __cplusplus interface IMimeWebDocument; #endif /* __cplusplus */ #endif #ifndef __IMimeBody_FWD_DEFINED__ #define __IMimeBody_FWD_DEFINED__ typedef interface IMimeBody IMimeBody; #ifdef __cplusplus interface IMimeBody; #endif /* __cplusplus */ #endif #ifndef __IMimeMessageTree_FWD_DEFINED__ #define __IMimeMessageTree_FWD_DEFINED__ typedef interface IMimeMessageTree IMimeMessageTree; #ifdef __cplusplus interface IMimeMessageTree; #endif /* __cplusplus */ #endif #ifndef __IMimeMessage_FWD_DEFINED__ #define __IMimeMessage_FWD_DEFINED__ typedef interface IMimeMessage IMimeMessage; #ifdef __cplusplus interface IMimeMessage; #endif /* __cplusplus */ #endif #ifndef __IMimeMessageCallback_FWD_DEFINED__ #define __IMimeMessageCallback_FWD_DEFINED__ typedef interface IMimeMessageCallback IMimeMessageCallback; #ifdef __cplusplus interface IMimeMessageCallback; #endif /* __cplusplus */ #endif #ifndef __IPersistMime_FWD_DEFINED__ #define __IPersistMime_FWD_DEFINED__ typedef interface IPersistMime IPersistMime; #ifdef __cplusplus interface IPersistMime; #endif /* __cplusplus */ #endif #ifndef __IMimeMessageParts_FWD_DEFINED__ #define __IMimeMessageParts_FWD_DEFINED__ typedef interface IMimeMessageParts IMimeMessageParts; #ifdef __cplusplus interface IMimeMessageParts; #endif /* __cplusplus */ #endif #ifndef __IMimeEnumProperties_FWD_DEFINED__ #define __IMimeEnumProperties_FWD_DEFINED__ typedef interface IMimeEnumProperties IMimeEnumProperties; #ifdef __cplusplus interface IMimeEnumProperties; #endif /* __cplusplus */ #endif #ifndef __IMimeEnumAddressTypes_FWD_DEFINED__ #define __IMimeEnumAddressTypes_FWD_DEFINED__ typedef interface IMimeEnumAddressTypes IMimeEnumAddressTypes; #ifdef __cplusplus interface IMimeEnumAddressTypes; #endif /* __cplusplus */ #endif #ifndef __IMimeEnumMessageParts_FWD_DEFINED__ #define __IMimeEnumMessageParts_FWD_DEFINED__ typedef interface IMimeEnumMessageParts IMimeEnumMessageParts; #ifdef __cplusplus interface IMimeEnumMessageParts; #endif /* __cplusplus */ #endif #ifndef __IHashTable_FWD_DEFINED__ #define __IHashTable_FWD_DEFINED__ typedef interface IHashTable IHashTable; #ifdef __cplusplus interface IHashTable; #endif /* __cplusplus */ #endif #ifndef __IMimeAllocator_FWD_DEFINED__ #define __IMimeAllocator_FWD_DEFINED__ typedef interface IMimeAllocator IMimeAllocator; #ifdef __cplusplus interface IMimeAllocator; #endif /* __cplusplus */ #endif #ifndef __IMimeObjResolver_FWD_DEFINED__ #define __IMimeObjResolver_FWD_DEFINED__ typedef interface IMimeObjResolver IMimeObjResolver; #ifdef __cplusplus interface IMimeObjResolver; #endif /* __cplusplus */ #endif #ifndef __IFontCache_FWD_DEFINED__ #define __IFontCache_FWD_DEFINED__ typedef interface IFontCache IFontCache; #ifdef __cplusplus interface IFontCache; #endif /* __cplusplus */ #endif #ifndef __IFontCacheNotify_FWD_DEFINED__ #define __IFontCacheNotify_FWD_DEFINED__ typedef interface IFontCacheNotify IFontCacheNotify; #ifdef __cplusplus interface IFontCacheNotify; #endif /* __cplusplus */ #endif #ifndef __IMimeEditTag_FWD_DEFINED__ #define __IMimeEditTag_FWD_DEFINED__ typedef interface IMimeEditTag IMimeEditTag; #ifdef __cplusplus interface IMimeEditTag; #endif /* __cplusplus */ #endif #ifndef __IMimeEditTagCollection_FWD_DEFINED__ #define __IMimeEditTagCollection_FWD_DEFINED__ typedef interface IMimeEditTagCollection IMimeEditTagCollection; #ifdef __cplusplus interface IMimeEditTagCollection; #endif /* __cplusplus */ #endif #ifndef __IMimeSecurityCallback_FWD_DEFINED__ #define __IMimeSecurityCallback_FWD_DEFINED__ typedef interface IMimeSecurityCallback IMimeSecurityCallback; #ifdef __cplusplus interface IMimeSecurityCallback; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #include #ifdef __cplusplus extern "C" { #endif #ifndef __IMimeMessageCallback_FWD_DEFINED__ #define __IMimeMessageCallback_FWD_DEFINED__ typedef interface IMimeMessageCallback IMimeMessageCallback; #ifdef __cplusplus interface IMimeMessageCallback; #endif /* __cplusplus */ #endif #ifndef __IMimeEnumAddressTypes_FWD_DEFINED__ #define __IMimeEnumAddressTypes_FWD_DEFINED__ typedef interface IMimeEnumAddressTypes IMimeEnumAddressTypes; #ifdef __cplusplus interface IMimeEnumAddressTypes; #endif /* __cplusplus */ #endif #ifndef __IMimeMessageParts_FWD_DEFINED__ #define __IMimeMessageParts_FWD_DEFINED__ typedef interface IMimeMessageParts IMimeMessageParts; #ifdef __cplusplus interface IMimeMessageParts; #endif /* __cplusplus */ #endif #ifndef __IMimeMessageTree_FWD_DEFINED__ #define __IMimeMessageTree_FWD_DEFINED__ typedef interface IMimeMessageTree IMimeMessageTree; #ifdef __cplusplus interface IMimeMessageTree; #endif /* __cplusplus */ #endif #ifndef __IMimeBody_FWD_DEFINED__ #define __IMimeBody_FWD_DEFINED__ typedef interface IMimeBody IMimeBody; #ifdef __cplusplus interface IMimeBody; #endif /* __cplusplus */ #endif #ifndef __IMimeEnumProperties_FWD_DEFINED__ #define __IMimeEnumProperties_FWD_DEFINED__ typedef interface IMimeEnumProperties IMimeEnumProperties; #ifdef __cplusplus interface IMimeEnumProperties; #endif /* __cplusplus */ #endif #ifdef _MIMEOLE_ #define MIMEOLEAPI STDAPI #define MIMEOLEAPI_(type) STDAPI_(type) #else #define MIMEOLEAPI DECLSPEC_IMPORT STDAPI #define MIMEOLEAPI_(type) DECLSPEC_IMPORT STDAPI_(type) #endif DEFINE_GUID(CLSID_IMimeBody, 0xfd853cdb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IMimeAllocator, 0xfd853cdd, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IMimeMessage, 0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IMimeSecurity, 0xfd853cde, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IVirtualStream, 0xfd853cdf, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_IMimeHtmlProtocol,0x5300401,0xbcbc, 0x11d0, 0x85, 0xe3, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); DEFINE_GUID(CLSID_MimeEdit, 0x1c82ead9, 0x508e, 0x11d1, 0x8d, 0xcf, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf9); #define MIME_E_REG_CREATE_KEY 0x800cce01 #define MIME_E_REG_QUERY_INFO 0x800cce02 #define MIME_E_INVALID_ENCTYPE 0x800cce03 #define MIME_E_BOUNDARY_MISMATCH 0x800cce04 #define MIME_E_NOT_FOUND 0x800cce05 #define MIME_E_NO_DATA 0x800cce05 #define MIME_E_BUFFER_TOO_SMALL 0x800cce06 #define MIME_E_INVALID_ITEM_FLAGS 0x800cce07 #define MIME_E_ONE_LINE_ITEME 0x800cce08 #define MIME_E_INVALID_HANDLE 0x800cce09 #define MIME_E_CHARSET_TRANSLATE 0x800cce0a #define MIME_E_NOT_INITIALIZED 0x800cce0b #define MIME_E_INVALID_OPTION_VALUE 0x800cce1f #define MIME_E_INVALID_OPTION_ID 0x800cce20 #define MIME_E_INVALID_HEADER_NAME 0x800cce21 #define MIME_E_NOT_BOUND 0x800cce22 #define MIME_E_MAX_SIZE_TOO_SMALL 0x800cce23 #define MIME_E_MULTIPART_HAS_CHILDREN 0x800cce25 #define MIME_E_INVALID_PROP_FLAGS 0x800cce26 #define MIME_E_INVALID_ADDRESS_TYPE 0x800cce27 #define MIME_E_INVALID_OBJECT_IID 0x800cce28 #define MIME_E_MLANG_DLL_NOT_FOUND 0x800cce29 #define MIME_E_ROOT_NOT_EMPTY 0x800cce2a #define MIME_E_MLANG_BAD_DLL 0x800cce2b #define MIME_E_REG_OPEN_KEY 0x800cce2c #define MIME_E_INVALID_INET_DATE 0x800cce2d #define MIME_E_INVALID_BODYTYPE 0x800cce2e #define MIME_E_INVALID_DELETE_TYPE 0x800cce2f #define MIME_E_OPTION_HAS_NO_VALUE 0x800cce30 #define MIME_E_INVALID_CHARSET_TYPE 0x800cce31 #define MIME_E_INVALID_TEXT_TYPE 0x800cce38 #define MIME_E_SECURITY_NOOP 0x800cceb1 #define MIME_S_SECURITY_NOOP 0x000cceb1 typedef enum tagMIMEPROPID { PID_HDR_NEWSGROUP = 2, PID_HDR_NEWSGROUPS = 3, PID_HDR_REFS = 4, PID_HDR_SUBJECT = 5, PID_HDR_FROM = 6, PID_HDR_MESSAGEID = 7, PID_HDR_RETURNPATH = 8, PID_HDR_RR = 9, PID_HDR_RETRCPTO = 10, PID_HDR_APPARTO = 11, PID_HDR_DATE = 12, PID_HDR_RECEIVED = 13, PID_HDR_REPLYTO = 14, PID_HDR_XMAILER = 15, PID_HDR_BCC = 16, PID_HDR_MIMEVER = 17, PID_HDR_CNTTYPE = 18, PID_HDR_CNTXFER = 19, PID_HDR_CNTID = 20, PID_HDR_CNTDESC = 21, PID_HDR_CNTDISP = 22, PID_HDR_CNTBASE = 23, PID_HDR_CNTLOC = 24, PID_HDR_TO = 25, PID_HDR_PATH = 26, PID_HDR_FOLLOWUPTO = 27, PID_HDR_EXPIRES = 28, PID_HDR_CC = 29, PID_HDR_CONTROL = 30, PID_HDR_DISTRIB = 31, PID_HDR_KEYWORDS = 32, PID_HDR_SUMMARY = 33, PID_HDR_APPROVED = 34, PID_HDR_LINES = 35, PID_HDR_XREF = 36, PID_HDR_ORG = 37, PID_HDR_XNEWSRDR = 38, PID_HDR_XPRI = 39, PID_HDR_XMSPRI = 40, PID_PAR_FILENAME = 41, PID_PAR_BOUNDARY = 42, PID_PAR_CHARSET = 43, PID_PAR_NAME = 44, PID_ATT_FILENAME = 45, PID_ATT_GENFNAME = 46, PID_ATT_PRITYPE = 47, PID_ATT_SUBTYPE = 48, PID_ATT_NORMSUBJ = 49, PID_ATT_ILLEGAL = 50, PID_ATT_RENDERED = 51, PID_ATT_SENTTIME = 52, PID_ATT_RECVTIME = 53, PID_ATT_PRIORITY = 54, PID_HDR_COMMENT = 55, PID_HDR_ENCODING = 56, PID_HDR_ENCRYPTED = 57, PID_HDR_OFFSETS = 58, PID_HDR_XUNSENT = 59, PID_HDR_ARTICLEID = 60, PID_HDR_SENDER = 61, PID_ATT_SERVER = 62, PID_ATT_ACCOUNT = 63, PID_ATT_UIDL = 64, PID_ATT_STOREMSGID = 65, PID_ATT_USERNAME = 66, PID_ATT_FORWARDTO = 67, PID_ATT_STOREFOLDERID = 68, PID_ATT_GHOSTED = 69, PID_ATT_UNCACHEDSIZE = 70, PID_ATT_COMBINED = 71, PID_ATT_AUTOINLINED = 72, PID_HDR_DISP_NOTIFICATION_TO = 73, PID_PAR_REPLYTYPE = 74, PID_PAR_FORMAT = 75, PID_ATT_FORMAT = 76, PID_HDR_INREPLYTO = 77, PID_ATT_ACCOUNTNAME = 78, PID_LAST = 79, } MIMEPROPID; #define ISPIDSTR(_name) (((DWORD_PTR)(_name) >> 16) == 0) #define STRTOPID(_name) ((DWORD)((DWORD_PTR)((LPCSTR)(_name)))) #define PIDTOSTR(_id) ((LPCSTR)((DWORD_PTR)(_id))) #define TYPEDID_ID(_typedid) (((ULONG)(_typedid))>>16) #define TYPEDID_MASK ((ULONG)0xffff) #define TYPEDID_TYPE(t) ((VARTYPE)((t) & TYPEDID_MASK)) #define OID_ALLOW_8BIT_HEADER (0x00010000 | VT_BOOL) #define OID_CBMAX_HEADER_LINE (0x00020000 | VT_UI4) #define OID_SAVE_FORMAT (0x00030000 | VT_UI4) #define OID_WRAP_BODY_TEXT (0x00040000 | VT_BOOL) #define OID_CBMAX_BODY_LINE (0x00050000 | VT_UI4) #define OID_TRANSMIT_BODY_ENCODING (0x00060000 | VT_UI4) #define OID_TRANSMIT_TEXT_ENCODING (0x00070000 | VT_UI4) #define OID_GENERATE_MESSAGE_ID (0x00080000 | VT_BOOL) #define OID_HIDE_TNEF_ATTACHMENTS (0x000e0000 | VT_BOOL) #define OID_CLEANUP_TREE_ON_SAVE (0x000f0000 | VT_BOOL) #define OID_BODY_REMOVE_NBSP (0x00140000 | VT_BOOL) #define OID_DEFAULT_BODY_CHARSET (0x00150000 | VT_UI4) #define OID_DEFAULT_HEADER_CHARSET (0x00160000 | VT_UI4) #define OID_DBCS_ESCAPE_IS_8BIT (0x00170000 | VT_BOOL) #define OID_SECURITY_TYPE (0x00180000 | VT_UI4) #define OID_SECURITY_HWND_OWNER (0x00320000 | VT_UI4) #define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4) #define OID_CAN_INLINE_TEXT_BODIES (0x00380000 | VT_BOOL) #define OID_SHOW_MACBINARY (0x00390000 | VT_BOOL) #define OID_SAVEBODY_KEEPBOUNDARY (0x00400000 | VT_BOOL) #define OID_SECURITY_2KEY_CERT_BAG (0x00590000 | VT_VECTOR | VT_UI4) #define OID_SECURITY_2KEY_CERT_BAG_64 (0x00590000 | VT_VECTOR | VT_UI8) #ifndef __MIMEOLE_LIBRARY_DEFINED__ #define __MIMEOLE_LIBRARY_DEFINED__ DEFINE_GUID(LIBID_MIMEOLE, 0xe4b28371, 0x83b0, 0x11d0, 0x82,0x59, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); typedef void *HCHARSET; typedef void *HBODY; typedef void *HHEADERROW; typedef HCHARSET *LPHCHARSET; typedef HBODY *LPHBODY; typedef HHEADERROW *LPHHEADERROW; typedef DWORD TYPEDID; typedef const PROPVARIANT *LPCPROPVARIANT; typedef const BLOB *LPCBLOB; typedef enum tagRELOADTYPE { RELOAD_HEADER_NONE = 0, RELOAD_HEADER_RESET = 1, RELOAD_HEADER_APPEND = 2, RELOAD_HEADER_REPLACE = 3 } RELOADTYPE; typedef enum tagMIMESAVETYPE { SAVE_RFC822 = 0, SAVE_RFC1521 = 1 } MIMESAVETYPE; typedef enum tagCSETAPPLYTYPE { CSET_APPLY_UNTAGGED = 0, CSET_APPLY_ALL = 1, CSET_APPLY_TAG_ALL = 2 } CSETAPPLYTYPE; typedef enum tagENCODINGTYPE { IET_BINARY = 0, IET_BASE64 = 1, IET_UUENCODE = 2, IET_QP = 3, IET_7BIT = 4, IET_8BIT = 5, IET_INETCSET = 6, IET_UNICODE = 7, IET_RFC1522 = 8, IET_ENCODED = 9, IET_CURRENT = 10, IET_UNKNOWN = 11, IET_BINHEX40 = 12, IET_LAST = 13 } ENCODINGTYPE; #define IET_DECODED (IET_BINARY) #define CCHMAX_HEADER_LINE (1000) /***************************************************************************** * IMimeInternational interface */ #ifndef __IMimeInternational_INTERFACE_DEFINED__ #define __IMimeInternational_INTERFACE_DEFINED__ typedef IMimeInternational *LPMIMEINTERNATIONAL; typedef DWORD CODEPAGEID; #define CP_USASCII (1252) #define CP_UNICODE (1200) #define CP_JAUTODETECT (50932) #define CP_KAUTODETECT (50949) #define CP_ISO2022JPESC (50221) #define CP_ISO2022JPSIO (50222) #define CCHMAX_CSET_NAME (128) #define CCHMAX_LANG_NAME (128) #define CCHMAX_FACE_NAME (128) typedef struct tagINETCSETINFO { CHAR szName[128]; HCHARSET hCharset; CODEPAGEID cpiWindows; CODEPAGEID cpiInternet; DWORD dwReserved1; } INETCSETINFO; typedef struct tagINETCSETINFO *LPINETCSETINFO; typedef enum tagINETLANGMASK { ILM_FAMILY = 0x1, ILM_NAME = 0x2, ILM_BODYCSET = 0x4, ILM_HEADERCSET = 0x8, ILM_WEBCSET = 0x10, ILM_FIXEDFONT = 0x20, ILM_VARIABLEFONT = 0x40 } INETLANGMASK; typedef struct tagCODEPAGEINFO { DWORD dwMask; CODEPAGEID cpiCodePage; BOOL fIsValidCodePage; ULONG ulMaxCharSize; BOOL fInternetCP; CODEPAGEID cpiFamily; CHAR szName[128]; CHAR szBodyCset[128]; CHAR szHeaderCset[128]; CHAR szWebCset[128]; CHAR szFixedFont[128]; CHAR szVariableFont[128]; ENCODINGTYPE ietNewsDefault; ENCODINGTYPE ietMailDefault; DWORD dwReserved1; } CODEPAGEINFO; typedef struct tagCODEPAGEINFO *LPCODEPAGEINFO; typedef struct tagRFC1522INFO { BOOL fRfc1522Allowed; BOOL fRfc1522Used; BOOL fAllow8bit; HCHARSET hRfc1522Cset; } RFC1522INFO; typedef struct tagRFC1522INFO *LPRFC1522INFO; typedef enum tagCHARSETTYPE { CHARSET_BODY = 0, CHARSET_HEADER = 1, CHARSET_WEB = 2 } CHARSETTYPE; DEFINE_GUID(IID_IMimeInternational, 0xc5588349, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c5588349-7f86-11d0-8252-00c04fd85ab4") IMimeInternational : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetDefaultCharset( HCHARSET hCharset) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultCharset( LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageCharset( CODEPAGEID cpiCodePage, CHARSETTYPE ctCsetType, LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE FindCharset( LPCSTR pszCharset, LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo( HCHARSET hCharset, LPINETCSETINFO pCsetInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo( CODEPAGEID cpiCodePage, LPCODEPAGEINFO pCodePageInfo) = 0; virtual HRESULT STDMETHODCALLTYPE CanConvertCodePages( CODEPAGEID cpiSource, CODEPAGEID cpiDest) = 0; virtual HRESULT STDMETHODCALLTYPE DecodeHeader( HCHARSET hCharset, LPCSTR pszData, LPPROPVARIANT pDecoded, LPRFC1522INFO pRfc1522Info) = 0; virtual HRESULT STDMETHODCALLTYPE EncodeHeader( HCHARSET hCharset, LPPROPVARIANT pData, LPSTR *ppszEncoded, LPRFC1522INFO pRfc1522Info) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertBuffer( CODEPAGEID cpiSource, CODEPAGEID cpiDest, LPBLOB pIn, LPBLOB pOut, ULONG *pcbRead) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertString( CODEPAGEID cpiSource, CODEPAGEID cpiDest, LPPROPVARIANT pIn, LPPROPVARIANT pOut) = 0; virtual HRESULT STDMETHODCALLTYPE MLANG_ConvertInetReset( ) = 0; virtual HRESULT STDMETHODCALLTYPE MLANG_ConvertInetString( CODEPAGEID cpiSource, CODEPAGEID cpiDest, LPCSTR pSource, int *pnSizeOfSource, LPSTR pDestination, int *pnDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE Rfc1522Decode( LPCSTR pszValue, LPSTR pszCharset, ULONG cchmax, LPSTR *ppszDecoded) = 0; virtual HRESULT STDMETHODCALLTYPE Rfc1522Encode( LPCSTR pszValue, HCHARSET hCharset, LPSTR *ppszEncoded) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeInternational, 0xc5588349, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeInternationalVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeInternational *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeInternational *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeInternational *This); /*** IMimeInternational methods ***/ HRESULT (STDMETHODCALLTYPE *SetDefaultCharset)( IMimeInternational *This, HCHARSET hCharset); HRESULT (STDMETHODCALLTYPE *GetDefaultCharset)( IMimeInternational *This, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *GetCodePageCharset)( IMimeInternational *This, CODEPAGEID cpiCodePage, CHARSETTYPE ctCsetType, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *FindCharset)( IMimeInternational *This, LPCSTR pszCharset, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)( IMimeInternational *This, HCHARSET hCharset, LPINETCSETINFO pCsetInfo); HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)( IMimeInternational *This, CODEPAGEID cpiCodePage, LPCODEPAGEINFO pCodePageInfo); HRESULT (STDMETHODCALLTYPE *CanConvertCodePages)( IMimeInternational *This, CODEPAGEID cpiSource, CODEPAGEID cpiDest); HRESULT (STDMETHODCALLTYPE *DecodeHeader)( IMimeInternational *This, HCHARSET hCharset, LPCSTR pszData, LPPROPVARIANT pDecoded, LPRFC1522INFO pRfc1522Info); HRESULT (STDMETHODCALLTYPE *EncodeHeader)( IMimeInternational *This, HCHARSET hCharset, LPPROPVARIANT pData, LPSTR *ppszEncoded, LPRFC1522INFO pRfc1522Info); HRESULT (STDMETHODCALLTYPE *ConvertBuffer)( IMimeInternational *This, CODEPAGEID cpiSource, CODEPAGEID cpiDest, LPBLOB pIn, LPBLOB pOut, ULONG *pcbRead); HRESULT (STDMETHODCALLTYPE *ConvertString)( IMimeInternational *This, CODEPAGEID cpiSource, CODEPAGEID cpiDest, LPPROPVARIANT pIn, LPPROPVARIANT pOut); HRESULT (STDMETHODCALLTYPE *MLANG_ConvertInetReset)( IMimeInternational *This); HRESULT (STDMETHODCALLTYPE *MLANG_ConvertInetString)( IMimeInternational *This, CODEPAGEID cpiSource, CODEPAGEID cpiDest, LPCSTR pSource, int *pnSizeOfSource, LPSTR pDestination, int *pnDstSize); HRESULT (STDMETHODCALLTYPE *Rfc1522Decode)( IMimeInternational *This, LPCSTR pszValue, LPSTR pszCharset, ULONG cchmax, LPSTR *ppszDecoded); HRESULT (STDMETHODCALLTYPE *Rfc1522Encode)( IMimeInternational *This, LPCSTR pszValue, HCHARSET hCharset, LPSTR *ppszEncoded); END_INTERFACE } IMimeInternationalVtbl; interface IMimeInternational { CONST_VTBL IMimeInternationalVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeInternational_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeInternational_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeInternational_Release(This) (This)->lpVtbl->Release(This) /*** IMimeInternational methods ***/ #define IMimeInternational_SetDefaultCharset(This,hCharset) (This)->lpVtbl->SetDefaultCharset(This,hCharset) #define IMimeInternational_GetDefaultCharset(This,phCharset) (This)->lpVtbl->GetDefaultCharset(This,phCharset) #define IMimeInternational_GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset) (This)->lpVtbl->GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset) #define IMimeInternational_FindCharset(This,pszCharset,phCharset) (This)->lpVtbl->FindCharset(This,pszCharset,phCharset) #define IMimeInternational_GetCharsetInfo(This,hCharset,pCsetInfo) (This)->lpVtbl->GetCharsetInfo(This,hCharset,pCsetInfo) #define IMimeInternational_GetCodePageInfo(This,cpiCodePage,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,cpiCodePage,pCodePageInfo) #define IMimeInternational_CanConvertCodePages(This,cpiSource,cpiDest) (This)->lpVtbl->CanConvertCodePages(This,cpiSource,cpiDest) #define IMimeInternational_DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info) (This)->lpVtbl->DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info) #define IMimeInternational_EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info) (This)->lpVtbl->EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info) #define IMimeInternational_ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead) (This)->lpVtbl->ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead) #define IMimeInternational_ConvertString(This,cpiSource,cpiDest,pIn,pOut) (This)->lpVtbl->ConvertString(This,cpiSource,cpiDest,pIn,pOut) #define IMimeInternational_MLANG_ConvertInetReset(This) (This)->lpVtbl->MLANG_ConvertInetReset(This) #define IMimeInternational_MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize) (This)->lpVtbl->MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize) #define IMimeInternational_Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded) (This)->lpVtbl->Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded) #define IMimeInternational_Rfc1522Encode(This,pszValue,hCharset,ppszEncoded) (This)->lpVtbl->Rfc1522Encode(This,pszValue,hCharset,ppszEncoded) #else /*** IUnknown methods ***/ static inline HRESULT IMimeInternational_QueryInterface(IMimeInternational* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeInternational_AddRef(IMimeInternational* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeInternational_Release(IMimeInternational* This) { return This->lpVtbl->Release(This); } /*** IMimeInternational methods ***/ static inline HRESULT IMimeInternational_SetDefaultCharset(IMimeInternational* This,HCHARSET hCharset) { return This->lpVtbl->SetDefaultCharset(This,hCharset); } static inline HRESULT IMimeInternational_GetDefaultCharset(IMimeInternational* This,LPHCHARSET phCharset) { return This->lpVtbl->GetDefaultCharset(This,phCharset); } static inline HRESULT IMimeInternational_GetCodePageCharset(IMimeInternational* This,CODEPAGEID cpiCodePage,CHARSETTYPE ctCsetType,LPHCHARSET phCharset) { return This->lpVtbl->GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset); } static inline HRESULT IMimeInternational_FindCharset(IMimeInternational* This,LPCSTR pszCharset,LPHCHARSET phCharset) { return This->lpVtbl->FindCharset(This,pszCharset,phCharset); } static inline HRESULT IMimeInternational_GetCharsetInfo(IMimeInternational* This,HCHARSET hCharset,LPINETCSETINFO pCsetInfo) { return This->lpVtbl->GetCharsetInfo(This,hCharset,pCsetInfo); } static inline HRESULT IMimeInternational_GetCodePageInfo(IMimeInternational* This,CODEPAGEID cpiCodePage,LPCODEPAGEINFO pCodePageInfo) { return This->lpVtbl->GetCodePageInfo(This,cpiCodePage,pCodePageInfo); } static inline HRESULT IMimeInternational_CanConvertCodePages(IMimeInternational* This,CODEPAGEID cpiSource,CODEPAGEID cpiDest) { return This->lpVtbl->CanConvertCodePages(This,cpiSource,cpiDest); } static inline HRESULT IMimeInternational_DecodeHeader(IMimeInternational* This,HCHARSET hCharset,LPCSTR pszData,LPPROPVARIANT pDecoded,LPRFC1522INFO pRfc1522Info) { return This->lpVtbl->DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info); } static inline HRESULT IMimeInternational_EncodeHeader(IMimeInternational* This,HCHARSET hCharset,LPPROPVARIANT pData,LPSTR *ppszEncoded,LPRFC1522INFO pRfc1522Info) { return This->lpVtbl->EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info); } static inline HRESULT IMimeInternational_ConvertBuffer(IMimeInternational* This,CODEPAGEID cpiSource,CODEPAGEID cpiDest,LPBLOB pIn,LPBLOB pOut,ULONG *pcbRead) { return This->lpVtbl->ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead); } static inline HRESULT IMimeInternational_ConvertString(IMimeInternational* This,CODEPAGEID cpiSource,CODEPAGEID cpiDest,LPPROPVARIANT pIn,LPPROPVARIANT pOut) { return This->lpVtbl->ConvertString(This,cpiSource,cpiDest,pIn,pOut); } static inline HRESULT IMimeInternational_MLANG_ConvertInetReset(IMimeInternational* This) { return This->lpVtbl->MLANG_ConvertInetReset(This); } static inline HRESULT IMimeInternational_MLANG_ConvertInetString(IMimeInternational* This,CODEPAGEID cpiSource,CODEPAGEID cpiDest,LPCSTR pSource,int *pnSizeOfSource,LPSTR pDestination,int *pnDstSize) { return This->lpVtbl->MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize); } static inline HRESULT IMimeInternational_Rfc1522Decode(IMimeInternational* This,LPCSTR pszValue,LPSTR pszCharset,ULONG cchmax,LPSTR *ppszDecoded) { return This->lpVtbl->Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded); } static inline HRESULT IMimeInternational_Rfc1522Encode(IMimeInternational* This,LPCSTR pszValue,HCHARSET hCharset,LPSTR *ppszEncoded) { return This->lpVtbl->Rfc1522Encode(This,pszValue,hCharset,ppszEncoded); } #endif #endif #endif #endif /* __IMimeInternational_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeSecurity interface */ #ifndef __IMimeSecurity_INTERFACE_DEFINED__ #define __IMimeSecurity_INTERFACE_DEFINED__ typedef IMimeSecurity *LPMIMESECURITY; #ifdef __WINE_WINCRYPT_H typedef PCCERT_CONTEXT PCX509CERT; #else typedef const void *PCX509CERT; typedef void *HCERTSTORE; #endif typedef BLOB THUMBBLOB; typedef void *HCAPICERTSTORE; #define MST_NONE 0x00000000 #define MST_THIS_SIGN 0x00000001 #define MST_THIS_ENCRYPT 0x00000002 #define MST_BLOB_FLAG 0x00000004 #define MST_THIS_BLOBSIGN (MST_BLOB_FLAG | MST_THIS_SIGN) #define MST_CHILD_SIGN 0x00000100 #define MST_CHILD_ENCRYPT 0x00000200 #define MST_SUBMSG_SIGN 0x00001000 #define MST_SUBMSG_ENCRYPT 0x00002000 #define MST_RECEIPT_REQUEST 0x00010000 #define MST_CLASS_SMIME_V1 0x00000000 #define MST_CLASS_PGP 0x01000000 typedef enum tagCERTSTATE { CERTIFICATE_OK = 0, CERTIFICATE_NOT_PRESENT = 1, CERTIFICATE_EXPIRED = 2, CERTIFICATE_CHAIN_TOO_LONG = 3, CERTIFICATE_MISSING_ISSUER = 4, CERTIFICATE_CRL_LISTED = 5, CERTIFICATE_NOT_TRUSTED = 6, CERTIFICATE_INVALID = 7, CERTIFICATE_ERROR = 8, CERTIFICATE_NOPRINT = 9, CERTIFICATE_UNKNOWN = 10 } CERTSTATE; typedef enum tagCERTNAMETYPE { SIMPLE = 0, OID = 1, X500 = 2 } CERTNAMETYPE; typedef enum tagCERTDATAID { CDID_EMAIL = 0, CDID_MAX = 1 } CERTDATAID; typedef struct tagX509CERTRESULT { DWORD cEntries; CERTSTATE *rgcs; PCX509CERT *rgpCert; } X509CERTRESULT; typedef struct tagX509CERTRESULT *PX509CERTRESULT; typedef const X509CERTRESULT *PCX509CERTRESULT; DEFINE_GUID(IID_IMimeSecurity, 0xc5588353, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c5588353-7f86-11d0-8252-00c04fd85ab4") IMimeSecurity : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InitNew( ) = 0; virtual HRESULT STDMETHODCALLTYPE CheckInit( ) = 0; virtual HRESULT STDMETHODCALLTYPE EncodeMessage( IMimeMessageTree *pTree, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE EncodeBody( IMimeMessageTree *pTree, HBODY hEncodeRoot, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE DecodeMessage( IMimeMessageTree *pTree, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE DecodeBody( IMimeMessageTree *pTree, HBODY hDecodeRoot, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE EnumCertificates( HCAPICERTSTORE hc, DWORD dwUsage, PCX509CERT pPrev, PCX509CERT *ppCert) = 0; virtual HRESULT STDMETHODCALLTYPE GetCertificateName( const PCX509CERT pX509Cert, const CERTNAMETYPE cn, LPSTR *ppszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetMessageType( const HWND hwndParent, IMimeBody *pBody, DWORD *pdwSecType) = 0; virtual HRESULT STDMETHODCALLTYPE GetCertData( const PCX509CERT pX509Cert, const CERTDATAID dataid, LPPROPVARIANT pValue) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeSecurity, 0xc5588353, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeSecurityVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeSecurity *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeSecurity *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeSecurity *This); /*** IMimeSecurity methods ***/ HRESULT (STDMETHODCALLTYPE *InitNew)( IMimeSecurity *This); HRESULT (STDMETHODCALLTYPE *CheckInit)( IMimeSecurity *This); HRESULT (STDMETHODCALLTYPE *EncodeMessage)( IMimeSecurity *This, IMimeMessageTree *pTree, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *EncodeBody)( IMimeSecurity *This, IMimeMessageTree *pTree, HBODY hEncodeRoot, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *DecodeMessage)( IMimeSecurity *This, IMimeMessageTree *pTree, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *DecodeBody)( IMimeSecurity *This, IMimeMessageTree *pTree, HBODY hDecodeRoot, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *EnumCertificates)( IMimeSecurity *This, HCAPICERTSTORE hc, DWORD dwUsage, PCX509CERT pPrev, PCX509CERT *ppCert); HRESULT (STDMETHODCALLTYPE *GetCertificateName)( IMimeSecurity *This, const PCX509CERT pX509Cert, const CERTNAMETYPE cn, LPSTR *ppszName); HRESULT (STDMETHODCALLTYPE *GetMessageType)( IMimeSecurity *This, const HWND hwndParent, IMimeBody *pBody, DWORD *pdwSecType); HRESULT (STDMETHODCALLTYPE *GetCertData)( IMimeSecurity *This, const PCX509CERT pX509Cert, const CERTDATAID dataid, LPPROPVARIANT pValue); END_INTERFACE } IMimeSecurityVtbl; interface IMimeSecurity { CONST_VTBL IMimeSecurityVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeSecurity_Release(This) (This)->lpVtbl->Release(This) /*** IMimeSecurity methods ***/ #define IMimeSecurity_InitNew(This) (This)->lpVtbl->InitNew(This) #define IMimeSecurity_CheckInit(This) (This)->lpVtbl->CheckInit(This) #define IMimeSecurity_EncodeMessage(This,pTree,dwFlags) (This)->lpVtbl->EncodeMessage(This,pTree,dwFlags) #define IMimeSecurity_EncodeBody(This,pTree,hEncodeRoot,dwFlags) (This)->lpVtbl->EncodeBody(This,pTree,hEncodeRoot,dwFlags) #define IMimeSecurity_DecodeMessage(This,pTree,dwFlags) (This)->lpVtbl->DecodeMessage(This,pTree,dwFlags) #define IMimeSecurity_DecodeBody(This,pTree,hDecodeRoot,dwFlags) (This)->lpVtbl->DecodeBody(This,pTree,hDecodeRoot,dwFlags) #define IMimeSecurity_EnumCertificates(This,hc,dwUsage,pPrev,ppCert) (This)->lpVtbl->EnumCertificates(This,hc,dwUsage,pPrev,ppCert) #define IMimeSecurity_GetCertificateName(This,pX509Cert,cn,ppszName) (This)->lpVtbl->GetCertificateName(This,pX509Cert,cn,ppszName) #define IMimeSecurity_GetMessageType(This,hwndParent,pBody,pdwSecType) (This)->lpVtbl->GetMessageType(This,hwndParent,pBody,pdwSecType) #define IMimeSecurity_GetCertData(This,pX509Cert,dataid,pValue) (This)->lpVtbl->GetCertData(This,pX509Cert,dataid,pValue) #else /*** IUnknown methods ***/ static inline HRESULT IMimeSecurity_QueryInterface(IMimeSecurity* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeSecurity_AddRef(IMimeSecurity* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeSecurity_Release(IMimeSecurity* This) { return This->lpVtbl->Release(This); } /*** IMimeSecurity methods ***/ static inline HRESULT IMimeSecurity_InitNew(IMimeSecurity* This) { return This->lpVtbl->InitNew(This); } static inline HRESULT IMimeSecurity_CheckInit(IMimeSecurity* This) { return This->lpVtbl->CheckInit(This); } static inline HRESULT IMimeSecurity_EncodeMessage(IMimeSecurity* This,IMimeMessageTree *pTree,DWORD dwFlags) { return This->lpVtbl->EncodeMessage(This,pTree,dwFlags); } static inline HRESULT IMimeSecurity_EncodeBody(IMimeSecurity* This,IMimeMessageTree *pTree,HBODY hEncodeRoot,DWORD dwFlags) { return This->lpVtbl->EncodeBody(This,pTree,hEncodeRoot,dwFlags); } static inline HRESULT IMimeSecurity_DecodeMessage(IMimeSecurity* This,IMimeMessageTree *pTree,DWORD dwFlags) { return This->lpVtbl->DecodeMessage(This,pTree,dwFlags); } static inline HRESULT IMimeSecurity_DecodeBody(IMimeSecurity* This,IMimeMessageTree *pTree,HBODY hDecodeRoot,DWORD dwFlags) { return This->lpVtbl->DecodeBody(This,pTree,hDecodeRoot,dwFlags); } static inline HRESULT IMimeSecurity_EnumCertificates(IMimeSecurity* This,HCAPICERTSTORE hc,DWORD dwUsage,PCX509CERT pPrev,PCX509CERT *ppCert) { return This->lpVtbl->EnumCertificates(This,hc,dwUsage,pPrev,ppCert); } static inline HRESULT IMimeSecurity_GetCertificateName(IMimeSecurity* This,const PCX509CERT pX509Cert,const CERTNAMETYPE cn,LPSTR *ppszName) { return This->lpVtbl->GetCertificateName(This,pX509Cert,cn,ppszName); } static inline HRESULT IMimeSecurity_GetMessageType(IMimeSecurity* This,const HWND hwndParent,IMimeBody *pBody,DWORD *pdwSecType) { return This->lpVtbl->GetMessageType(This,hwndParent,pBody,pdwSecType); } static inline HRESULT IMimeSecurity_GetCertData(IMimeSecurity* This,const PCX509CERT pX509Cert,const CERTDATAID dataid,LPPROPVARIANT pValue) { return This->lpVtbl->GetCertData(This,pX509Cert,dataid,pValue); } #endif #endif #endif #endif /* __IMimeSecurity_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeEnumHeaderRows interface */ #ifndef __IMimeEnumHeaderRows_INTERFACE_DEFINED__ #define __IMimeEnumHeaderRows_INTERFACE_DEFINED__ typedef struct tagENUMHEADERROW { HHEADERROW hRow; LPSTR pszHeader; LPSTR pszData; ULONG cchData; DWORD_PTR dwReserved; } ENUMHEADERROW; typedef struct tagENUMHEADERROW *LPENUMHEADERROW; DEFINE_GUID(IID_IMimeEnumHeaderRows, 0xc558834d, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c558834d-7f86-11d0-8252-00c04fd85ab4") IMimeEnumHeaderRows : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Next( ULONG fetch, LPENUMHEADERROW row, ULONG *fetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( ULONG items) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( ) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IMimeEnumHeaderRows **rows) = 0; virtual HRESULT STDMETHODCALLTYPE Count( ULONG *pcItems) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeEnumHeaderRows, 0xc558834d, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeEnumHeaderRowsVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeEnumHeaderRows *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeEnumHeaderRows *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeEnumHeaderRows *This); /*** IMimeEnumHeaderRows methods ***/ HRESULT (STDMETHODCALLTYPE *Next)( IMimeEnumHeaderRows *This, ULONG fetch, LPENUMHEADERROW row, ULONG *fetched); HRESULT (STDMETHODCALLTYPE *Skip)( IMimeEnumHeaderRows *This, ULONG items); HRESULT (STDMETHODCALLTYPE *Reset)( IMimeEnumHeaderRows *This); HRESULT (STDMETHODCALLTYPE *Clone)( IMimeEnumHeaderRows *This, IMimeEnumHeaderRows **rows); HRESULT (STDMETHODCALLTYPE *Count)( IMimeEnumHeaderRows *This, ULONG *pcItems); END_INTERFACE } IMimeEnumHeaderRowsVtbl; interface IMimeEnumHeaderRows { CONST_VTBL IMimeEnumHeaderRowsVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeEnumHeaderRows_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeEnumHeaderRows_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeEnumHeaderRows_Release(This) (This)->lpVtbl->Release(This) /*** IMimeEnumHeaderRows methods ***/ #define IMimeEnumHeaderRows_Next(This,fetch,row,fetched) (This)->lpVtbl->Next(This,fetch,row,fetched) #define IMimeEnumHeaderRows_Skip(This,items) (This)->lpVtbl->Skip(This,items) #define IMimeEnumHeaderRows_Reset(This) (This)->lpVtbl->Reset(This) #define IMimeEnumHeaderRows_Clone(This,rows) (This)->lpVtbl->Clone(This,rows) #define IMimeEnumHeaderRows_Count(This,pcItems) (This)->lpVtbl->Count(This,pcItems) #else /*** IUnknown methods ***/ static inline HRESULT IMimeEnumHeaderRows_QueryInterface(IMimeEnumHeaderRows* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeEnumHeaderRows_AddRef(IMimeEnumHeaderRows* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeEnumHeaderRows_Release(IMimeEnumHeaderRows* This) { return This->lpVtbl->Release(This); } /*** IMimeEnumHeaderRows methods ***/ static inline HRESULT IMimeEnumHeaderRows_Next(IMimeEnumHeaderRows* This,ULONG fetch,LPENUMHEADERROW row,ULONG *fetched) { return This->lpVtbl->Next(This,fetch,row,fetched); } static inline HRESULT IMimeEnumHeaderRows_Skip(IMimeEnumHeaderRows* This,ULONG items) { return This->lpVtbl->Skip(This,items); } static inline HRESULT IMimeEnumHeaderRows_Reset(IMimeEnumHeaderRows* This) { return This->lpVtbl->Reset(This); } static inline HRESULT IMimeEnumHeaderRows_Clone(IMimeEnumHeaderRows* This,IMimeEnumHeaderRows **rows) { return This->lpVtbl->Clone(This,rows); } static inline HRESULT IMimeEnumHeaderRows_Count(IMimeEnumHeaderRows* This,ULONG *pcItems) { return This->lpVtbl->Count(This,pcItems); } #endif #endif #endif #endif /* __IMimeEnumHeaderRows_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeHeaderTable interface */ #ifndef __IMimeHeaderTable_INTERFACE_DEFINED__ #define __IMimeHeaderTable_INTERFACE_DEFINED__ typedef struct tagFINDHEADER { LPCSTR pszHeader; DWORD dwReserved; } FINDHEADER; typedef struct tagFINDHEADER *LPFINDHEADER; typedef struct tagHEADERROWINFO { DWORD dwRowNumber; ULONG cboffStart; ULONG cboffColon; ULONG cboffEnd; } HEADERROWINFO; typedef struct tagHEADERROWINFO *LPHEADERROWINFO; typedef enum tagHEADERTABLEFLAGS { HTF_NAMEINDATA = 0x1, HTF_ENUMHANDLESONLY = 0x2 } HEADERTABLEFLAGS; DEFINE_GUID(IID_IMimeHeaderTable, 0xfd853cd1, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fd853cd1-7f86-11d0-8252-00c04fd85ab4") IMimeHeaderTable : public IPersistStream { virtual HRESULT STDMETHODCALLTYPE FindFirstRow( LPFINDHEADER header, LPHHEADERROW row) = 0; virtual HRESULT STDMETHODCALLTYPE FindNextRow( LPFINDHEADER header, LPHHEADERROW row) = 0; virtual HRESULT STDMETHODCALLTYPE CountRows( const char *header, ULONG *rows) = 0; virtual HRESULT STDMETHODCALLTYPE AppendRow( const char *header, DWORD flags, const char *data, ULONG count, LPHHEADERROW row) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteRow( HHEADERROW row) = 0; virtual HRESULT STDMETHODCALLTYPE GetRowData( HHEADERROW row, DWORD flags, char **data, ULONG *len) = 0; virtual HRESULT STDMETHODCALLTYPE SetRowData( HHEADERROW row, DWORD flags, const char *data, ULONG len) = 0; virtual HRESULT STDMETHODCALLTYPE GetRowInfo( HHEADERROW row, LPHEADERROWINFO info) = 0; virtual HRESULT STDMETHODCALLTYPE SetRowNumber( HHEADERROW row, DWORD number) = 0; virtual HRESULT STDMETHODCALLTYPE EnumRows( const char *header, DWORD flags, IMimeEnumHeaderRows **rows) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IMimeHeaderTable **table) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( REFIID riid, void *object) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeHeaderTable, 0xfd853cd1, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeHeaderTableVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeHeaderTable *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeHeaderTable *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeHeaderTable *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IMimeHeaderTable *This, CLSID *pClassID); /*** IPersistStream methods ***/ HRESULT (STDMETHODCALLTYPE *IsDirty)( IMimeHeaderTable *This); HRESULT (STDMETHODCALLTYPE *Load)( IMimeHeaderTable *This, IStream *pStm); HRESULT (STDMETHODCALLTYPE *Save)( IMimeHeaderTable *This, IStream *pStm, BOOL fClearDirty); HRESULT (STDMETHODCALLTYPE *GetSizeMax)( IMimeHeaderTable *This, ULARGE_INTEGER *pcbSize); /*** IMimeHeaderTable methods ***/ HRESULT (STDMETHODCALLTYPE *FindFirstRow)( IMimeHeaderTable *This, LPFINDHEADER header, LPHHEADERROW row); HRESULT (STDMETHODCALLTYPE *FindNextRow)( IMimeHeaderTable *This, LPFINDHEADER header, LPHHEADERROW row); HRESULT (STDMETHODCALLTYPE *CountRows)( IMimeHeaderTable *This, const char *header, ULONG *rows); HRESULT (STDMETHODCALLTYPE *AppendRow)( IMimeHeaderTable *This, const char *header, DWORD flags, const char *data, ULONG count, LPHHEADERROW row); HRESULT (STDMETHODCALLTYPE *DeleteRow)( IMimeHeaderTable *This, HHEADERROW row); HRESULT (STDMETHODCALLTYPE *GetRowData)( IMimeHeaderTable *This, HHEADERROW row, DWORD flags, char **data, ULONG *len); HRESULT (STDMETHODCALLTYPE *SetRowData)( IMimeHeaderTable *This, HHEADERROW row, DWORD flags, const char *data, ULONG len); HRESULT (STDMETHODCALLTYPE *GetRowInfo)( IMimeHeaderTable *This, HHEADERROW row, LPHEADERROWINFO info); HRESULT (STDMETHODCALLTYPE *SetRowNumber)( IMimeHeaderTable *This, HHEADERROW row, DWORD number); HRESULT (STDMETHODCALLTYPE *EnumRows)( IMimeHeaderTable *This, const char *header, DWORD flags, IMimeEnumHeaderRows **rows); HRESULT (STDMETHODCALLTYPE *Clone)( IMimeHeaderTable *This, IMimeHeaderTable **table); HRESULT (STDMETHODCALLTYPE *BindToObject)( IMimeHeaderTable *This, REFIID riid, void *object); END_INTERFACE } IMimeHeaderTableVtbl; interface IMimeHeaderTable { CONST_VTBL IMimeHeaderTableVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeHeaderTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeHeaderTable_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeHeaderTable_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IMimeHeaderTable_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) /*** IPersistStream methods ***/ #define IMimeHeaderTable_IsDirty(This) (This)->lpVtbl->IsDirty(This) #define IMimeHeaderTable_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) #define IMimeHeaderTable_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) #define IMimeHeaderTable_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) /*** IMimeHeaderTable methods ***/ #define IMimeHeaderTable_FindFirstRow(This,header,row) (This)->lpVtbl->FindFirstRow(This,header,row) #define IMimeHeaderTable_FindNextRow(This,header,row) (This)->lpVtbl->FindNextRow(This,header,row) #define IMimeHeaderTable_CountRows(This,header,rows) (This)->lpVtbl->CountRows(This,header,rows) #define IMimeHeaderTable_AppendRow(This,header,flags,data,count,row) (This)->lpVtbl->AppendRow(This,header,flags,data,count,row) #define IMimeHeaderTable_DeleteRow(This,row) (This)->lpVtbl->DeleteRow(This,row) #define IMimeHeaderTable_GetRowData(This,row,flags,data,len) (This)->lpVtbl->GetRowData(This,row,flags,data,len) #define IMimeHeaderTable_SetRowData(This,row,flags,data,len) (This)->lpVtbl->SetRowData(This,row,flags,data,len) #define IMimeHeaderTable_GetRowInfo(This,row,info) (This)->lpVtbl->GetRowInfo(This,row,info) #define IMimeHeaderTable_SetRowNumber(This,row,number) (This)->lpVtbl->SetRowNumber(This,row,number) #define IMimeHeaderTable_EnumRows(This,header,flags,rows) (This)->lpVtbl->EnumRows(This,header,flags,rows) #define IMimeHeaderTable_Clone(This,table) (This)->lpVtbl->Clone(This,table) #define IMimeHeaderTable_BindToObject(This,riid,object) (This)->lpVtbl->BindToObject(This,riid,object) #else /*** IUnknown methods ***/ static inline HRESULT IMimeHeaderTable_QueryInterface(IMimeHeaderTable* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeHeaderTable_AddRef(IMimeHeaderTable* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeHeaderTable_Release(IMimeHeaderTable* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static inline HRESULT IMimeHeaderTable_GetClassID(IMimeHeaderTable* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } /*** IPersistStream methods ***/ static inline HRESULT IMimeHeaderTable_IsDirty(IMimeHeaderTable* This) { return This->lpVtbl->IsDirty(This); } static inline HRESULT IMimeHeaderTable_Load(IMimeHeaderTable* This,IStream *pStm) { return This->lpVtbl->Load(This,pStm); } static inline HRESULT IMimeHeaderTable_Save(IMimeHeaderTable* This,IStream *pStm,BOOL fClearDirty) { return This->lpVtbl->Save(This,pStm,fClearDirty); } static inline HRESULT IMimeHeaderTable_GetSizeMax(IMimeHeaderTable* This,ULARGE_INTEGER *pcbSize) { return This->lpVtbl->GetSizeMax(This,pcbSize); } /*** IMimeHeaderTable methods ***/ static inline HRESULT IMimeHeaderTable_FindFirstRow(IMimeHeaderTable* This,LPFINDHEADER header,LPHHEADERROW row) { return This->lpVtbl->FindFirstRow(This,header,row); } static inline HRESULT IMimeHeaderTable_FindNextRow(IMimeHeaderTable* This,LPFINDHEADER header,LPHHEADERROW row) { return This->lpVtbl->FindNextRow(This,header,row); } static inline HRESULT IMimeHeaderTable_CountRows(IMimeHeaderTable* This,const char *header,ULONG *rows) { return This->lpVtbl->CountRows(This,header,rows); } static inline HRESULT IMimeHeaderTable_AppendRow(IMimeHeaderTable* This,const char *header,DWORD flags,const char *data,ULONG count,LPHHEADERROW row) { return This->lpVtbl->AppendRow(This,header,flags,data,count,row); } static inline HRESULT IMimeHeaderTable_DeleteRow(IMimeHeaderTable* This,HHEADERROW row) { return This->lpVtbl->DeleteRow(This,row); } static inline HRESULT IMimeHeaderTable_GetRowData(IMimeHeaderTable* This,HHEADERROW row,DWORD flags,char **data,ULONG *len) { return This->lpVtbl->GetRowData(This,row,flags,data,len); } static inline HRESULT IMimeHeaderTable_SetRowData(IMimeHeaderTable* This,HHEADERROW row,DWORD flags,const char *data,ULONG len) { return This->lpVtbl->SetRowData(This,row,flags,data,len); } static inline HRESULT IMimeHeaderTable_GetRowInfo(IMimeHeaderTable* This,HHEADERROW row,LPHEADERROWINFO info) { return This->lpVtbl->GetRowInfo(This,row,info); } static inline HRESULT IMimeHeaderTable_SetRowNumber(IMimeHeaderTable* This,HHEADERROW row,DWORD number) { return This->lpVtbl->SetRowNumber(This,row,number); } static inline HRESULT IMimeHeaderTable_EnumRows(IMimeHeaderTable* This,const char *header,DWORD flags,IMimeEnumHeaderRows **rows) { return This->lpVtbl->EnumRows(This,header,flags,rows); } static inline HRESULT IMimeHeaderTable_Clone(IMimeHeaderTable* This,IMimeHeaderTable **table) { return This->lpVtbl->Clone(This,table); } static inline HRESULT IMimeHeaderTable_BindToObject(IMimeHeaderTable* This,REFIID riid,void *object) { return This->lpVtbl->BindToObject(This,riid,object); } #endif #endif #endif #endif /* __IMimeHeaderTable_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimePropertySchema interface */ #ifndef __IMimePropertySchema_INTERFACE_DEFINED__ #define __IMimePropertySchema_INTERFACE_DEFINED__ typedef IMimePropertySchema *LPMIMEPROPERTYSCHEMA; typedef enum tagMIMEPROPFLAGS { MPF_INETCSET = 0x1, MPF_RFC1522 = 0x2, MPF_ADDRESS = 0x4, MPF_HASPARAMS = 0x8, MPF_MIME = 0x10, MPF_READONLY = 0x20 } MIMEPROPFLAGS; DEFINE_GUID(IID_IMimePropertySchema, 0xfd853cec, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fd853cec-7f86-11d0-8252-00c04fd85ab4") IMimePropertySchema : public IUnknown { virtual HRESULT STDMETHODCALLTYPE RegisterProperty( const char *name, DWORD flags, DWORD rownumber, VARTYPE vtdefault, DWORD *propid) = 0; virtual HRESULT STDMETHODCALLTYPE ModifyProperty( const char *name, DWORD flags, DWORD rownumber, VARTYPE vtdefault) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyId( const char *name, DWORD *propid) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyName( DWORD propid, char **name) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterAddressType( const char *name, DWORD *adrtype) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimePropertySchema, 0xfd853cec, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimePropertySchemaVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimePropertySchema *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimePropertySchema *This); ULONG (STDMETHODCALLTYPE *Release)( IMimePropertySchema *This); /*** IMimePropertySchema methods ***/ HRESULT (STDMETHODCALLTYPE *RegisterProperty)( IMimePropertySchema *This, const char *name, DWORD flags, DWORD rownumber, VARTYPE vtdefault, DWORD *propid); HRESULT (STDMETHODCALLTYPE *ModifyProperty)( IMimePropertySchema *This, const char *name, DWORD flags, DWORD rownumber, VARTYPE vtdefault); HRESULT (STDMETHODCALLTYPE *GetPropertyId)( IMimePropertySchema *This, const char *name, DWORD *propid); HRESULT (STDMETHODCALLTYPE *GetPropertyName)( IMimePropertySchema *This, DWORD propid, char **name); HRESULT (STDMETHODCALLTYPE *RegisterAddressType)( IMimePropertySchema *This, const char *name, DWORD *adrtype); END_INTERFACE } IMimePropertySchemaVtbl; interface IMimePropertySchema { CONST_VTBL IMimePropertySchemaVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimePropertySchema_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimePropertySchema_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimePropertySchema_Release(This) (This)->lpVtbl->Release(This) /*** IMimePropertySchema methods ***/ #define IMimePropertySchema_RegisterProperty(This,name,flags,rownumber,vtdefault,propid) (This)->lpVtbl->RegisterProperty(This,name,flags,rownumber,vtdefault,propid) #define IMimePropertySchema_ModifyProperty(This,name,flags,rownumber,vtdefault) (This)->lpVtbl->ModifyProperty(This,name,flags,rownumber,vtdefault) #define IMimePropertySchema_GetPropertyId(This,name,propid) (This)->lpVtbl->GetPropertyId(This,name,propid) #define IMimePropertySchema_GetPropertyName(This,propid,name) (This)->lpVtbl->GetPropertyName(This,propid,name) #define IMimePropertySchema_RegisterAddressType(This,name,adrtype) (This)->lpVtbl->RegisterAddressType(This,name,adrtype) #else /*** IUnknown methods ***/ static inline HRESULT IMimePropertySchema_QueryInterface(IMimePropertySchema* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimePropertySchema_AddRef(IMimePropertySchema* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimePropertySchema_Release(IMimePropertySchema* This) { return This->lpVtbl->Release(This); } /*** IMimePropertySchema methods ***/ static inline HRESULT IMimePropertySchema_RegisterProperty(IMimePropertySchema* This,const char *name,DWORD flags,DWORD rownumber,VARTYPE vtdefault,DWORD *propid) { return This->lpVtbl->RegisterProperty(This,name,flags,rownumber,vtdefault,propid); } static inline HRESULT IMimePropertySchema_ModifyProperty(IMimePropertySchema* This,const char *name,DWORD flags,DWORD rownumber,VARTYPE vtdefault) { return This->lpVtbl->ModifyProperty(This,name,flags,rownumber,vtdefault); } static inline HRESULT IMimePropertySchema_GetPropertyId(IMimePropertySchema* This,const char *name,DWORD *propid) { return This->lpVtbl->GetPropertyId(This,name,propid); } static inline HRESULT IMimePropertySchema_GetPropertyName(IMimePropertySchema* This,DWORD propid,char **name) { return This->lpVtbl->GetPropertyName(This,propid,name); } static inline HRESULT IMimePropertySchema_RegisterAddressType(IMimePropertySchema* This,const char *name,DWORD *adrtype) { return This->lpVtbl->RegisterAddressType(This,name,adrtype); } #endif #endif #endif #endif /* __IMimePropertySchema_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimePropertySet interface */ #ifndef __IMimePropertySet_INTERFACE_DEFINED__ #define __IMimePropertySet_INTERFACE_DEFINED__ typedef IMimePropertySet *LPMIMEPROPERTYSET; #define PDF_ENCODED 0x00000001 #define PDF_NAMEINDATA 0x00000002 #define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED) #define PDF_NOCOMMENTS 0x00000008 #define PDF_SAVENOENCODE 0x00000010 #define PDF_VECTOR 0x00000020 typedef struct tagMIMEPARAMINFO { LPSTR pszName; LPSTR pszData; } MIMEPARAMINFO; typedef struct tagMIMEPARAMINFO *LPMIMEPARAMINFO; typedef enum tagPROPINFOMASK { PIM_CHARSET = 0x1, PIM_ENCODINGTYPE = 0x2, PIM_ROWNUMBER = 0x4, PIM_FLAGS = 0x8, PIM_PROPID = 0x10, PIM_VALUES = 0x20, PIM_VTDEFAULT = 0x40, PIM_VTCURRENT = 0x80 } PROPINFOMASK; typedef struct tagMIMEPROPINFO { DWORD dwMask; HCHARSET hCharset; ENCODINGTYPE ietEncoding; DWORD dwRowNumber; DWORD dwFlags; DWORD dwPropId; DWORD cValues; VARTYPE vtDefault; VARTYPE vtCurrent; } MIMEPROPINFO; typedef struct tagMIMEPROPINFO *LPMIMEPROPINFO; typedef const MIMEPROPINFO *LPCMIMEPROPINFO; #ifdef WINE_NO_UNICODE_MACROS #undef GetProp #undef SetProp #undef EnumProps #endif #define EPF_NONAME 0x00000001 DEFINE_GUID(IID_IMimePropertySet, 0xfd853cd3, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fd853cd3-7f86-11d0-8252-00c04fd85ab4") IMimePropertySet : public IPersistStreamInit { virtual HRESULT STDMETHODCALLTYPE GetPropInfo( LPCSTR pszName, LPMIMEPROPINFO pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SetPropInfo( LPCSTR pszName, LPCMIMEPROPINFO pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetProp( LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetProp( LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE AppendProp( LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteProp( LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE CopyProps( ULONG cNames, LPCSTR *prgszName, IMimePropertySet *pPropertySet) = 0; virtual HRESULT STDMETHODCALLTYPE MoveProps( ULONG cNames, LPCSTR *prgszName, IMimePropertySet *pPropertySet) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteExcept( ULONG cNames, LPCSTR *prgszName) = 0; virtual HRESULT STDMETHODCALLTYPE QueryProp( LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharset( LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE SetCharset( HCHARSET hCharset, CSETAPPLYTYPE applytype) = 0; virtual HRESULT STDMETHODCALLTYPE GetParameters( LPCSTR pszName, ULONG *pcParams, LPMIMEPARAMINFO *pprgParam) = 0; virtual HRESULT STDMETHODCALLTYPE IsContentType( LPCSTR pszPriType, LPCSTR pszSubType) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( REFIID riid, void **ppvObject) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IMimePropertySet **ppPropertySet) = 0; virtual HRESULT STDMETHODCALLTYPE SetOption( const TYPEDID oid, LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE GetOption( const TYPEDID oid, LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE EnumProps( DWORD dwFlags, IMimeEnumProperties **ppEnum) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimePropertySet, 0xfd853cd3, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimePropertySetVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimePropertySet *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimePropertySet *This); ULONG (STDMETHODCALLTYPE *Release)( IMimePropertySet *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IMimePropertySet *This, CLSID *pClassID); /*** IPersistStreamInit methods ***/ HRESULT (STDMETHODCALLTYPE *IsDirty)( IMimePropertySet *This); HRESULT (STDMETHODCALLTYPE *Load)( IMimePropertySet *This, LPSTREAM pStm); HRESULT (STDMETHODCALLTYPE *Save)( IMimePropertySet *This, LPSTREAM pStm, BOOL fClearDirty); HRESULT (STDMETHODCALLTYPE *GetSizeMax)( IMimePropertySet *This, ULARGE_INTEGER *pcbSize); HRESULT (STDMETHODCALLTYPE *InitNew)( IMimePropertySet *This); /*** IMimePropertySet methods ***/ HRESULT (STDMETHODCALLTYPE *GetPropInfo)( IMimePropertySet *This, LPCSTR pszName, LPMIMEPROPINFO pInfo); HRESULT (STDMETHODCALLTYPE *SetPropInfo)( IMimePropertySet *This, LPCSTR pszName, LPCMIMEPROPINFO pInfo); HRESULT (STDMETHODCALLTYPE *GetProp)( IMimePropertySet *This, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *SetProp)( IMimePropertySet *This, LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *AppendProp)( IMimePropertySet *This, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *DeleteProp)( IMimePropertySet *This, LPCSTR pszName); HRESULT (STDMETHODCALLTYPE *CopyProps)( IMimePropertySet *This, ULONG cNames, LPCSTR *prgszName, IMimePropertySet *pPropertySet); HRESULT (STDMETHODCALLTYPE *MoveProps)( IMimePropertySet *This, ULONG cNames, LPCSTR *prgszName, IMimePropertySet *pPropertySet); HRESULT (STDMETHODCALLTYPE *DeleteExcept)( IMimePropertySet *This, ULONG cNames, LPCSTR *prgszName); HRESULT (STDMETHODCALLTYPE *QueryProp)( IMimePropertySet *This, LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive); HRESULT (STDMETHODCALLTYPE *GetCharset)( IMimePropertySet *This, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *SetCharset)( IMimePropertySet *This, HCHARSET hCharset, CSETAPPLYTYPE applytype); HRESULT (STDMETHODCALLTYPE *GetParameters)( IMimePropertySet *This, LPCSTR pszName, ULONG *pcParams, LPMIMEPARAMINFO *pprgParam); HRESULT (STDMETHODCALLTYPE *IsContentType)( IMimePropertySet *This, LPCSTR pszPriType, LPCSTR pszSubType); HRESULT (STDMETHODCALLTYPE *BindToObject)( IMimePropertySet *This, REFIID riid, void **ppvObject); HRESULT (STDMETHODCALLTYPE *Clone)( IMimePropertySet *This, IMimePropertySet **ppPropertySet); HRESULT (STDMETHODCALLTYPE *SetOption)( IMimePropertySet *This, const TYPEDID oid, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *GetOption)( IMimePropertySet *This, const TYPEDID oid, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *EnumProps)( IMimePropertySet *This, DWORD dwFlags, IMimeEnumProperties **ppEnum); END_INTERFACE } IMimePropertySetVtbl; interface IMimePropertySet { CONST_VTBL IMimePropertySetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimePropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimePropertySet_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimePropertySet_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IMimePropertySet_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) /*** IPersistStreamInit methods ***/ #define IMimePropertySet_IsDirty(This) (This)->lpVtbl->IsDirty(This) #define IMimePropertySet_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) #define IMimePropertySet_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) #define IMimePropertySet_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) #define IMimePropertySet_InitNew(This) (This)->lpVtbl->InitNew(This) /*** IMimePropertySet methods ***/ #define IMimePropertySet_GetPropInfo(This,pszName,pInfo) (This)->lpVtbl->GetPropInfo(This,pszName,pInfo) #define IMimePropertySet_SetPropInfo(This,pszName,pInfo) (This)->lpVtbl->SetPropInfo(This,pszName,pInfo) #define IMimePropertySet_GetProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->GetProp(This,pszName,dwFlags,pValue) #define IMimePropertySet_SetProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->SetProp(This,pszName,dwFlags,pValue) #define IMimePropertySet_AppendProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->AppendProp(This,pszName,dwFlags,pValue) #define IMimePropertySet_DeleteProp(This,pszName) (This)->lpVtbl->DeleteProp(This,pszName) #define IMimePropertySet_CopyProps(This,cNames,prgszName,pPropertySet) (This)->lpVtbl->CopyProps(This,cNames,prgszName,pPropertySet) #define IMimePropertySet_MoveProps(This,cNames,prgszName,pPropertySet) (This)->lpVtbl->MoveProps(This,cNames,prgszName,pPropertySet) #define IMimePropertySet_DeleteExcept(This,cNames,prgszName) (This)->lpVtbl->DeleteExcept(This,cNames,prgszName) #define IMimePropertySet_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) (This)->lpVtbl->QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimePropertySet_GetCharset(This,phCharset) (This)->lpVtbl->GetCharset(This,phCharset) #define IMimePropertySet_SetCharset(This,hCharset,applytype) (This)->lpVtbl->SetCharset(This,hCharset,applytype) #define IMimePropertySet_GetParameters(This,pszName,pcParams,pprgParam) (This)->lpVtbl->GetParameters(This,pszName,pcParams,pprgParam) #define IMimePropertySet_IsContentType(This,pszPriType,pszSubType) (This)->lpVtbl->IsContentType(This,pszPriType,pszSubType) #define IMimePropertySet_BindToObject(This,riid,ppvObject) (This)->lpVtbl->BindToObject(This,riid,ppvObject) #define IMimePropertySet_Clone(This,ppPropertySet) (This)->lpVtbl->Clone(This,ppPropertySet) #define IMimePropertySet_SetOption(This,oid,pValue) (This)->lpVtbl->SetOption(This,oid,pValue) #define IMimePropertySet_GetOption(This,oid,pValue) (This)->lpVtbl->GetOption(This,oid,pValue) #define IMimePropertySet_EnumProps(This,dwFlags,ppEnum) (This)->lpVtbl->EnumProps(This,dwFlags,ppEnum) #else /*** IUnknown methods ***/ static inline HRESULT IMimePropertySet_QueryInterface(IMimePropertySet* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimePropertySet_AddRef(IMimePropertySet* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimePropertySet_Release(IMimePropertySet* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static inline HRESULT IMimePropertySet_GetClassID(IMimePropertySet* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } /*** IPersistStreamInit methods ***/ static inline HRESULT IMimePropertySet_IsDirty(IMimePropertySet* This) { return This->lpVtbl->IsDirty(This); } static inline HRESULT IMimePropertySet_Load(IMimePropertySet* This,LPSTREAM pStm) { return This->lpVtbl->Load(This,pStm); } static inline HRESULT IMimePropertySet_Save(IMimePropertySet* This,LPSTREAM pStm,BOOL fClearDirty) { return This->lpVtbl->Save(This,pStm,fClearDirty); } static inline HRESULT IMimePropertySet_GetSizeMax(IMimePropertySet* This,ULARGE_INTEGER *pcbSize) { return This->lpVtbl->GetSizeMax(This,pcbSize); } static inline HRESULT IMimePropertySet_InitNew(IMimePropertySet* This) { return This->lpVtbl->InitNew(This); } /*** IMimePropertySet methods ***/ static inline HRESULT IMimePropertySet_GetPropInfo(IMimePropertySet* This,LPCSTR pszName,LPMIMEPROPINFO pInfo) { return This->lpVtbl->GetPropInfo(This,pszName,pInfo); } static inline HRESULT IMimePropertySet_SetPropInfo(IMimePropertySet* This,LPCSTR pszName,LPCMIMEPROPINFO pInfo) { return This->lpVtbl->SetPropInfo(This,pszName,pInfo); } static inline HRESULT IMimePropertySet_GetProp(IMimePropertySet* This,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->GetProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimePropertySet_SetProp(IMimePropertySet* This,LPCSTR pszName,DWORD dwFlags,LPCPROPVARIANT pValue) { return This->lpVtbl->SetProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimePropertySet_AppendProp(IMimePropertySet* This,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->AppendProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimePropertySet_DeleteProp(IMimePropertySet* This,LPCSTR pszName) { return This->lpVtbl->DeleteProp(This,pszName); } static inline HRESULT IMimePropertySet_CopyProps(IMimePropertySet* This,ULONG cNames,LPCSTR *prgszName,IMimePropertySet *pPropertySet) { return This->lpVtbl->CopyProps(This,cNames,prgszName,pPropertySet); } static inline HRESULT IMimePropertySet_MoveProps(IMimePropertySet* This,ULONG cNames,LPCSTR *prgszName,IMimePropertySet *pPropertySet) { return This->lpVtbl->MoveProps(This,cNames,prgszName,pPropertySet); } static inline HRESULT IMimePropertySet_DeleteExcept(IMimePropertySet* This,ULONG cNames,LPCSTR *prgszName) { return This->lpVtbl->DeleteExcept(This,cNames,prgszName); } static inline HRESULT IMimePropertySet_QueryProp(IMimePropertySet* This,LPCSTR pszName,LPCSTR pszCriteria,boolean fSubString,boolean fCaseSensitive) { return This->lpVtbl->QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive); } static inline HRESULT IMimePropertySet_GetCharset(IMimePropertySet* This,LPHCHARSET phCharset) { return This->lpVtbl->GetCharset(This,phCharset); } static inline HRESULT IMimePropertySet_SetCharset(IMimePropertySet* This,HCHARSET hCharset,CSETAPPLYTYPE applytype) { return This->lpVtbl->SetCharset(This,hCharset,applytype); } static inline HRESULT IMimePropertySet_GetParameters(IMimePropertySet* This,LPCSTR pszName,ULONG *pcParams,LPMIMEPARAMINFO *pprgParam) { return This->lpVtbl->GetParameters(This,pszName,pcParams,pprgParam); } static inline HRESULT IMimePropertySet_IsContentType(IMimePropertySet* This,LPCSTR pszPriType,LPCSTR pszSubType) { return This->lpVtbl->IsContentType(This,pszPriType,pszSubType); } static inline HRESULT IMimePropertySet_BindToObject(IMimePropertySet* This,REFIID riid,void **ppvObject) { return This->lpVtbl->BindToObject(This,riid,ppvObject); } static inline HRESULT IMimePropertySet_Clone(IMimePropertySet* This,IMimePropertySet **ppPropertySet) { return This->lpVtbl->Clone(This,ppPropertySet); } static inline HRESULT IMimePropertySet_SetOption(IMimePropertySet* This,const TYPEDID oid,LPCPROPVARIANT pValue) { return This->lpVtbl->SetOption(This,oid,pValue); } static inline HRESULT IMimePropertySet_GetOption(IMimePropertySet* This,const TYPEDID oid,LPPROPVARIANT pValue) { return This->lpVtbl->GetOption(This,oid,pValue); } static inline HRESULT IMimePropertySet_EnumProps(IMimePropertySet* This,DWORD dwFlags,IMimeEnumProperties **ppEnum) { return This->lpVtbl->EnumProps(This,dwFlags,ppEnum); } #endif #endif #endif #endif /* __IMimePropertySet_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeAddressTable interface */ #ifndef __IMimeAddressTable_INTERFACE_DEFINED__ #define __IMimeAddressTable_INTERFACE_DEFINED__ typedef IMimeAddressTable *LPMIMEADDRESSTABLE; typedef void *HADDRESS; typedef HADDRESS *LPHADDRESS; typedef DWORD IADDRESSTYPE; typedef enum tagADDRESSFORMAT { AFT_DISPLAY_FRIENDLY = 0, AFT_DISPLAY_EMAIL = 1, AFT_DISPLAY_BOTH = 2, AFT_RFC822_DECODED = 3, AFT_RFC822_ENCODED = 4, AFT_RFC822_TRANSMIT = 5 } ADDRESSFORMAT; #define IAT_UNKNOWN 0x00000000 #define IAT_FROM 0x00000001 #define IAT_SENDER 0x00000002 #define IAT_TO 0x00000004 #define IAT_CC 0x00000008 #define IAT_BCC 0x00000010 #define IAT_REPLYTO 0x00000020 #define IAT_RETURNPATH 0x00000040 #define IAT_RETRCPTTO 0x00000080 #define IAT_RR 0x00000100 #define IAT_APPARTO 0x00000200 #define IAT_DISP_NOTIFICATION_TO 0x00000400 #define IAT_ALL 0xffffffff #define IAT_KNOWN (IAT_FROM | IAT_TO | IAT_CC | IAT_BCC | IAT_REPLYTO | IAT_SENDER) #define IAT_RECIPS (IAT_TO | IAT_CC | IAT_BCC) typedef struct tagADDRESSPROPS { DWORD dwProps; HADDRESS hAddress; ENCODINGTYPE ietFriendly; HCHARSET hCharset; DWORD dwAdrType; LPSTR pszFriendly; LPWSTR pwszReserved; LPSTR pszEmail; CERTSTATE certstate; THUMBBLOB tbSigning; THUMBBLOB tbEncryption; DWORD dwCookie; DWORD dwReserved1; DWORD dwReserved2; } ADDRESSPROPS; typedef struct tagADDRESSPROPS *LPADDRESSPROPS; #define IAP_CHARSET 0x00000001 #define IAP_HANDLE 0x00000002 #define IAP_ADRTYPE 0x00000004 #define IAP_FRIENDLY 0x00000008 #define IAP_EMAIL 0x00000020 #define IAP_CERTSTATE 0x00000100 #define IAP_SIGNING_PRINT 0x00000200 #define IAP_ENCRYPTION_PRINT 0x00000400 #define IAP_ENCODING 0x00000800 #define IAP_COOKIE 0x00001000 #define IAP_FRIENDLYW 0x00002000 #define IAP_ALL 0xffffffff typedef struct tagADDRESSLIST { ULONG cAdrs; LPADDRESSPROPS prgAdr; } ADDRESSLIST; typedef struct tagADDRESSLIST *LPADDRESSLIST; DEFINE_GUID(IID_IMimeAddressTable, 0xc558834a, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c558834a-7f86-11d0-8252-00c04fd85ab4") IMimeAddressTable : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Append( DWORD addrtype, ENCODINGTYPE encoding, const char *friendly, const char *email, HADDRESS *address) = 0; virtual HRESULT STDMETHODCALLTYPE Insert( ADDRESSPROPS *addressprop, HADDRESS *address) = 0; virtual HRESULT STDMETHODCALLTYPE SetProps( HADDRESS address, ADDRESSPROPS *addressprop) = 0; virtual HRESULT STDMETHODCALLTYPE GetProps( HADDRESS address, ADDRESSPROPS *addressprop) = 0; virtual HRESULT STDMETHODCALLTYPE GetSender( ADDRESSPROPS *addressprop) = 0; virtual HRESULT STDMETHODCALLTYPE CountTypes( DWORD addrtype, ULONG *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetTypes( DWORD addrtype, DWORD dwProps, ADDRESSLIST *list) = 0; virtual HRESULT STDMETHODCALLTYPE EnumTypes( DWORD addrtype, DWORD props, IMimeEnumAddressTypes **types) = 0; virtual HRESULT STDMETHODCALLTYPE Delete( HADDRESS hAddress) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteTypes( DWORD addrtype) = 0; virtual HRESULT STDMETHODCALLTYPE GetFormat( DWORD addrtype, ADDRESSFORMAT addrformat, char **format) = 0; virtual HRESULT STDMETHODCALLTYPE AppendRfc822( DWORD addrtype, ENCODINGTYPE encoding, const char *rfcaddr) = 0; virtual HRESULT STDMETHODCALLTYPE ParseRfc822( DWORD addrtype, ENCODINGTYPE encoding, const char *rfcaddr, ADDRESSLIST *list) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IMimeAddressTable **table) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( REFIID riid, void **obj) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeAddressTable, 0xc558834a, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeAddressTableVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeAddressTable *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeAddressTable *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeAddressTable *This); /*** IMimeAddressTable methods ***/ HRESULT (STDMETHODCALLTYPE *Append)( IMimeAddressTable *This, DWORD addrtype, ENCODINGTYPE encoding, const char *friendly, const char *email, HADDRESS *address); HRESULT (STDMETHODCALLTYPE *Insert)( IMimeAddressTable *This, ADDRESSPROPS *addressprop, HADDRESS *address); HRESULT (STDMETHODCALLTYPE *SetProps)( IMimeAddressTable *This, HADDRESS address, ADDRESSPROPS *addressprop); HRESULT (STDMETHODCALLTYPE *GetProps)( IMimeAddressTable *This, HADDRESS address, ADDRESSPROPS *addressprop); HRESULT (STDMETHODCALLTYPE *GetSender)( IMimeAddressTable *This, ADDRESSPROPS *addressprop); HRESULT (STDMETHODCALLTYPE *CountTypes)( IMimeAddressTable *This, DWORD addrtype, ULONG *count); HRESULT (STDMETHODCALLTYPE *GetTypes)( IMimeAddressTable *This, DWORD addrtype, DWORD dwProps, ADDRESSLIST *list); HRESULT (STDMETHODCALLTYPE *EnumTypes)( IMimeAddressTable *This, DWORD addrtype, DWORD props, IMimeEnumAddressTypes **types); HRESULT (STDMETHODCALLTYPE *Delete)( IMimeAddressTable *This, HADDRESS hAddress); HRESULT (STDMETHODCALLTYPE *DeleteTypes)( IMimeAddressTable *This, DWORD addrtype); HRESULT (STDMETHODCALLTYPE *GetFormat)( IMimeAddressTable *This, DWORD addrtype, ADDRESSFORMAT addrformat, char **format); HRESULT (STDMETHODCALLTYPE *AppendRfc822)( IMimeAddressTable *This, DWORD addrtype, ENCODINGTYPE encoding, const char *rfcaddr); HRESULT (STDMETHODCALLTYPE *ParseRfc822)( IMimeAddressTable *This, DWORD addrtype, ENCODINGTYPE encoding, const char *rfcaddr, ADDRESSLIST *list); HRESULT (STDMETHODCALLTYPE *Clone)( IMimeAddressTable *This, IMimeAddressTable **table); HRESULT (STDMETHODCALLTYPE *BindToObject)( IMimeAddressTable *This, REFIID riid, void **obj); END_INTERFACE } IMimeAddressTableVtbl; interface IMimeAddressTable { CONST_VTBL IMimeAddressTableVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeAddressTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeAddressTable_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeAddressTable_Release(This) (This)->lpVtbl->Release(This) /*** IMimeAddressTable methods ***/ #define IMimeAddressTable_Append(This,addrtype,encoding,friendly,email,address) (This)->lpVtbl->Append(This,addrtype,encoding,friendly,email,address) #define IMimeAddressTable_Insert(This,addressprop,address) (This)->lpVtbl->Insert(This,addressprop,address) #define IMimeAddressTable_SetProps(This,address,addressprop) (This)->lpVtbl->SetProps(This,address,addressprop) #define IMimeAddressTable_GetProps(This,address,addressprop) (This)->lpVtbl->GetProps(This,address,addressprop) #define IMimeAddressTable_GetSender(This,addressprop) (This)->lpVtbl->GetSender(This,addressprop) #define IMimeAddressTable_CountTypes(This,addrtype,count) (This)->lpVtbl->CountTypes(This,addrtype,count) #define IMimeAddressTable_GetTypes(This,addrtype,dwProps,list) (This)->lpVtbl->GetTypes(This,addrtype,dwProps,list) #define IMimeAddressTable_EnumTypes(This,addrtype,props,types) (This)->lpVtbl->EnumTypes(This,addrtype,props,types) #define IMimeAddressTable_Delete(This,hAddress) (This)->lpVtbl->Delete(This,hAddress) #define IMimeAddressTable_DeleteTypes(This,addrtype) (This)->lpVtbl->DeleteTypes(This,addrtype) #define IMimeAddressTable_GetFormat(This,addrtype,addrformat,format) (This)->lpVtbl->GetFormat(This,addrtype,addrformat,format) #define IMimeAddressTable_AppendRfc822(This,addrtype,encoding,rfcaddr) (This)->lpVtbl->AppendRfc822(This,addrtype,encoding,rfcaddr) #define IMimeAddressTable_ParseRfc822(This,addrtype,encoding,rfcaddr,list) (This)->lpVtbl->ParseRfc822(This,addrtype,encoding,rfcaddr,list) #define IMimeAddressTable_Clone(This,table) (This)->lpVtbl->Clone(This,table) #define IMimeAddressTable_BindToObject(This,riid,obj) (This)->lpVtbl->BindToObject(This,riid,obj) #else /*** IUnknown methods ***/ static inline HRESULT IMimeAddressTable_QueryInterface(IMimeAddressTable* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeAddressTable_AddRef(IMimeAddressTable* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeAddressTable_Release(IMimeAddressTable* This) { return This->lpVtbl->Release(This); } /*** IMimeAddressTable methods ***/ static inline HRESULT IMimeAddressTable_Append(IMimeAddressTable* This,DWORD addrtype,ENCODINGTYPE encoding,const char *friendly,const char *email,HADDRESS *address) { return This->lpVtbl->Append(This,addrtype,encoding,friendly,email,address); } static inline HRESULT IMimeAddressTable_Insert(IMimeAddressTable* This,ADDRESSPROPS *addressprop,HADDRESS *address) { return This->lpVtbl->Insert(This,addressprop,address); } static inline HRESULT IMimeAddressTable_SetProps(IMimeAddressTable* This,HADDRESS address,ADDRESSPROPS *addressprop) { return This->lpVtbl->SetProps(This,address,addressprop); } static inline HRESULT IMimeAddressTable_GetProps(IMimeAddressTable* This,HADDRESS address,ADDRESSPROPS *addressprop) { return This->lpVtbl->GetProps(This,address,addressprop); } static inline HRESULT IMimeAddressTable_GetSender(IMimeAddressTable* This,ADDRESSPROPS *addressprop) { return This->lpVtbl->GetSender(This,addressprop); } static inline HRESULT IMimeAddressTable_CountTypes(IMimeAddressTable* This,DWORD addrtype,ULONG *count) { return This->lpVtbl->CountTypes(This,addrtype,count); } static inline HRESULT IMimeAddressTable_GetTypes(IMimeAddressTable* This,DWORD addrtype,DWORD dwProps,ADDRESSLIST *list) { return This->lpVtbl->GetTypes(This,addrtype,dwProps,list); } static inline HRESULT IMimeAddressTable_EnumTypes(IMimeAddressTable* This,DWORD addrtype,DWORD props,IMimeEnumAddressTypes **types) { return This->lpVtbl->EnumTypes(This,addrtype,props,types); } static inline HRESULT IMimeAddressTable_Delete(IMimeAddressTable* This,HADDRESS hAddress) { return This->lpVtbl->Delete(This,hAddress); } static inline HRESULT IMimeAddressTable_DeleteTypes(IMimeAddressTable* This,DWORD addrtype) { return This->lpVtbl->DeleteTypes(This,addrtype); } static inline HRESULT IMimeAddressTable_GetFormat(IMimeAddressTable* This,DWORD addrtype,ADDRESSFORMAT addrformat,char **format) { return This->lpVtbl->GetFormat(This,addrtype,addrformat,format); } static inline HRESULT IMimeAddressTable_AppendRfc822(IMimeAddressTable* This,DWORD addrtype,ENCODINGTYPE encoding,const char *rfcaddr) { return This->lpVtbl->AppendRfc822(This,addrtype,encoding,rfcaddr); } static inline HRESULT IMimeAddressTable_ParseRfc822(IMimeAddressTable* This,DWORD addrtype,ENCODINGTYPE encoding,const char *rfcaddr,ADDRESSLIST *list) { return This->lpVtbl->ParseRfc822(This,addrtype,encoding,rfcaddr,list); } static inline HRESULT IMimeAddressTable_Clone(IMimeAddressTable* This,IMimeAddressTable **table) { return This->lpVtbl->Clone(This,table); } static inline HRESULT IMimeAddressTable_BindToObject(IMimeAddressTable* This,REFIID riid,void **obj) { return This->lpVtbl->BindToObject(This,riid,obj); } #endif #endif #endif #endif /* __IMimeAddressTable_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeWebDocument interface */ #ifndef __IMimeWebDocument_INTERFACE_DEFINED__ #define __IMimeWebDocument_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeWebDocument, 0xee519f11, 0x851a, 0x11d0, 0x82,0x5c, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ee519f11-851a-11d0-825c-00c04fd85ab4") IMimeWebDocument : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeWebDocument, 0xee519f11, 0x851a, 0x11d0, 0x82,0x5c, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeWebDocumentVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeWebDocument *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeWebDocument *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeWebDocument *This); END_INTERFACE } IMimeWebDocumentVtbl; interface IMimeWebDocument { CONST_VTBL IMimeWebDocumentVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeWebDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeWebDocument_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeWebDocument_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeWebDocument_QueryInterface(IMimeWebDocument* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeWebDocument_AddRef(IMimeWebDocument* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeWebDocument_Release(IMimeWebDocument* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeWebDocument_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeBody interface */ #ifndef __IMimeBody_INTERFACE_DEFINED__ #define __IMimeBody_INTERFACE_DEFINED__ typedef IMimeBody *LPMIMEBODY; typedef enum tagIMSGBODYTYPE { IBT_SECURE = 0, IBT_ATTACHMENT = 1, IBT_EMPTY = 2, IBT_CSETTAGGED = 3, IBT_AUTOATTACH = 4 } IMSGBODYTYPE; typedef struct tagBODYOFFSETS { DWORD cbBoundaryStart; DWORD cbHeaderStart; DWORD cbBodyStart; DWORD cbBodyEnd; } BODYOFFSETS; typedef struct tagBODYOFFSETS *LPBODYOFFSETS; typedef struct tagTRANSMITINFO { ENCODINGTYPE ietCurrent; ENCODINGTYPE ietXmitMime; ENCODINGTYPE ietXmit822; ULONG cbLongestLine; ULONG cExtended; ULONG ulPercentExt; ULONG cbSize; ULONG cLines; } TRANSMITINFO; typedef struct tagTRANSMITINFO *LPTRANSMITINFO; DEFINE_GUID(IID_IMimeBody, 0xc558834c, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c558834c-7f86-11d0-8252-00c04fd85ab4") IMimeBody : public IMimePropertySet { virtual HRESULT STDMETHODCALLTYPE IsType( IMSGBODYTYPE bodytype) = 0; virtual HRESULT STDMETHODCALLTYPE SetDisplayName( LPCSTR pszDisplay) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplayName( LPSTR *ppszDisplay) = 0; virtual HRESULT STDMETHODCALLTYPE GetOffsets( LPBODYOFFSETS pOffsets) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentEncoding( ENCODINGTYPE *pietEncoding) = 0; virtual HRESULT STDMETHODCALLTYPE SetCurrentEncoding( ENCODINGTYPE ietEncoding) = 0; virtual HRESULT STDMETHODCALLTYPE GetEstimatedSize( ENCODINGTYPE ietEncoding, ULONG *pcbSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetDataHere( ENCODINGTYPE ietEncoding, IStream *pStream) = 0; virtual HRESULT STDMETHODCALLTYPE GetData( ENCODINGTYPE ietEncoding, IStream **ppStream) = 0; virtual HRESULT STDMETHODCALLTYPE SetData( ENCODINGTYPE ietEncoding, LPCSTR pszPriType, LPCSTR pszSubType, REFIID riid, LPVOID pvObject) = 0; virtual HRESULT STDMETHODCALLTYPE EmptyData( ) = 0; virtual HRESULT STDMETHODCALLTYPE CopyTo( IMimeBody *pBody) = 0; virtual HRESULT STDMETHODCALLTYPE GetTransmitInfo( LPTRANSMITINFO pTransmitInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SaveToFile( ENCODINGTYPE ietEncoding, LPCSTR pszFilePath) = 0; virtual HRESULT STDMETHODCALLTYPE GetHandle( LPHBODY phBody) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeBody, 0xc558834c, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeBodyVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeBody *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeBody *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeBody *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IMimeBody *This, CLSID *pClassID); /*** IPersistStreamInit methods ***/ HRESULT (STDMETHODCALLTYPE *IsDirty)( IMimeBody *This); HRESULT (STDMETHODCALLTYPE *Load)( IMimeBody *This, LPSTREAM pStm); HRESULT (STDMETHODCALLTYPE *Save)( IMimeBody *This, LPSTREAM pStm, BOOL fClearDirty); HRESULT (STDMETHODCALLTYPE *GetSizeMax)( IMimeBody *This, ULARGE_INTEGER *pcbSize); HRESULT (STDMETHODCALLTYPE *InitNew)( IMimeBody *This); /*** IMimePropertySet methods ***/ HRESULT (STDMETHODCALLTYPE *GetPropInfo)( IMimeBody *This, LPCSTR pszName, LPMIMEPROPINFO pInfo); HRESULT (STDMETHODCALLTYPE *SetPropInfo)( IMimeBody *This, LPCSTR pszName, LPCMIMEPROPINFO pInfo); HRESULT (STDMETHODCALLTYPE *GetProp)( IMimeBody *This, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *SetProp)( IMimeBody *This, LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *AppendProp)( IMimeBody *This, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *DeleteProp)( IMimeBody *This, LPCSTR pszName); HRESULT (STDMETHODCALLTYPE *CopyProps)( IMimeBody *This, ULONG cNames, LPCSTR *prgszName, IMimePropertySet *pPropertySet); HRESULT (STDMETHODCALLTYPE *MoveProps)( IMimeBody *This, ULONG cNames, LPCSTR *prgszName, IMimePropertySet *pPropertySet); HRESULT (STDMETHODCALLTYPE *DeleteExcept)( IMimeBody *This, ULONG cNames, LPCSTR *prgszName); HRESULT (STDMETHODCALLTYPE *QueryProp)( IMimeBody *This, LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive); HRESULT (STDMETHODCALLTYPE *GetCharset)( IMimeBody *This, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *SetCharset)( IMimeBody *This, HCHARSET hCharset, CSETAPPLYTYPE applytype); HRESULT (STDMETHODCALLTYPE *GetParameters)( IMimeBody *This, LPCSTR pszName, ULONG *pcParams, LPMIMEPARAMINFO *pprgParam); HRESULT (STDMETHODCALLTYPE *IsContentType)( IMimeBody *This, LPCSTR pszPriType, LPCSTR pszSubType); HRESULT (STDMETHODCALLTYPE *BindToObject)( IMimeBody *This, REFIID riid, void **ppvObject); HRESULT (STDMETHODCALLTYPE *Clone)( IMimeBody *This, IMimePropertySet **ppPropertySet); HRESULT (STDMETHODCALLTYPE *SetOption)( IMimeBody *This, const TYPEDID oid, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *GetOption)( IMimeBody *This, const TYPEDID oid, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *EnumProps)( IMimeBody *This, DWORD dwFlags, IMimeEnumProperties **ppEnum); /*** IMimeBody methods ***/ HRESULT (STDMETHODCALLTYPE *IsType)( IMimeBody *This, IMSGBODYTYPE bodytype); HRESULT (STDMETHODCALLTYPE *SetDisplayName)( IMimeBody *This, LPCSTR pszDisplay); HRESULT (STDMETHODCALLTYPE *GetDisplayName)( IMimeBody *This, LPSTR *ppszDisplay); HRESULT (STDMETHODCALLTYPE *GetOffsets)( IMimeBody *This, LPBODYOFFSETS pOffsets); HRESULT (STDMETHODCALLTYPE *GetCurrentEncoding)( IMimeBody *This, ENCODINGTYPE *pietEncoding); HRESULT (STDMETHODCALLTYPE *SetCurrentEncoding)( IMimeBody *This, ENCODINGTYPE ietEncoding); HRESULT (STDMETHODCALLTYPE *GetEstimatedSize)( IMimeBody *This, ENCODINGTYPE ietEncoding, ULONG *pcbSize); HRESULT (STDMETHODCALLTYPE *GetDataHere)( IMimeBody *This, ENCODINGTYPE ietEncoding, IStream *pStream); HRESULT (STDMETHODCALLTYPE *GetData)( IMimeBody *This, ENCODINGTYPE ietEncoding, IStream **ppStream); HRESULT (STDMETHODCALLTYPE *SetData)( IMimeBody *This, ENCODINGTYPE ietEncoding, LPCSTR pszPriType, LPCSTR pszSubType, REFIID riid, LPVOID pvObject); HRESULT (STDMETHODCALLTYPE *EmptyData)( IMimeBody *This); HRESULT (STDMETHODCALLTYPE *CopyTo)( IMimeBody *This, IMimeBody *pBody); HRESULT (STDMETHODCALLTYPE *GetTransmitInfo)( IMimeBody *This, LPTRANSMITINFO pTransmitInfo); HRESULT (STDMETHODCALLTYPE *SaveToFile)( IMimeBody *This, ENCODINGTYPE ietEncoding, LPCSTR pszFilePath); HRESULT (STDMETHODCALLTYPE *GetHandle)( IMimeBody *This, LPHBODY phBody); END_INTERFACE } IMimeBodyVtbl; interface IMimeBody { CONST_VTBL IMimeBodyVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeBody_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeBody_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeBody_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IMimeBody_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) /*** IPersistStreamInit methods ***/ #define IMimeBody_IsDirty(This) (This)->lpVtbl->IsDirty(This) #define IMimeBody_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) #define IMimeBody_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) #define IMimeBody_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) #define IMimeBody_InitNew(This) (This)->lpVtbl->InitNew(This) /*** IMimePropertySet methods ***/ #define IMimeBody_GetPropInfo(This,pszName,pInfo) (This)->lpVtbl->GetPropInfo(This,pszName,pInfo) #define IMimeBody_SetPropInfo(This,pszName,pInfo) (This)->lpVtbl->SetPropInfo(This,pszName,pInfo) #define IMimeBody_GetProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->GetProp(This,pszName,dwFlags,pValue) #define IMimeBody_SetProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->SetProp(This,pszName,dwFlags,pValue) #define IMimeBody_AppendProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->AppendProp(This,pszName,dwFlags,pValue) #define IMimeBody_DeleteProp(This,pszName) (This)->lpVtbl->DeleteProp(This,pszName) #define IMimeBody_CopyProps(This,cNames,prgszName,pPropertySet) (This)->lpVtbl->CopyProps(This,cNames,prgszName,pPropertySet) #define IMimeBody_MoveProps(This,cNames,prgszName,pPropertySet) (This)->lpVtbl->MoveProps(This,cNames,prgszName,pPropertySet) #define IMimeBody_DeleteExcept(This,cNames,prgszName) (This)->lpVtbl->DeleteExcept(This,cNames,prgszName) #define IMimeBody_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) (This)->lpVtbl->QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeBody_GetCharset(This,phCharset) (This)->lpVtbl->GetCharset(This,phCharset) #define IMimeBody_SetCharset(This,hCharset,applytype) (This)->lpVtbl->SetCharset(This,hCharset,applytype) #define IMimeBody_GetParameters(This,pszName,pcParams,pprgParam) (This)->lpVtbl->GetParameters(This,pszName,pcParams,pprgParam) #define IMimeBody_IsContentType(This,pszPriType,pszSubType) (This)->lpVtbl->IsContentType(This,pszPriType,pszSubType) #define IMimeBody_BindToObject(This,riid,ppvObject) (This)->lpVtbl->BindToObject(This,riid,ppvObject) #define IMimeBody_Clone(This,ppPropertySet) (This)->lpVtbl->Clone(This,ppPropertySet) #define IMimeBody_SetOption(This,oid,pValue) (This)->lpVtbl->SetOption(This,oid,pValue) #define IMimeBody_GetOption(This,oid,pValue) (This)->lpVtbl->GetOption(This,oid,pValue) #define IMimeBody_EnumProps(This,dwFlags,ppEnum) (This)->lpVtbl->EnumProps(This,dwFlags,ppEnum) /*** IMimeBody methods ***/ #define IMimeBody_IsType(This,bodytype) (This)->lpVtbl->IsType(This,bodytype) #define IMimeBody_SetDisplayName(This,pszDisplay) (This)->lpVtbl->SetDisplayName(This,pszDisplay) #define IMimeBody_GetDisplayName(This,ppszDisplay) (This)->lpVtbl->GetDisplayName(This,ppszDisplay) #define IMimeBody_GetOffsets(This,pOffsets) (This)->lpVtbl->GetOffsets(This,pOffsets) #define IMimeBody_GetCurrentEncoding(This,pietEncoding) (This)->lpVtbl->GetCurrentEncoding(This,pietEncoding) #define IMimeBody_SetCurrentEncoding(This,ietEncoding) (This)->lpVtbl->SetCurrentEncoding(This,ietEncoding) #define IMimeBody_GetEstimatedSize(This,ietEncoding,pcbSize) (This)->lpVtbl->GetEstimatedSize(This,ietEncoding,pcbSize) #define IMimeBody_GetDataHere(This,ietEncoding,pStream) (This)->lpVtbl->GetDataHere(This,ietEncoding,pStream) #define IMimeBody_GetData(This,ietEncoding,ppStream) (This)->lpVtbl->GetData(This,ietEncoding,ppStream) #define IMimeBody_SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject) (This)->lpVtbl->SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject) #define IMimeBody_EmptyData(This) (This)->lpVtbl->EmptyData(This) #define IMimeBody_CopyTo(This,pBody) (This)->lpVtbl->CopyTo(This,pBody) #define IMimeBody_GetTransmitInfo(This,pTransmitInfo) (This)->lpVtbl->GetTransmitInfo(This,pTransmitInfo) #define IMimeBody_SaveToFile(This,ietEncoding,pszFilePath) (This)->lpVtbl->SaveToFile(This,ietEncoding,pszFilePath) #define IMimeBody_GetHandle(This,phBody) (This)->lpVtbl->GetHandle(This,phBody) #else /*** IUnknown methods ***/ static inline HRESULT IMimeBody_QueryInterface(IMimeBody* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeBody_AddRef(IMimeBody* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeBody_Release(IMimeBody* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static inline HRESULT IMimeBody_GetClassID(IMimeBody* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } /*** IPersistStreamInit methods ***/ static inline HRESULT IMimeBody_IsDirty(IMimeBody* This) { return This->lpVtbl->IsDirty(This); } static inline HRESULT IMimeBody_Load(IMimeBody* This,LPSTREAM pStm) { return This->lpVtbl->Load(This,pStm); } static inline HRESULT IMimeBody_Save(IMimeBody* This,LPSTREAM pStm,BOOL fClearDirty) { return This->lpVtbl->Save(This,pStm,fClearDirty); } static inline HRESULT IMimeBody_GetSizeMax(IMimeBody* This,ULARGE_INTEGER *pcbSize) { return This->lpVtbl->GetSizeMax(This,pcbSize); } static inline HRESULT IMimeBody_InitNew(IMimeBody* This) { return This->lpVtbl->InitNew(This); } /*** IMimePropertySet methods ***/ static inline HRESULT IMimeBody_GetPropInfo(IMimeBody* This,LPCSTR pszName,LPMIMEPROPINFO pInfo) { return This->lpVtbl->GetPropInfo(This,pszName,pInfo); } static inline HRESULT IMimeBody_SetPropInfo(IMimeBody* This,LPCSTR pszName,LPCMIMEPROPINFO pInfo) { return This->lpVtbl->SetPropInfo(This,pszName,pInfo); } static inline HRESULT IMimeBody_GetProp(IMimeBody* This,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->GetProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimeBody_SetProp(IMimeBody* This,LPCSTR pszName,DWORD dwFlags,LPCPROPVARIANT pValue) { return This->lpVtbl->SetProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimeBody_AppendProp(IMimeBody* This,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->AppendProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimeBody_DeleteProp(IMimeBody* This,LPCSTR pszName) { return This->lpVtbl->DeleteProp(This,pszName); } static inline HRESULT IMimeBody_CopyProps(IMimeBody* This,ULONG cNames,LPCSTR *prgszName,IMimePropertySet *pPropertySet) { return This->lpVtbl->CopyProps(This,cNames,prgszName,pPropertySet); } static inline HRESULT IMimeBody_MoveProps(IMimeBody* This,ULONG cNames,LPCSTR *prgszName,IMimePropertySet *pPropertySet) { return This->lpVtbl->MoveProps(This,cNames,prgszName,pPropertySet); } static inline HRESULT IMimeBody_DeleteExcept(IMimeBody* This,ULONG cNames,LPCSTR *prgszName) { return This->lpVtbl->DeleteExcept(This,cNames,prgszName); } static inline HRESULT IMimeBody_QueryProp(IMimeBody* This,LPCSTR pszName,LPCSTR pszCriteria,boolean fSubString,boolean fCaseSensitive) { return This->lpVtbl->QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive); } static inline HRESULT IMimeBody_GetCharset(IMimeBody* This,LPHCHARSET phCharset) { return This->lpVtbl->GetCharset(This,phCharset); } static inline HRESULT IMimeBody_SetCharset(IMimeBody* This,HCHARSET hCharset,CSETAPPLYTYPE applytype) { return This->lpVtbl->SetCharset(This,hCharset,applytype); } static inline HRESULT IMimeBody_GetParameters(IMimeBody* This,LPCSTR pszName,ULONG *pcParams,LPMIMEPARAMINFO *pprgParam) { return This->lpVtbl->GetParameters(This,pszName,pcParams,pprgParam); } static inline HRESULT IMimeBody_IsContentType(IMimeBody* This,LPCSTR pszPriType,LPCSTR pszSubType) { return This->lpVtbl->IsContentType(This,pszPriType,pszSubType); } static inline HRESULT IMimeBody_BindToObject(IMimeBody* This,REFIID riid,void **ppvObject) { return This->lpVtbl->BindToObject(This,riid,ppvObject); } static inline HRESULT IMimeBody_Clone(IMimeBody* This,IMimePropertySet **ppPropertySet) { return This->lpVtbl->Clone(This,ppPropertySet); } static inline HRESULT IMimeBody_SetOption(IMimeBody* This,const TYPEDID oid,LPCPROPVARIANT pValue) { return This->lpVtbl->SetOption(This,oid,pValue); } static inline HRESULT IMimeBody_GetOption(IMimeBody* This,const TYPEDID oid,LPPROPVARIANT pValue) { return This->lpVtbl->GetOption(This,oid,pValue); } static inline HRESULT IMimeBody_EnumProps(IMimeBody* This,DWORD dwFlags,IMimeEnumProperties **ppEnum) { return This->lpVtbl->EnumProps(This,dwFlags,ppEnum); } /*** IMimeBody methods ***/ static inline HRESULT IMimeBody_IsType(IMimeBody* This,IMSGBODYTYPE bodytype) { return This->lpVtbl->IsType(This,bodytype); } static inline HRESULT IMimeBody_SetDisplayName(IMimeBody* This,LPCSTR pszDisplay) { return This->lpVtbl->SetDisplayName(This,pszDisplay); } static inline HRESULT IMimeBody_GetDisplayName(IMimeBody* This,LPSTR *ppszDisplay) { return This->lpVtbl->GetDisplayName(This,ppszDisplay); } static inline HRESULT IMimeBody_GetOffsets(IMimeBody* This,LPBODYOFFSETS pOffsets) { return This->lpVtbl->GetOffsets(This,pOffsets); } static inline HRESULT IMimeBody_GetCurrentEncoding(IMimeBody* This,ENCODINGTYPE *pietEncoding) { return This->lpVtbl->GetCurrentEncoding(This,pietEncoding); } static inline HRESULT IMimeBody_SetCurrentEncoding(IMimeBody* This,ENCODINGTYPE ietEncoding) { return This->lpVtbl->SetCurrentEncoding(This,ietEncoding); } static inline HRESULT IMimeBody_GetEstimatedSize(IMimeBody* This,ENCODINGTYPE ietEncoding,ULONG *pcbSize) { return This->lpVtbl->GetEstimatedSize(This,ietEncoding,pcbSize); } static inline HRESULT IMimeBody_GetDataHere(IMimeBody* This,ENCODINGTYPE ietEncoding,IStream *pStream) { return This->lpVtbl->GetDataHere(This,ietEncoding,pStream); } static inline HRESULT IMimeBody_GetData(IMimeBody* This,ENCODINGTYPE ietEncoding,IStream **ppStream) { return This->lpVtbl->GetData(This,ietEncoding,ppStream); } static inline HRESULT IMimeBody_SetData(IMimeBody* This,ENCODINGTYPE ietEncoding,LPCSTR pszPriType,LPCSTR pszSubType,REFIID riid,LPVOID pvObject) { return This->lpVtbl->SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject); } static inline HRESULT IMimeBody_EmptyData(IMimeBody* This) { return This->lpVtbl->EmptyData(This); } static inline HRESULT IMimeBody_CopyTo(IMimeBody* This,IMimeBody *pBody) { return This->lpVtbl->CopyTo(This,pBody); } static inline HRESULT IMimeBody_GetTransmitInfo(IMimeBody* This,LPTRANSMITINFO pTransmitInfo) { return This->lpVtbl->GetTransmitInfo(This,pTransmitInfo); } static inline HRESULT IMimeBody_SaveToFile(IMimeBody* This,ENCODINGTYPE ietEncoding,LPCSTR pszFilePath) { return This->lpVtbl->SaveToFile(This,ietEncoding,pszFilePath); } static inline HRESULT IMimeBody_GetHandle(IMimeBody* This,LPHBODY phBody) { return This->lpVtbl->GetHandle(This,phBody); } #endif #endif #endif #endif /* __IMimeBody_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeMessageTree interface */ #ifndef __IMimeMessageTree_INTERFACE_DEFINED__ #define __IMimeMessageTree_INTERFACE_DEFINED__ typedef IMimeMessageTree *LPMIMEMESSAGETREE; #define HBODY_ROOT ((HBODY)-1) typedef enum tagBODYLOCATION { IBL_ROOT = 0, IBL_PARENT = 1, IBL_FIRST = 2, IBL_LAST = 3, IBL_NEXT = 4, IBL_PREVIOUS = 5 } BODYLOCATION; typedef struct tagFINDBODY { LPSTR pszPriType; LPSTR pszSubType; DWORD dwReserved; } FINDBODY; typedef struct tagFINDBODY *LPFINDBODY; DEFINE_GUID(IID_IMimeMessageTree, 0xfd853cd4, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fd853cd4-7f86-11d0-8252-00c04fd85ab4") IMimeMessageTree : public IPersistStreamInit { virtual HRESULT STDMETHODCALLTYPE GetMessageSource( IStream **ppStream, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetMessageSize( ULONG *pcbSize, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE LoadOffsetTable( IStream *pStream) = 0; virtual HRESULT STDMETHODCALLTYPE SaveOffsetTable( IStream *pStream, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetFlags( DWORD *pdwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Commit( DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE HandsOffStorage( ) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( const HBODY hBody, REFIID riid, void **ppvObject) = 0; virtual HRESULT STDMETHODCALLTYPE SaveBody( HBODY hBody, DWORD dwFlags, IStream *pStream) = 0; virtual HRESULT STDMETHODCALLTYPE InsertBody( BODYLOCATION location, HBODY hPivot, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE GetBody( BODYLOCATION location, HBODY hPivot, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteBody( HBODY hBody, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE MoveBody( HBODY hBody, BODYLOCATION location) = 0; virtual HRESULT STDMETHODCALLTYPE CountBodies( HBODY hParent, boolean fRecurse, ULONG *pcBodies) = 0; virtual HRESULT STDMETHODCALLTYPE FindFirst( LPFINDBODY pFindBody, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE FindNext( LPFINDBODY pFindBody, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE ResolveURL( HBODY hRelated, LPCSTR pszBase, LPCSTR pszURL, DWORD dwFlags, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE ToMultipart( HBODY hBody, LPCSTR pszSubType, LPHBODY phMultipart) = 0; virtual HRESULT STDMETHODCALLTYPE GetBodyOffsets( HBODY hBody, LPBODYOFFSETS pOffsets) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharset( LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE SetCharset( HCHARSET hCharset, CSETAPPLYTYPE applytype) = 0; virtual HRESULT STDMETHODCALLTYPE IsBodyType( HBODY hBody, IMSGBODYTYPE bodytype) = 0; virtual HRESULT STDMETHODCALLTYPE IsContentType( HBODY hBody, LPCSTR pszPriType, LPCSTR pszSubType) = 0; virtual HRESULT STDMETHODCALLTYPE QueryBodyProp( HBODY hBody, LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive) = 0; virtual HRESULT STDMETHODCALLTYPE GetBodyProp( HBODY hBody, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetBodyProp( HBODY hBody, LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteBodyProp( HBODY hBody, LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE SetOption( const TYPEDID oid, LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE GetOption( const TYPEDID oid, LPPROPVARIANT pValue) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeMessageTree, 0xfd853cd4, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeMessageTreeVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeMessageTree *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeMessageTree *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeMessageTree *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IMimeMessageTree *This, CLSID *pClassID); /*** IPersistStreamInit methods ***/ HRESULT (STDMETHODCALLTYPE *IsDirty)( IMimeMessageTree *This); HRESULT (STDMETHODCALLTYPE *Load)( IMimeMessageTree *This, LPSTREAM pStm); HRESULT (STDMETHODCALLTYPE *Save)( IMimeMessageTree *This, LPSTREAM pStm, BOOL fClearDirty); HRESULT (STDMETHODCALLTYPE *GetSizeMax)( IMimeMessageTree *This, ULARGE_INTEGER *pcbSize); HRESULT (STDMETHODCALLTYPE *InitNew)( IMimeMessageTree *This); /*** IMimeMessageTree methods ***/ HRESULT (STDMETHODCALLTYPE *GetMessageSource)( IMimeMessageTree *This, IStream **ppStream, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *GetMessageSize)( IMimeMessageTree *This, ULONG *pcbSize, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *LoadOffsetTable)( IMimeMessageTree *This, IStream *pStream); HRESULT (STDMETHODCALLTYPE *SaveOffsetTable)( IMimeMessageTree *This, IStream *pStream, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *GetFlags)( IMimeMessageTree *This, DWORD *pdwFlags); HRESULT (STDMETHODCALLTYPE *Commit)( IMimeMessageTree *This, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *HandsOffStorage)( IMimeMessageTree *This); HRESULT (STDMETHODCALLTYPE *BindToObject)( IMimeMessageTree *This, const HBODY hBody, REFIID riid, void **ppvObject); HRESULT (STDMETHODCALLTYPE *SaveBody)( IMimeMessageTree *This, HBODY hBody, DWORD dwFlags, IStream *pStream); HRESULT (STDMETHODCALLTYPE *InsertBody)( IMimeMessageTree *This, BODYLOCATION location, HBODY hPivot, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *GetBody)( IMimeMessageTree *This, BODYLOCATION location, HBODY hPivot, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *DeleteBody)( IMimeMessageTree *This, HBODY hBody, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *MoveBody)( IMimeMessageTree *This, HBODY hBody, BODYLOCATION location); HRESULT (STDMETHODCALLTYPE *CountBodies)( IMimeMessageTree *This, HBODY hParent, boolean fRecurse, ULONG *pcBodies); HRESULT (STDMETHODCALLTYPE *FindFirst)( IMimeMessageTree *This, LPFINDBODY pFindBody, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *FindNext)( IMimeMessageTree *This, LPFINDBODY pFindBody, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *ResolveURL)( IMimeMessageTree *This, HBODY hRelated, LPCSTR pszBase, LPCSTR pszURL, DWORD dwFlags, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *ToMultipart)( IMimeMessageTree *This, HBODY hBody, LPCSTR pszSubType, LPHBODY phMultipart); HRESULT (STDMETHODCALLTYPE *GetBodyOffsets)( IMimeMessageTree *This, HBODY hBody, LPBODYOFFSETS pOffsets); HRESULT (STDMETHODCALLTYPE *GetCharset)( IMimeMessageTree *This, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *SetCharset)( IMimeMessageTree *This, HCHARSET hCharset, CSETAPPLYTYPE applytype); HRESULT (STDMETHODCALLTYPE *IsBodyType)( IMimeMessageTree *This, HBODY hBody, IMSGBODYTYPE bodytype); HRESULT (STDMETHODCALLTYPE *IsContentType)( IMimeMessageTree *This, HBODY hBody, LPCSTR pszPriType, LPCSTR pszSubType); HRESULT (STDMETHODCALLTYPE *QueryBodyProp)( IMimeMessageTree *This, HBODY hBody, LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive); HRESULT (STDMETHODCALLTYPE *GetBodyProp)( IMimeMessageTree *This, HBODY hBody, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *SetBodyProp)( IMimeMessageTree *This, HBODY hBody, LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *DeleteBodyProp)( IMimeMessageTree *This, HBODY hBody, LPCSTR pszName); HRESULT (STDMETHODCALLTYPE *SetOption)( IMimeMessageTree *This, const TYPEDID oid, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *GetOption)( IMimeMessageTree *This, const TYPEDID oid, LPPROPVARIANT pValue); END_INTERFACE } IMimeMessageTreeVtbl; interface IMimeMessageTree { CONST_VTBL IMimeMessageTreeVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeMessageTree_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeMessageTree_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeMessageTree_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IMimeMessageTree_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) /*** IPersistStreamInit methods ***/ #define IMimeMessageTree_IsDirty(This) (This)->lpVtbl->IsDirty(This) #define IMimeMessageTree_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) #define IMimeMessageTree_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) #define IMimeMessageTree_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) #define IMimeMessageTree_InitNew(This) (This)->lpVtbl->InitNew(This) /*** IMimeMessageTree methods ***/ #define IMimeMessageTree_GetMessageSource(This,ppStream,dwFlags) (This)->lpVtbl->GetMessageSource(This,ppStream,dwFlags) #define IMimeMessageTree_GetMessageSize(This,pcbSize,dwFlags) (This)->lpVtbl->GetMessageSize(This,pcbSize,dwFlags) #define IMimeMessageTree_LoadOffsetTable(This,pStream) (This)->lpVtbl->LoadOffsetTable(This,pStream) #define IMimeMessageTree_SaveOffsetTable(This,pStream,dwFlags) (This)->lpVtbl->SaveOffsetTable(This,pStream,dwFlags) #define IMimeMessageTree_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) #define IMimeMessageTree_Commit(This,dwFlags) (This)->lpVtbl->Commit(This,dwFlags) #define IMimeMessageTree_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This) #define IMimeMessageTree_BindToObject(This,hBody,riid,ppvObject) (This)->lpVtbl->BindToObject(This,hBody,riid,ppvObject) #define IMimeMessageTree_SaveBody(This,hBody,dwFlags,pStream) (This)->lpVtbl->SaveBody(This,hBody,dwFlags,pStream) #define IMimeMessageTree_InsertBody(This,location,hPivot,phBody) (This)->lpVtbl->InsertBody(This,location,hPivot,phBody) #define IMimeMessageTree_GetBody(This,location,hPivot,phBody) (This)->lpVtbl->GetBody(This,location,hPivot,phBody) #define IMimeMessageTree_DeleteBody(This,hBody,dwFlags) (This)->lpVtbl->DeleteBody(This,hBody,dwFlags) #define IMimeMessageTree_MoveBody(This,hBody,location) (This)->lpVtbl->MoveBody(This,hBody,location) #define IMimeMessageTree_CountBodies(This,hParent,fRecurse,pcBodies) (This)->lpVtbl->CountBodies(This,hParent,fRecurse,pcBodies) #define IMimeMessageTree_FindFirst(This,pFindBody,phBody) (This)->lpVtbl->FindFirst(This,pFindBody,phBody) #define IMimeMessageTree_FindNext(This,pFindBody,phBody) (This)->lpVtbl->FindNext(This,pFindBody,phBody) #define IMimeMessageTree_ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) (This)->lpVtbl->ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) #define IMimeMessageTree_ToMultipart(This,hBody,pszSubType,phMultipart) (This)->lpVtbl->ToMultipart(This,hBody,pszSubType,phMultipart) #define IMimeMessageTree_GetBodyOffsets(This,hBody,pOffsets) (This)->lpVtbl->GetBodyOffsets(This,hBody,pOffsets) #define IMimeMessageTree_GetCharset(This,phCharset) (This)->lpVtbl->GetCharset(This,phCharset) #define IMimeMessageTree_SetCharset(This,hCharset,applytype) (This)->lpVtbl->SetCharset(This,hCharset,applytype) #define IMimeMessageTree_IsBodyType(This,hBody,bodytype) (This)->lpVtbl->IsBodyType(This,hBody,bodytype) #define IMimeMessageTree_IsContentType(This,hBody,pszPriType,pszSubType) (This)->lpVtbl->IsContentType(This,hBody,pszPriType,pszSubType) #define IMimeMessageTree_QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) (This)->lpVtbl->QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeMessageTree_GetBodyProp(This,hBody,pszName,dwFlags,pValue) (This)->lpVtbl->GetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessageTree_SetBodyProp(This,hBody,pszName,dwFlags,pValue) (This)->lpVtbl->SetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessageTree_DeleteBodyProp(This,hBody,pszName) (This)->lpVtbl->DeleteBodyProp(This,hBody,pszName) #define IMimeMessageTree_SetOption(This,oid,pValue) (This)->lpVtbl->SetOption(This,oid,pValue) #define IMimeMessageTree_GetOption(This,oid,pValue) (This)->lpVtbl->GetOption(This,oid,pValue) #else /*** IUnknown methods ***/ static inline HRESULT IMimeMessageTree_QueryInterface(IMimeMessageTree* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeMessageTree_AddRef(IMimeMessageTree* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeMessageTree_Release(IMimeMessageTree* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static inline HRESULT IMimeMessageTree_GetClassID(IMimeMessageTree* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } /*** IPersistStreamInit methods ***/ static inline HRESULT IMimeMessageTree_IsDirty(IMimeMessageTree* This) { return This->lpVtbl->IsDirty(This); } static inline HRESULT IMimeMessageTree_Load(IMimeMessageTree* This,LPSTREAM pStm) { return This->lpVtbl->Load(This,pStm); } static inline HRESULT IMimeMessageTree_Save(IMimeMessageTree* This,LPSTREAM pStm,BOOL fClearDirty) { return This->lpVtbl->Save(This,pStm,fClearDirty); } static inline HRESULT IMimeMessageTree_GetSizeMax(IMimeMessageTree* This,ULARGE_INTEGER *pcbSize) { return This->lpVtbl->GetSizeMax(This,pcbSize); } static inline HRESULT IMimeMessageTree_InitNew(IMimeMessageTree* This) { return This->lpVtbl->InitNew(This); } /*** IMimeMessageTree methods ***/ static inline HRESULT IMimeMessageTree_GetMessageSource(IMimeMessageTree* This,IStream **ppStream,DWORD dwFlags) { return This->lpVtbl->GetMessageSource(This,ppStream,dwFlags); } static inline HRESULT IMimeMessageTree_GetMessageSize(IMimeMessageTree* This,ULONG *pcbSize,DWORD dwFlags) { return This->lpVtbl->GetMessageSize(This,pcbSize,dwFlags); } static inline HRESULT IMimeMessageTree_LoadOffsetTable(IMimeMessageTree* This,IStream *pStream) { return This->lpVtbl->LoadOffsetTable(This,pStream); } static inline HRESULT IMimeMessageTree_SaveOffsetTable(IMimeMessageTree* This,IStream *pStream,DWORD dwFlags) { return This->lpVtbl->SaveOffsetTable(This,pStream,dwFlags); } static inline HRESULT IMimeMessageTree_GetFlags(IMimeMessageTree* This,DWORD *pdwFlags) { return This->lpVtbl->GetFlags(This,pdwFlags); } static inline HRESULT IMimeMessageTree_Commit(IMimeMessageTree* This,DWORD dwFlags) { return This->lpVtbl->Commit(This,dwFlags); } static inline HRESULT IMimeMessageTree_HandsOffStorage(IMimeMessageTree* This) { return This->lpVtbl->HandsOffStorage(This); } static inline HRESULT IMimeMessageTree_BindToObject(IMimeMessageTree* This,const HBODY hBody,REFIID riid,void **ppvObject) { return This->lpVtbl->BindToObject(This,hBody,riid,ppvObject); } static inline HRESULT IMimeMessageTree_SaveBody(IMimeMessageTree* This,HBODY hBody,DWORD dwFlags,IStream *pStream) { return This->lpVtbl->SaveBody(This,hBody,dwFlags,pStream); } static inline HRESULT IMimeMessageTree_InsertBody(IMimeMessageTree* This,BODYLOCATION location,HBODY hPivot,LPHBODY phBody) { return This->lpVtbl->InsertBody(This,location,hPivot,phBody); } static inline HRESULT IMimeMessageTree_GetBody(IMimeMessageTree* This,BODYLOCATION location,HBODY hPivot,LPHBODY phBody) { return This->lpVtbl->GetBody(This,location,hPivot,phBody); } static inline HRESULT IMimeMessageTree_DeleteBody(IMimeMessageTree* This,HBODY hBody,DWORD dwFlags) { return This->lpVtbl->DeleteBody(This,hBody,dwFlags); } static inline HRESULT IMimeMessageTree_MoveBody(IMimeMessageTree* This,HBODY hBody,BODYLOCATION location) { return This->lpVtbl->MoveBody(This,hBody,location); } static inline HRESULT IMimeMessageTree_CountBodies(IMimeMessageTree* This,HBODY hParent,boolean fRecurse,ULONG *pcBodies) { return This->lpVtbl->CountBodies(This,hParent,fRecurse,pcBodies); } static inline HRESULT IMimeMessageTree_FindFirst(IMimeMessageTree* This,LPFINDBODY pFindBody,LPHBODY phBody) { return This->lpVtbl->FindFirst(This,pFindBody,phBody); } static inline HRESULT IMimeMessageTree_FindNext(IMimeMessageTree* This,LPFINDBODY pFindBody,LPHBODY phBody) { return This->lpVtbl->FindNext(This,pFindBody,phBody); } static inline HRESULT IMimeMessageTree_ResolveURL(IMimeMessageTree* This,HBODY hRelated,LPCSTR pszBase,LPCSTR pszURL,DWORD dwFlags,LPHBODY phBody) { return This->lpVtbl->ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody); } static inline HRESULT IMimeMessageTree_ToMultipart(IMimeMessageTree* This,HBODY hBody,LPCSTR pszSubType,LPHBODY phMultipart) { return This->lpVtbl->ToMultipart(This,hBody,pszSubType,phMultipart); } static inline HRESULT IMimeMessageTree_GetBodyOffsets(IMimeMessageTree* This,HBODY hBody,LPBODYOFFSETS pOffsets) { return This->lpVtbl->GetBodyOffsets(This,hBody,pOffsets); } static inline HRESULT IMimeMessageTree_GetCharset(IMimeMessageTree* This,LPHCHARSET phCharset) { return This->lpVtbl->GetCharset(This,phCharset); } static inline HRESULT IMimeMessageTree_SetCharset(IMimeMessageTree* This,HCHARSET hCharset,CSETAPPLYTYPE applytype) { return This->lpVtbl->SetCharset(This,hCharset,applytype); } static inline HRESULT IMimeMessageTree_IsBodyType(IMimeMessageTree* This,HBODY hBody,IMSGBODYTYPE bodytype) { return This->lpVtbl->IsBodyType(This,hBody,bodytype); } static inline HRESULT IMimeMessageTree_IsContentType(IMimeMessageTree* This,HBODY hBody,LPCSTR pszPriType,LPCSTR pszSubType) { return This->lpVtbl->IsContentType(This,hBody,pszPriType,pszSubType); } static inline HRESULT IMimeMessageTree_QueryBodyProp(IMimeMessageTree* This,HBODY hBody,LPCSTR pszName,LPCSTR pszCriteria,boolean fSubString,boolean fCaseSensitive) { return This->lpVtbl->QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive); } static inline HRESULT IMimeMessageTree_GetBodyProp(IMimeMessageTree* This,HBODY hBody,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->GetBodyProp(This,hBody,pszName,dwFlags,pValue); } static inline HRESULT IMimeMessageTree_SetBodyProp(IMimeMessageTree* This,HBODY hBody,LPCSTR pszName,DWORD dwFlags,LPCPROPVARIANT pValue) { return This->lpVtbl->SetBodyProp(This,hBody,pszName,dwFlags,pValue); } static inline HRESULT IMimeMessageTree_DeleteBodyProp(IMimeMessageTree* This,HBODY hBody,LPCSTR pszName) { return This->lpVtbl->DeleteBodyProp(This,hBody,pszName); } static inline HRESULT IMimeMessageTree_SetOption(IMimeMessageTree* This,const TYPEDID oid,LPCPROPVARIANT pValue) { return This->lpVtbl->SetOption(This,oid,pValue); } static inline HRESULT IMimeMessageTree_GetOption(IMimeMessageTree* This,const TYPEDID oid,LPPROPVARIANT pValue) { return This->lpVtbl->GetOption(This,oid,pValue); } #endif #endif #endif #endif /* __IMimeMessageTree_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeMessage interface */ #ifndef __IMimeMessage_INTERFACE_DEFINED__ #define __IMimeMessage_INTERFACE_DEFINED__ typedef IMimeMessage *LPMIMEMESSAGE; typedef DWORD TEXTTYPE; typedef enum tagIMSGFLAGS { IMF_ATTACHMENTS = 0x1, IMF_MULTIPART = 0x2, IMF_SUBMULTIPART = 0x4, IMF_MIME = 0x8, IMF_HTML = 0x10, IMF_PLAIN = 0x20, IMF_PARTIAL = 0x40, IMF_SIGNED = 0x80, IMF_ENCRYPTED = 0x100, IMF_TNEF = 0x200, IMF_MHTML = 0x400, IMF_SECURE = 0x800, IMF_TEXT = 0x1000, IMF_CSETTAGGED = 0x2000, IMF_NEWS = 0x4000, IMF_VOICEMAIL = 0x8000, IMF_HASVCARD = 0x10000, IMF_RFC1154 = 0x20000 } IMSGFLAGS; typedef enum tagIMSGPRIORITY { IMSG_PRI_LOW = 5, IMSG_PRI_NORMAL = 3, IMSG_PRI_HIGH = 1 } IMSGPRIORITY; #define WPF_HTML 0x00000001 #define WPF_AUTOINLINE 0x00000002 #define WPF_SLIDESHOW 0x00000004 #define WPF_ATTACHLINKS 0x00000008 #define WPF_IMAGESONLY 0x00000010 #define WPF_NOMETACHARSET 0x00000020 typedef struct tagWEPAGEOPTIONS { DWORD cbSize; DWORD dwFlags; DWORD dwDelay; WCHAR wchQuote; } WEBPAGEOPTIONS; typedef struct tagWEPAGEOPTIONS *LPWEBPAGEOPTIONS; #define TXT_PLAIN 1 #define TXT_HTML 2 DEFINE_GUID(IID_IMimeMessage, 0xfd853cd5, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fd853cd5-7f86-11d0-8252-00c04fd85ab4") IMimeMessage : public IMimeMessageTree { virtual HRESULT STDMETHODCALLTYPE CreateWebPage( IStream *pRootStm, LPWEBPAGEOPTIONS pOptions, IMimeMessageCallback *pCallback, IMoniker **ppMoniker) = 0; virtual HRESULT STDMETHODCALLTYPE GetProp( LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetProp( LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteProp( LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE QueryProp( LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive) = 0; virtual HRESULT STDMETHODCALLTYPE GetTextBody( DWORD dwTxtType, ENCODINGTYPE ietEncoding, IStream **pStream, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE SetTextBody( DWORD dwTxtType, ENCODINGTYPE ietEncoding, HBODY hAlternative, IStream *pStream, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE AttachObject( REFIID riid, void *pvObject, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE AttachFile( LPCSTR pszFilePath, IStream *pstmFile, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE AttachURL( LPCSTR pszBase, LPCSTR pszURL, DWORD dwFlags, IStream *pstmURL, LPSTR *ppszCIDURL, LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttachments( ULONG *pcAttach, LPHBODY *pprghAttach) = 0; virtual HRESULT STDMETHODCALLTYPE GetAddressTable( IMimeAddressTable **ppTable) = 0; virtual HRESULT STDMETHODCALLTYPE GetSender( LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE GetAddressTypes( DWORD dwAdrTypes, DWORD dwProps, LPADDRESSLIST pList) = 0; virtual HRESULT STDMETHODCALLTYPE GetAddressFormat( DWORD dwAdrTypes, ADDRESSFORMAT format, LPSTR *ppszFormat) = 0; virtual HRESULT STDMETHODCALLTYPE EnumAddressTypes( DWORD dwAdrTypes, DWORD dwProps, IMimeEnumAddressTypes **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE SplitMessage( ULONG cbMaxPart, IMimeMessageParts **ppParts) = 0; virtual HRESULT STDMETHODCALLTYPE GetRootMoniker( IMoniker **ppMoniker) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeMessage, 0xfd853cd5, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeMessageVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeMessage *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeMessage *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeMessage *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IMimeMessage *This, CLSID *pClassID); /*** IPersistStreamInit methods ***/ HRESULT (STDMETHODCALLTYPE *IsDirty)( IMimeMessage *This); HRESULT (STDMETHODCALLTYPE *Load)( IMimeMessage *This, LPSTREAM pStm); HRESULT (STDMETHODCALLTYPE *Save)( IMimeMessage *This, LPSTREAM pStm, BOOL fClearDirty); HRESULT (STDMETHODCALLTYPE *GetSizeMax)( IMimeMessage *This, ULARGE_INTEGER *pcbSize); HRESULT (STDMETHODCALLTYPE *InitNew)( IMimeMessage *This); /*** IMimeMessageTree methods ***/ HRESULT (STDMETHODCALLTYPE *GetMessageSource)( IMimeMessage *This, IStream **ppStream, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *GetMessageSize)( IMimeMessage *This, ULONG *pcbSize, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *LoadOffsetTable)( IMimeMessage *This, IStream *pStream); HRESULT (STDMETHODCALLTYPE *SaveOffsetTable)( IMimeMessage *This, IStream *pStream, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *GetFlags)( IMimeMessage *This, DWORD *pdwFlags); HRESULT (STDMETHODCALLTYPE *Commit)( IMimeMessage *This, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *HandsOffStorage)( IMimeMessage *This); HRESULT (STDMETHODCALLTYPE *BindToObject)( IMimeMessage *This, const HBODY hBody, REFIID riid, void **ppvObject); HRESULT (STDMETHODCALLTYPE *SaveBody)( IMimeMessage *This, HBODY hBody, DWORD dwFlags, IStream *pStream); HRESULT (STDMETHODCALLTYPE *InsertBody)( IMimeMessage *This, BODYLOCATION location, HBODY hPivot, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *GetBody)( IMimeMessage *This, BODYLOCATION location, HBODY hPivot, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *DeleteBody)( IMimeMessage *This, HBODY hBody, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *MoveBody)( IMimeMessage *This, HBODY hBody, BODYLOCATION location); HRESULT (STDMETHODCALLTYPE *CountBodies)( IMimeMessage *This, HBODY hParent, boolean fRecurse, ULONG *pcBodies); HRESULT (STDMETHODCALLTYPE *FindFirst)( IMimeMessage *This, LPFINDBODY pFindBody, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *FindNext)( IMimeMessage *This, LPFINDBODY pFindBody, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *ResolveURL)( IMimeMessage *This, HBODY hRelated, LPCSTR pszBase, LPCSTR pszURL, DWORD dwFlags, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *ToMultipart)( IMimeMessage *This, HBODY hBody, LPCSTR pszSubType, LPHBODY phMultipart); HRESULT (STDMETHODCALLTYPE *GetBodyOffsets)( IMimeMessage *This, HBODY hBody, LPBODYOFFSETS pOffsets); HRESULT (STDMETHODCALLTYPE *GetCharset)( IMimeMessage *This, LPHCHARSET phCharset); HRESULT (STDMETHODCALLTYPE *SetCharset)( IMimeMessage *This, HCHARSET hCharset, CSETAPPLYTYPE applytype); HRESULT (STDMETHODCALLTYPE *IsBodyType)( IMimeMessage *This, HBODY hBody, IMSGBODYTYPE bodytype); HRESULT (STDMETHODCALLTYPE *IsContentType)( IMimeMessage *This, HBODY hBody, LPCSTR pszPriType, LPCSTR pszSubType); HRESULT (STDMETHODCALLTYPE *QueryBodyProp)( IMimeMessage *This, HBODY hBody, LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive); HRESULT (STDMETHODCALLTYPE *GetBodyProp)( IMimeMessage *This, HBODY hBody, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *SetBodyProp)( IMimeMessage *This, HBODY hBody, LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *DeleteBodyProp)( IMimeMessage *This, HBODY hBody, LPCSTR pszName); HRESULT (STDMETHODCALLTYPE *SetOption)( IMimeMessage *This, const TYPEDID oid, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *GetOption)( IMimeMessage *This, const TYPEDID oid, LPPROPVARIANT pValue); /*** IMimeMessage methods ***/ HRESULT (STDMETHODCALLTYPE *CreateWebPage)( IMimeMessage *This, IStream *pRootStm, LPWEBPAGEOPTIONS pOptions, IMimeMessageCallback *pCallback, IMoniker **ppMoniker); HRESULT (STDMETHODCALLTYPE *GetProp)( IMimeMessage *This, LPCSTR pszName, DWORD dwFlags, LPPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *SetProp)( IMimeMessage *This, LPCSTR pszName, DWORD dwFlags, LPCPROPVARIANT pValue); HRESULT (STDMETHODCALLTYPE *DeleteProp)( IMimeMessage *This, LPCSTR pszName); HRESULT (STDMETHODCALLTYPE *QueryProp)( IMimeMessage *This, LPCSTR pszName, LPCSTR pszCriteria, boolean fSubString, boolean fCaseSensitive); HRESULT (STDMETHODCALLTYPE *GetTextBody)( IMimeMessage *This, DWORD dwTxtType, ENCODINGTYPE ietEncoding, IStream **pStream, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *SetTextBody)( IMimeMessage *This, DWORD dwTxtType, ENCODINGTYPE ietEncoding, HBODY hAlternative, IStream *pStream, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *AttachObject)( IMimeMessage *This, REFIID riid, void *pvObject, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *AttachFile)( IMimeMessage *This, LPCSTR pszFilePath, IStream *pstmFile, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *AttachURL)( IMimeMessage *This, LPCSTR pszBase, LPCSTR pszURL, DWORD dwFlags, IStream *pstmURL, LPSTR *ppszCIDURL, LPHBODY phBody); HRESULT (STDMETHODCALLTYPE *GetAttachments)( IMimeMessage *This, ULONG *pcAttach, LPHBODY *pprghAttach); HRESULT (STDMETHODCALLTYPE *GetAddressTable)( IMimeMessage *This, IMimeAddressTable **ppTable); HRESULT (STDMETHODCALLTYPE *GetSender)( IMimeMessage *This, LPADDRESSPROPS pAddress); HRESULT (STDMETHODCALLTYPE *GetAddressTypes)( IMimeMessage *This, DWORD dwAdrTypes, DWORD dwProps, LPADDRESSLIST pList); HRESULT (STDMETHODCALLTYPE *GetAddressFormat)( IMimeMessage *This, DWORD dwAdrTypes, ADDRESSFORMAT format, LPSTR *ppszFormat); HRESULT (STDMETHODCALLTYPE *EnumAddressTypes)( IMimeMessage *This, DWORD dwAdrTypes, DWORD dwProps, IMimeEnumAddressTypes **ppEnum); HRESULT (STDMETHODCALLTYPE *SplitMessage)( IMimeMessage *This, ULONG cbMaxPart, IMimeMessageParts **ppParts); HRESULT (STDMETHODCALLTYPE *GetRootMoniker)( IMimeMessage *This, IMoniker **ppMoniker); END_INTERFACE } IMimeMessageVtbl; interface IMimeMessage { CONST_VTBL IMimeMessageVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeMessage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeMessage_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeMessage_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IMimeMessage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) /*** IPersistStreamInit methods ***/ #define IMimeMessage_IsDirty(This) (This)->lpVtbl->IsDirty(This) #define IMimeMessage_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) #define IMimeMessage_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) #define IMimeMessage_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) #define IMimeMessage_InitNew(This) (This)->lpVtbl->InitNew(This) /*** IMimeMessageTree methods ***/ #define IMimeMessage_GetMessageSource(This,ppStream,dwFlags) (This)->lpVtbl->GetMessageSource(This,ppStream,dwFlags) #define IMimeMessage_GetMessageSize(This,pcbSize,dwFlags) (This)->lpVtbl->GetMessageSize(This,pcbSize,dwFlags) #define IMimeMessage_LoadOffsetTable(This,pStream) (This)->lpVtbl->LoadOffsetTable(This,pStream) #define IMimeMessage_SaveOffsetTable(This,pStream,dwFlags) (This)->lpVtbl->SaveOffsetTable(This,pStream,dwFlags) #define IMimeMessage_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) #define IMimeMessage_Commit(This,dwFlags) (This)->lpVtbl->Commit(This,dwFlags) #define IMimeMessage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This) #define IMimeMessage_BindToObject(This,hBody,riid,ppvObject) (This)->lpVtbl->BindToObject(This,hBody,riid,ppvObject) #define IMimeMessage_SaveBody(This,hBody,dwFlags,pStream) (This)->lpVtbl->SaveBody(This,hBody,dwFlags,pStream) #define IMimeMessage_InsertBody(This,location,hPivot,phBody) (This)->lpVtbl->InsertBody(This,location,hPivot,phBody) #define IMimeMessage_GetBody(This,location,hPivot,phBody) (This)->lpVtbl->GetBody(This,location,hPivot,phBody) #define IMimeMessage_DeleteBody(This,hBody,dwFlags) (This)->lpVtbl->DeleteBody(This,hBody,dwFlags) #define IMimeMessage_MoveBody(This,hBody,location) (This)->lpVtbl->MoveBody(This,hBody,location) #define IMimeMessage_CountBodies(This,hParent,fRecurse,pcBodies) (This)->lpVtbl->CountBodies(This,hParent,fRecurse,pcBodies) #define IMimeMessage_FindFirst(This,pFindBody,phBody) (This)->lpVtbl->FindFirst(This,pFindBody,phBody) #define IMimeMessage_FindNext(This,pFindBody,phBody) (This)->lpVtbl->FindNext(This,pFindBody,phBody) #define IMimeMessage_ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) (This)->lpVtbl->ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) #define IMimeMessage_ToMultipart(This,hBody,pszSubType,phMultipart) (This)->lpVtbl->ToMultipart(This,hBody,pszSubType,phMultipart) #define IMimeMessage_GetBodyOffsets(This,hBody,pOffsets) (This)->lpVtbl->GetBodyOffsets(This,hBody,pOffsets) #define IMimeMessage_GetCharset(This,phCharset) (This)->lpVtbl->GetCharset(This,phCharset) #define IMimeMessage_SetCharset(This,hCharset,applytype) (This)->lpVtbl->SetCharset(This,hCharset,applytype) #define IMimeMessage_IsBodyType(This,hBody,bodytype) (This)->lpVtbl->IsBodyType(This,hBody,bodytype) #define IMimeMessage_IsContentType(This,hBody,pszPriType,pszSubType) (This)->lpVtbl->IsContentType(This,hBody,pszPriType,pszSubType) #define IMimeMessage_QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) (This)->lpVtbl->QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeMessage_GetBodyProp(This,hBody,pszName,dwFlags,pValue) (This)->lpVtbl->GetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessage_SetBodyProp(This,hBody,pszName,dwFlags,pValue) (This)->lpVtbl->SetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessage_DeleteBodyProp(This,hBody,pszName) (This)->lpVtbl->DeleteBodyProp(This,hBody,pszName) #define IMimeMessage_SetOption(This,oid,pValue) (This)->lpVtbl->SetOption(This,oid,pValue) #define IMimeMessage_GetOption(This,oid,pValue) (This)->lpVtbl->GetOption(This,oid,pValue) /*** IMimeMessage methods ***/ #define IMimeMessage_CreateWebPage(This,pRootStm,pOptions,pCallback,ppMoniker) (This)->lpVtbl->CreateWebPage(This,pRootStm,pOptions,pCallback,ppMoniker) #define IMimeMessage_GetProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->GetProp(This,pszName,dwFlags,pValue) #define IMimeMessage_SetProp(This,pszName,dwFlags,pValue) (This)->lpVtbl->SetProp(This,pszName,dwFlags,pValue) #define IMimeMessage_DeleteProp(This,pszName) (This)->lpVtbl->DeleteProp(This,pszName) #define IMimeMessage_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) (This)->lpVtbl->QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeMessage_GetTextBody(This,dwTxtType,ietEncoding,pStream,phBody) (This)->lpVtbl->GetTextBody(This,dwTxtType,ietEncoding,pStream,phBody) #define IMimeMessage_SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody) (This)->lpVtbl->SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody) #define IMimeMessage_AttachObject(This,riid,pvObject,phBody) (This)->lpVtbl->AttachObject(This,riid,pvObject,phBody) #define IMimeMessage_AttachFile(This,pszFilePath,pstmFile,phBody) (This)->lpVtbl->AttachFile(This,pszFilePath,pstmFile,phBody) #define IMimeMessage_AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCIDURL,phBody) (This)->lpVtbl->AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCIDURL,phBody) #define IMimeMessage_GetAttachments(This,pcAttach,pprghAttach) (This)->lpVtbl->GetAttachments(This,pcAttach,pprghAttach) #define IMimeMessage_GetAddressTable(This,ppTable) (This)->lpVtbl->GetAddressTable(This,ppTable) #define IMimeMessage_GetSender(This,pAddress) (This)->lpVtbl->GetSender(This,pAddress) #define IMimeMessage_GetAddressTypes(This,dwAdrTypes,dwProps,pList) (This)->lpVtbl->GetAddressTypes(This,dwAdrTypes,dwProps,pList) #define IMimeMessage_GetAddressFormat(This,dwAdrTypes,format,ppszFormat) (This)->lpVtbl->GetAddressFormat(This,dwAdrTypes,format,ppszFormat) #define IMimeMessage_EnumAddressTypes(This,dwAdrTypes,dwProps,ppEnum) (This)->lpVtbl->EnumAddressTypes(This,dwAdrTypes,dwProps,ppEnum) #define IMimeMessage_SplitMessage(This,cbMaxPart,ppParts) (This)->lpVtbl->SplitMessage(This,cbMaxPart,ppParts) #define IMimeMessage_GetRootMoniker(This,ppMoniker) (This)->lpVtbl->GetRootMoniker(This,ppMoniker) #else /*** IUnknown methods ***/ static inline HRESULT IMimeMessage_QueryInterface(IMimeMessage* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeMessage_AddRef(IMimeMessage* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeMessage_Release(IMimeMessage* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static inline HRESULT IMimeMessage_GetClassID(IMimeMessage* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } /*** IPersistStreamInit methods ***/ static inline HRESULT IMimeMessage_IsDirty(IMimeMessage* This) { return This->lpVtbl->IsDirty(This); } static inline HRESULT IMimeMessage_Load(IMimeMessage* This,LPSTREAM pStm) { return This->lpVtbl->Load(This,pStm); } static inline HRESULT IMimeMessage_Save(IMimeMessage* This,LPSTREAM pStm,BOOL fClearDirty) { return This->lpVtbl->Save(This,pStm,fClearDirty); } static inline HRESULT IMimeMessage_GetSizeMax(IMimeMessage* This,ULARGE_INTEGER *pcbSize) { return This->lpVtbl->GetSizeMax(This,pcbSize); } static inline HRESULT IMimeMessage_InitNew(IMimeMessage* This) { return This->lpVtbl->InitNew(This); } /*** IMimeMessageTree methods ***/ static inline HRESULT IMimeMessage_GetMessageSource(IMimeMessage* This,IStream **ppStream,DWORD dwFlags) { return This->lpVtbl->GetMessageSource(This,ppStream,dwFlags); } static inline HRESULT IMimeMessage_GetMessageSize(IMimeMessage* This,ULONG *pcbSize,DWORD dwFlags) { return This->lpVtbl->GetMessageSize(This,pcbSize,dwFlags); } static inline HRESULT IMimeMessage_LoadOffsetTable(IMimeMessage* This,IStream *pStream) { return This->lpVtbl->LoadOffsetTable(This,pStream); } static inline HRESULT IMimeMessage_SaveOffsetTable(IMimeMessage* This,IStream *pStream,DWORD dwFlags) { return This->lpVtbl->SaveOffsetTable(This,pStream,dwFlags); } static inline HRESULT IMimeMessage_GetFlags(IMimeMessage* This,DWORD *pdwFlags) { return This->lpVtbl->GetFlags(This,pdwFlags); } static inline HRESULT IMimeMessage_Commit(IMimeMessage* This,DWORD dwFlags) { return This->lpVtbl->Commit(This,dwFlags); } static inline HRESULT IMimeMessage_HandsOffStorage(IMimeMessage* This) { return This->lpVtbl->HandsOffStorage(This); } static inline HRESULT IMimeMessage_BindToObject(IMimeMessage* This,const HBODY hBody,REFIID riid,void **ppvObject) { return This->lpVtbl->BindToObject(This,hBody,riid,ppvObject); } static inline HRESULT IMimeMessage_SaveBody(IMimeMessage* This,HBODY hBody,DWORD dwFlags,IStream *pStream) { return This->lpVtbl->SaveBody(This,hBody,dwFlags,pStream); } static inline HRESULT IMimeMessage_InsertBody(IMimeMessage* This,BODYLOCATION location,HBODY hPivot,LPHBODY phBody) { return This->lpVtbl->InsertBody(This,location,hPivot,phBody); } static inline HRESULT IMimeMessage_GetBody(IMimeMessage* This,BODYLOCATION location,HBODY hPivot,LPHBODY phBody) { return This->lpVtbl->GetBody(This,location,hPivot,phBody); } static inline HRESULT IMimeMessage_DeleteBody(IMimeMessage* This,HBODY hBody,DWORD dwFlags) { return This->lpVtbl->DeleteBody(This,hBody,dwFlags); } static inline HRESULT IMimeMessage_MoveBody(IMimeMessage* This,HBODY hBody,BODYLOCATION location) { return This->lpVtbl->MoveBody(This,hBody,location); } static inline HRESULT IMimeMessage_CountBodies(IMimeMessage* This,HBODY hParent,boolean fRecurse,ULONG *pcBodies) { return This->lpVtbl->CountBodies(This,hParent,fRecurse,pcBodies); } static inline HRESULT IMimeMessage_FindFirst(IMimeMessage* This,LPFINDBODY pFindBody,LPHBODY phBody) { return This->lpVtbl->FindFirst(This,pFindBody,phBody); } static inline HRESULT IMimeMessage_FindNext(IMimeMessage* This,LPFINDBODY pFindBody,LPHBODY phBody) { return This->lpVtbl->FindNext(This,pFindBody,phBody); } static inline HRESULT IMimeMessage_ResolveURL(IMimeMessage* This,HBODY hRelated,LPCSTR pszBase,LPCSTR pszURL,DWORD dwFlags,LPHBODY phBody) { return This->lpVtbl->ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody); } static inline HRESULT IMimeMessage_ToMultipart(IMimeMessage* This,HBODY hBody,LPCSTR pszSubType,LPHBODY phMultipart) { return This->lpVtbl->ToMultipart(This,hBody,pszSubType,phMultipart); } static inline HRESULT IMimeMessage_GetBodyOffsets(IMimeMessage* This,HBODY hBody,LPBODYOFFSETS pOffsets) { return This->lpVtbl->GetBodyOffsets(This,hBody,pOffsets); } static inline HRESULT IMimeMessage_GetCharset(IMimeMessage* This,LPHCHARSET phCharset) { return This->lpVtbl->GetCharset(This,phCharset); } static inline HRESULT IMimeMessage_SetCharset(IMimeMessage* This,HCHARSET hCharset,CSETAPPLYTYPE applytype) { return This->lpVtbl->SetCharset(This,hCharset,applytype); } static inline HRESULT IMimeMessage_IsBodyType(IMimeMessage* This,HBODY hBody,IMSGBODYTYPE bodytype) { return This->lpVtbl->IsBodyType(This,hBody,bodytype); } static inline HRESULT IMimeMessage_IsContentType(IMimeMessage* This,HBODY hBody,LPCSTR pszPriType,LPCSTR pszSubType) { return This->lpVtbl->IsContentType(This,hBody,pszPriType,pszSubType); } static inline HRESULT IMimeMessage_QueryBodyProp(IMimeMessage* This,HBODY hBody,LPCSTR pszName,LPCSTR pszCriteria,boolean fSubString,boolean fCaseSensitive) { return This->lpVtbl->QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive); } static inline HRESULT IMimeMessage_GetBodyProp(IMimeMessage* This,HBODY hBody,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->GetBodyProp(This,hBody,pszName,dwFlags,pValue); } static inline HRESULT IMimeMessage_SetBodyProp(IMimeMessage* This,HBODY hBody,LPCSTR pszName,DWORD dwFlags,LPCPROPVARIANT pValue) { return This->lpVtbl->SetBodyProp(This,hBody,pszName,dwFlags,pValue); } static inline HRESULT IMimeMessage_DeleteBodyProp(IMimeMessage* This,HBODY hBody,LPCSTR pszName) { return This->lpVtbl->DeleteBodyProp(This,hBody,pszName); } static inline HRESULT IMimeMessage_SetOption(IMimeMessage* This,const TYPEDID oid,LPCPROPVARIANT pValue) { return This->lpVtbl->SetOption(This,oid,pValue); } static inline HRESULT IMimeMessage_GetOption(IMimeMessage* This,const TYPEDID oid,LPPROPVARIANT pValue) { return This->lpVtbl->GetOption(This,oid,pValue); } /*** IMimeMessage methods ***/ static inline HRESULT IMimeMessage_CreateWebPage(IMimeMessage* This,IStream *pRootStm,LPWEBPAGEOPTIONS pOptions,IMimeMessageCallback *pCallback,IMoniker **ppMoniker) { return This->lpVtbl->CreateWebPage(This,pRootStm,pOptions,pCallback,ppMoniker); } static inline HRESULT IMimeMessage_GetProp(IMimeMessage* This,LPCSTR pszName,DWORD dwFlags,LPPROPVARIANT pValue) { return This->lpVtbl->GetProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimeMessage_SetProp(IMimeMessage* This,LPCSTR pszName,DWORD dwFlags,LPCPROPVARIANT pValue) { return This->lpVtbl->SetProp(This,pszName,dwFlags,pValue); } static inline HRESULT IMimeMessage_DeleteProp(IMimeMessage* This,LPCSTR pszName) { return This->lpVtbl->DeleteProp(This,pszName); } static inline HRESULT IMimeMessage_QueryProp(IMimeMessage* This,LPCSTR pszName,LPCSTR pszCriteria,boolean fSubString,boolean fCaseSensitive) { return This->lpVtbl->QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive); } static inline HRESULT IMimeMessage_GetTextBody(IMimeMessage* This,DWORD dwTxtType,ENCODINGTYPE ietEncoding,IStream **pStream,LPHBODY phBody) { return This->lpVtbl->GetTextBody(This,dwTxtType,ietEncoding,pStream,phBody); } static inline HRESULT IMimeMessage_SetTextBody(IMimeMessage* This,DWORD dwTxtType,ENCODINGTYPE ietEncoding,HBODY hAlternative,IStream *pStream,LPHBODY phBody) { return This->lpVtbl->SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody); } static inline HRESULT IMimeMessage_AttachObject(IMimeMessage* This,REFIID riid,void *pvObject,LPHBODY phBody) { return This->lpVtbl->AttachObject(This,riid,pvObject,phBody); } static inline HRESULT IMimeMessage_AttachFile(IMimeMessage* This,LPCSTR pszFilePath,IStream *pstmFile,LPHBODY phBody) { return This->lpVtbl->AttachFile(This,pszFilePath,pstmFile,phBody); } static inline HRESULT IMimeMessage_AttachURL(IMimeMessage* This,LPCSTR pszBase,LPCSTR pszURL,DWORD dwFlags,IStream *pstmURL,LPSTR *ppszCIDURL,LPHBODY phBody) { return This->lpVtbl->AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCIDURL,phBody); } static inline HRESULT IMimeMessage_GetAttachments(IMimeMessage* This,ULONG *pcAttach,LPHBODY *pprghAttach) { return This->lpVtbl->GetAttachments(This,pcAttach,pprghAttach); } static inline HRESULT IMimeMessage_GetAddressTable(IMimeMessage* This,IMimeAddressTable **ppTable) { return This->lpVtbl->GetAddressTable(This,ppTable); } static inline HRESULT IMimeMessage_GetSender(IMimeMessage* This,LPADDRESSPROPS pAddress) { return This->lpVtbl->GetSender(This,pAddress); } static inline HRESULT IMimeMessage_GetAddressTypes(IMimeMessage* This,DWORD dwAdrTypes,DWORD dwProps,LPADDRESSLIST pList) { return This->lpVtbl->GetAddressTypes(This,dwAdrTypes,dwProps,pList); } static inline HRESULT IMimeMessage_GetAddressFormat(IMimeMessage* This,DWORD dwAdrTypes,ADDRESSFORMAT format,LPSTR *ppszFormat) { return This->lpVtbl->GetAddressFormat(This,dwAdrTypes,format,ppszFormat); } static inline HRESULT IMimeMessage_EnumAddressTypes(IMimeMessage* This,DWORD dwAdrTypes,DWORD dwProps,IMimeEnumAddressTypes **ppEnum) { return This->lpVtbl->EnumAddressTypes(This,dwAdrTypes,dwProps,ppEnum); } static inline HRESULT IMimeMessage_SplitMessage(IMimeMessage* This,ULONG cbMaxPart,IMimeMessageParts **ppParts) { return This->lpVtbl->SplitMessage(This,cbMaxPart,ppParts); } static inline HRESULT IMimeMessage_GetRootMoniker(IMimeMessage* This,IMoniker **ppMoniker) { return This->lpVtbl->GetRootMoniker(This,ppMoniker); } #endif #endif #endif #endif /* __IMimeMessage_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeMessageCallback interface */ #ifndef __IMimeMessageCallback_INTERFACE_DEFINED__ #define __IMimeMessageCallback_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeMessageCallback, 0x761aa641, 0x7bda, 0x11d1, 0x8a,0xa9, 0x00,0xc0,0x4f,0xb9,0x51,0xf3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("761aa641-7bda-11d1-8aa9-00c04fb951f3") IMimeMessageCallback : public IUnknown { virtual HRESULT STDMETHODCALLTYPE OnWebPageSplitter( DWORD cInlined, IStream *ppStream) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeMessageCallback, 0x761aa641, 0x7bda, 0x11d1, 0x8a,0xa9, 0x00,0xc0,0x4f,0xb9,0x51,0xf3) #endif #else typedef struct IMimeMessageCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeMessageCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeMessageCallback *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeMessageCallback *This); /*** IMimeMessageCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnWebPageSplitter)( IMimeMessageCallback *This, DWORD cInlined, IStream *ppStream); END_INTERFACE } IMimeMessageCallbackVtbl; interface IMimeMessageCallback { CONST_VTBL IMimeMessageCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeMessageCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeMessageCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeMessageCallback_Release(This) (This)->lpVtbl->Release(This) /*** IMimeMessageCallback methods ***/ #define IMimeMessageCallback_OnWebPageSplitter(This,cInlined,ppStream) (This)->lpVtbl->OnWebPageSplitter(This,cInlined,ppStream) #else /*** IUnknown methods ***/ static inline HRESULT IMimeMessageCallback_QueryInterface(IMimeMessageCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeMessageCallback_AddRef(IMimeMessageCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeMessageCallback_Release(IMimeMessageCallback* This) { return This->lpVtbl->Release(This); } /*** IMimeMessageCallback methods ***/ static inline HRESULT IMimeMessageCallback_OnWebPageSplitter(IMimeMessageCallback* This,DWORD cInlined,IStream *ppStream) { return This->lpVtbl->OnWebPageSplitter(This,cInlined,ppStream); } #endif #endif #endif #endif /* __IMimeMessageCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IPersistMime interface */ #ifndef __IPersistMime_INTERFACE_DEFINED__ #define __IPersistMime_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistMime, 0xde4ad8da, 0x555f, 0x11d1, 0x8d,0xd0, 0x00,0xc0,0x4f,0xb9,0x51,0xf9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("de4ad8da-555f-11d1-8dd0-00c04fb951f9") IPersistMime : public IPersist { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IPersistMime, 0xde4ad8da, 0x555f, 0x11d1, 0x8d,0xd0, 0x00,0xc0,0x4f,0xb9,0x51,0xf9) #endif #else typedef struct IPersistMimeVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IPersistMime *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IPersistMime *This); ULONG (STDMETHODCALLTYPE *Release)( IPersistMime *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IPersistMime *This, CLSID *pClassID); END_INTERFACE } IPersistMimeVtbl; interface IPersistMime { CONST_VTBL IPersistMimeVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IPersistMime_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IPersistMime_AddRef(This) (This)->lpVtbl->AddRef(This) #define IPersistMime_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IPersistMime_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) #else /*** IUnknown methods ***/ static inline HRESULT IPersistMime_QueryInterface(IPersistMime* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IPersistMime_AddRef(IPersistMime* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IPersistMime_Release(IPersistMime* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static inline HRESULT IPersistMime_GetClassID(IPersistMime* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } #endif #endif #endif #endif /* __IPersistMime_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeMessageParts interface */ #ifndef __IMimeMessageParts_INTERFACE_DEFINED__ #define __IMimeMessageParts_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeMessageParts, 0xc558834f, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c558834f-7f86-11d0-8252-00c04fd85ab4") IMimeMessageParts : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeMessageParts, 0xc558834f, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeMessagePartsVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeMessageParts *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeMessageParts *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeMessageParts *This); END_INTERFACE } IMimeMessagePartsVtbl; interface IMimeMessageParts { CONST_VTBL IMimeMessagePartsVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeMessageParts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeMessageParts_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeMessageParts_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeMessageParts_QueryInterface(IMimeMessageParts* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeMessageParts_AddRef(IMimeMessageParts* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeMessageParts_Release(IMimeMessageParts* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeMessageParts_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeEnumProperties interface */ #ifndef __IMimeEnumProperties_INTERFACE_DEFINED__ #define __IMimeEnumProperties_INTERFACE_DEFINED__ typedef IMimeEnumProperties *LPMIMEENUMPROPERTIES; typedef struct tagENUMPROPERTY { LPSTR pszName; HHEADERROW hRow; DWORD dwPropId; } ENUMPROPERTY; typedef struct tagENUMPROPERTY *LPENUMPROPERTY; DEFINE_GUID(IID_IMimeEnumProperties, 0xfd853cee, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fd853cee-7f86-11d0-8252-00c04fd85ab4") IMimeEnumProperties : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Next( ULONG cFetch, LPENUMPROPERTY prgProp, ULONG *pcFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( ULONG cItems) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( ) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IMimeEnumProperties **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Count( ULONG *pcItems) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeEnumProperties, 0xfd853cee, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeEnumPropertiesVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeEnumProperties *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeEnumProperties *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeEnumProperties *This); /*** IMimeEnumProperties methods ***/ HRESULT (STDMETHODCALLTYPE *Next)( IMimeEnumProperties *This, ULONG cFetch, LPENUMPROPERTY prgProp, ULONG *pcFetched); HRESULT (STDMETHODCALLTYPE *Skip)( IMimeEnumProperties *This, ULONG cItems); HRESULT (STDMETHODCALLTYPE *Reset)( IMimeEnumProperties *This); HRESULT (STDMETHODCALLTYPE *Clone)( IMimeEnumProperties *This, IMimeEnumProperties **ppEnum); HRESULT (STDMETHODCALLTYPE *Count)( IMimeEnumProperties *This, ULONG *pcItems); END_INTERFACE } IMimeEnumPropertiesVtbl; interface IMimeEnumProperties { CONST_VTBL IMimeEnumPropertiesVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeEnumProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeEnumProperties_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeEnumProperties_Release(This) (This)->lpVtbl->Release(This) /*** IMimeEnumProperties methods ***/ #define IMimeEnumProperties_Next(This,cFetch,prgProp,pcFetched) (This)->lpVtbl->Next(This,cFetch,prgProp,pcFetched) #define IMimeEnumProperties_Skip(This,cItems) (This)->lpVtbl->Skip(This,cItems) #define IMimeEnumProperties_Reset(This) (This)->lpVtbl->Reset(This) #define IMimeEnumProperties_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) #define IMimeEnumProperties_Count(This,pcItems) (This)->lpVtbl->Count(This,pcItems) #else /*** IUnknown methods ***/ static inline HRESULT IMimeEnumProperties_QueryInterface(IMimeEnumProperties* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeEnumProperties_AddRef(IMimeEnumProperties* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeEnumProperties_Release(IMimeEnumProperties* This) { return This->lpVtbl->Release(This); } /*** IMimeEnumProperties methods ***/ static inline HRESULT IMimeEnumProperties_Next(IMimeEnumProperties* This,ULONG cFetch,LPENUMPROPERTY prgProp,ULONG *pcFetched) { return This->lpVtbl->Next(This,cFetch,prgProp,pcFetched); } static inline HRESULT IMimeEnumProperties_Skip(IMimeEnumProperties* This,ULONG cItems) { return This->lpVtbl->Skip(This,cItems); } static inline HRESULT IMimeEnumProperties_Reset(IMimeEnumProperties* This) { return This->lpVtbl->Reset(This); } static inline HRESULT IMimeEnumProperties_Clone(IMimeEnumProperties* This,IMimeEnumProperties **ppEnum) { return This->lpVtbl->Clone(This,ppEnum); } static inline HRESULT IMimeEnumProperties_Count(IMimeEnumProperties* This,ULONG *pcItems) { return This->lpVtbl->Count(This,pcItems); } #endif #endif #endif #endif /* __IMimeEnumProperties_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeEnumAddressTypes interface */ #ifndef __IMimeEnumAddressTypes_INTERFACE_DEFINED__ #define __IMimeEnumAddressTypes_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeEnumAddressTypes, 0xc5588354, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c5588354-7f86-11d0-8252-00c04fd85ab4") IMimeEnumAddressTypes : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeEnumAddressTypes, 0xc5588354, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeEnumAddressTypesVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeEnumAddressTypes *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeEnumAddressTypes *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeEnumAddressTypes *This); END_INTERFACE } IMimeEnumAddressTypesVtbl; interface IMimeEnumAddressTypes { CONST_VTBL IMimeEnumAddressTypesVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeEnumAddressTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeEnumAddressTypes_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeEnumAddressTypes_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeEnumAddressTypes_QueryInterface(IMimeEnumAddressTypes* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeEnumAddressTypes_AddRef(IMimeEnumAddressTypes* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeEnumAddressTypes_Release(IMimeEnumAddressTypes* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeEnumAddressTypes_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeEnumMessageParts interface */ #ifndef __IMimeEnumMessageParts_INTERFACE_DEFINED__ #define __IMimeEnumMessageParts_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeEnumMessageParts, 0xc5588350, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c5588350-7f86-11d0-8252-00c04fd85ab4") IMimeEnumMessageParts : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeEnumMessageParts, 0xc5588350, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeEnumMessagePartsVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeEnumMessageParts *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeEnumMessageParts *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeEnumMessageParts *This); END_INTERFACE } IMimeEnumMessagePartsVtbl; interface IMimeEnumMessageParts { CONST_VTBL IMimeEnumMessagePartsVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeEnumMessageParts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeEnumMessageParts_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeEnumMessageParts_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeEnumMessageParts_QueryInterface(IMimeEnumMessageParts* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeEnumMessageParts_AddRef(IMimeEnumMessageParts* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeEnumMessageParts_Release(IMimeEnumMessageParts* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeEnumMessageParts_INTERFACE_DEFINED__ */ /***************************************************************************** * IHashTable interface */ #ifndef __IHashTable_INTERFACE_DEFINED__ #define __IHashTable_INTERFACE_DEFINED__ DEFINE_GUID(IID_IHashTable, 0x64577981, 0x86d7, 0x11d1, 0xbd,0xfc, 0x00,0xc0,0x4f,0xa3,0x10,0x09); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("64577981-86d7-11d1-bdfc-00c04fa31009") IHashTable : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IHashTable, 0x64577981, 0x86d7, 0x11d1, 0xbd,0xfc, 0x00,0xc0,0x4f,0xa3,0x10,0x09) #endif #else typedef struct IHashTableVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IHashTable *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IHashTable *This); ULONG (STDMETHODCALLTYPE *Release)( IHashTable *This); END_INTERFACE } IHashTableVtbl; interface IHashTable { CONST_VTBL IHashTableVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IHashTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IHashTable_AddRef(This) (This)->lpVtbl->AddRef(This) #define IHashTable_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IHashTable_QueryInterface(IHashTable* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IHashTable_AddRef(IHashTable* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IHashTable_Release(IHashTable* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IHashTable_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeAllocator interface */ #ifndef __IMimeAllocator_INTERFACE_DEFINED__ #define __IMimeAllocator_INTERFACE_DEFINED__ typedef IMimeAllocator *LPMIMEALLOCATOR; DEFINE_GUID(IID_IMimeAllocator, 0xc5588351, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c5588351-7f86-11d0-8252-00c04fd85ab4") IMimeAllocator : public IMalloc { virtual HRESULT STDMETHODCALLTYPE FreeParamInfoArray( ULONG cParams, LPMIMEPARAMINFO prgParam, boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeAddressList( LPADDRESSLIST pList) = 0; virtual HRESULT STDMETHODCALLTYPE FreeAddressProps( LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseObjects( ULONG cObjects, IUnknown **prgpUnknown, boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeEnumHeaderRowArray( ULONG cRows, LPENUMHEADERROW prgRow, boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeEnumPropertyArray( ULONG cProps, LPENUMPROPERTY prgProp, boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeThumbprint( THUMBBLOB *pthumbprint) = 0; virtual HRESULT STDMETHODCALLTYPE PropVariantClear( LPPROPVARIANT pProp) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeAllocator, 0xc5588351, 0x7f86, 0x11d0, 0x82,0x52, 0x00,0xc0,0x4f,0xd8,0x5a,0xb4) #endif #else typedef struct IMimeAllocatorVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeAllocator *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeAllocator *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeAllocator *This); /*** IMalloc methods ***/ LPVOID (STDMETHODCALLTYPE *Alloc)( IMimeAllocator *This, SIZE_T cb); LPVOID (STDMETHODCALLTYPE *Realloc)( IMimeAllocator *This, LPVOID pv, SIZE_T cb); void (STDMETHODCALLTYPE *Free)( IMimeAllocator *This, LPVOID pv); SIZE_T (STDMETHODCALLTYPE *GetSize)( IMimeAllocator *This, LPVOID pv); int (STDMETHODCALLTYPE *DidAlloc)( IMimeAllocator *This, LPVOID pv); void (STDMETHODCALLTYPE *HeapMinimize)( IMimeAllocator *This); /*** IMimeAllocator methods ***/ HRESULT (STDMETHODCALLTYPE *FreeParamInfoArray)( IMimeAllocator *This, ULONG cParams, LPMIMEPARAMINFO prgParam, boolean fFreeArray); HRESULT (STDMETHODCALLTYPE *FreeAddressList)( IMimeAllocator *This, LPADDRESSLIST pList); HRESULT (STDMETHODCALLTYPE *FreeAddressProps)( IMimeAllocator *This, LPADDRESSPROPS pAddress); HRESULT (STDMETHODCALLTYPE *ReleaseObjects)( IMimeAllocator *This, ULONG cObjects, IUnknown **prgpUnknown, boolean fFreeArray); HRESULT (STDMETHODCALLTYPE *FreeEnumHeaderRowArray)( IMimeAllocator *This, ULONG cRows, LPENUMHEADERROW prgRow, boolean fFreeArray); HRESULT (STDMETHODCALLTYPE *FreeEnumPropertyArray)( IMimeAllocator *This, ULONG cProps, LPENUMPROPERTY prgProp, boolean fFreeArray); HRESULT (STDMETHODCALLTYPE *FreeThumbprint)( IMimeAllocator *This, THUMBBLOB *pthumbprint); HRESULT (STDMETHODCALLTYPE *PropVariantClear)( IMimeAllocator *This, LPPROPVARIANT pProp); END_INTERFACE } IMimeAllocatorVtbl; interface IMimeAllocator { CONST_VTBL IMimeAllocatorVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeAllocator_Release(This) (This)->lpVtbl->Release(This) /*** IMalloc methods ***/ #define IMimeAllocator_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb) #define IMimeAllocator_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb) #define IMimeAllocator_Free(This,pv) (This)->lpVtbl->Free(This,pv) #define IMimeAllocator_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv) #define IMimeAllocator_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv) #define IMimeAllocator_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This) /*** IMimeAllocator methods ***/ #define IMimeAllocator_FreeParamInfoArray(This,cParams,prgParam,fFreeArray) (This)->lpVtbl->FreeParamInfoArray(This,cParams,prgParam,fFreeArray) #define IMimeAllocator_FreeAddressList(This,pList) (This)->lpVtbl->FreeAddressList(This,pList) #define IMimeAllocator_FreeAddressProps(This,pAddress) (This)->lpVtbl->FreeAddressProps(This,pAddress) #define IMimeAllocator_ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray) (This)->lpVtbl->ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray) #define IMimeAllocator_FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray) (This)->lpVtbl->FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray) #define IMimeAllocator_FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray) (This)->lpVtbl->FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray) #define IMimeAllocator_FreeThumbprint(This,pthumbprint) (This)->lpVtbl->FreeThumbprint(This,pthumbprint) #define IMimeAllocator_PropVariantClear(This,pProp) (This)->lpVtbl->PropVariantClear(This,pProp) #else /*** IUnknown methods ***/ static inline HRESULT IMimeAllocator_QueryInterface(IMimeAllocator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeAllocator_AddRef(IMimeAllocator* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeAllocator_Release(IMimeAllocator* This) { return This->lpVtbl->Release(This); } /*** IMalloc methods ***/ static inline LPVOID IMimeAllocator_Alloc(IMimeAllocator* This,SIZE_T cb) { return This->lpVtbl->Alloc(This,cb); } static inline LPVOID IMimeAllocator_Realloc(IMimeAllocator* This,LPVOID pv,SIZE_T cb) { return This->lpVtbl->Realloc(This,pv,cb); } static inline void IMimeAllocator_Free(IMimeAllocator* This,LPVOID pv) { This->lpVtbl->Free(This,pv); } static inline SIZE_T IMimeAllocator_GetSize(IMimeAllocator* This,LPVOID pv) { return This->lpVtbl->GetSize(This,pv); } static inline int IMimeAllocator_DidAlloc(IMimeAllocator* This,LPVOID pv) { return This->lpVtbl->DidAlloc(This,pv); } static inline void IMimeAllocator_HeapMinimize(IMimeAllocator* This) { This->lpVtbl->HeapMinimize(This); } /*** IMimeAllocator methods ***/ static inline HRESULT IMimeAllocator_FreeParamInfoArray(IMimeAllocator* This,ULONG cParams,LPMIMEPARAMINFO prgParam,boolean fFreeArray) { return This->lpVtbl->FreeParamInfoArray(This,cParams,prgParam,fFreeArray); } static inline HRESULT IMimeAllocator_FreeAddressList(IMimeAllocator* This,LPADDRESSLIST pList) { return This->lpVtbl->FreeAddressList(This,pList); } static inline HRESULT IMimeAllocator_FreeAddressProps(IMimeAllocator* This,LPADDRESSPROPS pAddress) { return This->lpVtbl->FreeAddressProps(This,pAddress); } static inline HRESULT IMimeAllocator_ReleaseObjects(IMimeAllocator* This,ULONG cObjects,IUnknown **prgpUnknown,boolean fFreeArray) { return This->lpVtbl->ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray); } static inline HRESULT IMimeAllocator_FreeEnumHeaderRowArray(IMimeAllocator* This,ULONG cRows,LPENUMHEADERROW prgRow,boolean fFreeArray) { return This->lpVtbl->FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray); } static inline HRESULT IMimeAllocator_FreeEnumPropertyArray(IMimeAllocator* This,ULONG cProps,LPENUMPROPERTY prgProp,boolean fFreeArray) { return This->lpVtbl->FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray); } static inline HRESULT IMimeAllocator_FreeThumbprint(IMimeAllocator* This,THUMBBLOB *pthumbprint) { return This->lpVtbl->FreeThumbprint(This,pthumbprint); } static inline HRESULT IMimeAllocator_PropVariantClear(IMimeAllocator* This,LPPROPVARIANT pProp) { return This->lpVtbl->PropVariantClear(This,pProp); } #endif #endif #endif #endif /* __IMimeAllocator_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeObjResolver interface */ #ifndef __IMimeObjResolver_INTERFACE_DEFINED__ #define __IMimeObjResolver_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeObjResolver, 0xfeceaffd, 0xc441, 0x11d1, 0x96,0x0e, 0x00,0xc0,0x4f,0xbd,0x7c,0x09); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("feceaffd-c441-11d1-960e-00c04fbd7c09") IMimeObjResolver : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeObjResolver, 0xfeceaffd, 0xc441, 0x11d1, 0x96,0x0e, 0x00,0xc0,0x4f,0xbd,0x7c,0x09) #endif #else typedef struct IMimeObjResolverVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeObjResolver *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeObjResolver *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeObjResolver *This); END_INTERFACE } IMimeObjResolverVtbl; interface IMimeObjResolver { CONST_VTBL IMimeObjResolverVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeObjResolver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeObjResolver_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeObjResolver_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeObjResolver_QueryInterface(IMimeObjResolver* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeObjResolver_AddRef(IMimeObjResolver* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeObjResolver_Release(IMimeObjResolver* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeObjResolver_INTERFACE_DEFINED__ */ /***************************************************************************** * IFontCache interface */ #ifndef __IFontCache_INTERFACE_DEFINED__ #define __IFontCache_INTERFACE_DEFINED__ DEFINE_GUID(IID_IFontCache, 0xb0d17fc2, 0x7bc4, 0x11d1, 0xbd,0xfa, 0x00,0xc0,0x4f,0xa3,0x10,0x09); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b0d17fc2-7bc4-11d1-bdfa-00c04fa31009") IFontCache : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IFontCache, 0xb0d17fc2, 0x7bc4, 0x11d1, 0xbd,0xfa, 0x00,0xc0,0x4f,0xa3,0x10,0x09) #endif #else typedef struct IFontCacheVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IFontCache *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IFontCache *This); ULONG (STDMETHODCALLTYPE *Release)( IFontCache *This); END_INTERFACE } IFontCacheVtbl; interface IFontCache { CONST_VTBL IFontCacheVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IFontCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IFontCache_AddRef(This) (This)->lpVtbl->AddRef(This) #define IFontCache_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IFontCache_QueryInterface(IFontCache* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IFontCache_AddRef(IFontCache* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IFontCache_Release(IFontCache* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IFontCache_INTERFACE_DEFINED__ */ /***************************************************************************** * IFontCacheNotify interface */ #ifndef __IFontCacheNotify_INTERFACE_DEFINED__ #define __IFontCacheNotify_INTERFACE_DEFINED__ DEFINE_GUID(IID_IFontCacheNotify, 0xb0d17fc5, 0x7bc4, 0x11d1, 0xbd,0xfa, 0x00,0xc0,0x4f,0xa3,0x10,0x09); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b0d17fc5-7bc4-11d1-bdfa-00c04fa31009") IFontCacheNotify : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IFontCacheNotify, 0xb0d17fc5, 0x7bc4, 0x11d1, 0xbd,0xfa, 0x00,0xc0,0x4f,0xa3,0x10,0x09) #endif #else typedef struct IFontCacheNotifyVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IFontCacheNotify *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IFontCacheNotify *This); ULONG (STDMETHODCALLTYPE *Release)( IFontCacheNotify *This); END_INTERFACE } IFontCacheNotifyVtbl; interface IFontCacheNotify { CONST_VTBL IFontCacheNotifyVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IFontCacheNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IFontCacheNotify_AddRef(This) (This)->lpVtbl->AddRef(This) #define IFontCacheNotify_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IFontCacheNotify_QueryInterface(IFontCacheNotify* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IFontCacheNotify_AddRef(IFontCacheNotify* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IFontCacheNotify_Release(IFontCacheNotify* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IFontCacheNotify_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeEditTag interface */ #ifndef __IMimeEditTag_INTERFACE_DEFINED__ #define __IMimeEditTag_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeEditTag, 0x70183210, 0x7b36, 0x11d2, 0x8c,0x12, 0x00,0xc0,0x4f,0xa3,0x10,0x09); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("70183210-7b36-11d2-8c12-00c04fa31009") IMimeEditTag : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeEditTag, 0x70183210, 0x7b36, 0x11d2, 0x8c,0x12, 0x00,0xc0,0x4f,0xa3,0x10,0x09) #endif #else typedef struct IMimeEditTagVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeEditTag *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeEditTag *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeEditTag *This); END_INTERFACE } IMimeEditTagVtbl; interface IMimeEditTag { CONST_VTBL IMimeEditTagVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeEditTag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeEditTag_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeEditTag_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeEditTag_QueryInterface(IMimeEditTag* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeEditTag_AddRef(IMimeEditTag* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeEditTag_Release(IMimeEditTag* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeEditTag_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeEditTagCollection interface */ #ifndef __IMimeEditTagCollection_INTERFACE_DEFINED__ #define __IMimeEditTagCollection_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMimeEditTagCollection, 0xd09ee528, 0x7b38, 0x11d2, 0x8c,0x12, 0x00,0xc0,0x4f,0xa3,0x10,0x09); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d09ee528-7b38-11d2-8c12-00c04fa31009") IMimeEditTagCollection : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeEditTagCollection, 0xd09ee528, 0x7b38, 0x11d2, 0x8c,0x12, 0x00,0xc0,0x4f,0xa3,0x10,0x09) #endif #else typedef struct IMimeEditTagCollectionVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeEditTagCollection *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeEditTagCollection *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeEditTagCollection *This); END_INTERFACE } IMimeEditTagCollectionVtbl; interface IMimeEditTagCollection { CONST_VTBL IMimeEditTagCollectionVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeEditTagCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeEditTagCollection_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeEditTagCollection_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeEditTagCollection_QueryInterface(IMimeEditTagCollection* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeEditTagCollection_AddRef(IMimeEditTagCollection* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeEditTagCollection_Release(IMimeEditTagCollection* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeEditTagCollection_INTERFACE_DEFINED__ */ /***************************************************************************** * IMimeSecurityCallback interface */ #ifndef __IMimeSecurityCallback_INTERFACE_DEFINED__ #define __IMimeSecurityCallback_INTERFACE_DEFINED__ #define CMS_RECIPIENT_INFO_TYPE_UNKNOWN 0 #define CMS_RECIPIENT_INFO_TYPE_KEYTRANS 1 #define CMS_RECIPIENT_INFO_TYPE_KEYAGREE 2 #define CMS_RECIPIENT_INFO_TYPE_MAIL_LIST 3 #define CMS_RECIPIENT_INFO_PUBKEY_CERTIFICATE 0 #define CMS_RECIPIENT_INFO_PUBKEY_KEYTRANS 1 #define CMS_RECIPIENT_INFO_PUBKEY_PROVIDER 2 #define CMS_RECIPIENT_INFO_PUBKEY_EPHEMERAL_KEYAGREE 3 #define CMS_RECIPIENT_INFO_PUBKEY_STATIC_KEYAGREE 4 #define CMS_RECIPIENT_INFO_KEYID_CERTIFICATE 0 #define CMS_RECIPIENT_INFO_KEYID_ISSUERSERIAL 1 #define CMS_RECIPIENT_INFO_KEYID_KEY_ID 2 DEFINE_GUID(IID_IMimeSecurityCallback, 0xba715ae0, 0xa740, 0x11d2, 0x8b,0x22, 0x00,0x80,0xc7,0x6b,0x34,0xc6); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ba715ae0-a740-11d2-8b22-0080c76b34c6") IMimeSecurityCallback : public IUnknown { }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMimeSecurityCallback, 0xba715ae0, 0xa740, 0x11d2, 0x8b,0x22, 0x00,0x80,0xc7,0x6b,0x34,0xc6) #endif #else typedef struct IMimeSecurityCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMimeSecurityCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMimeSecurityCallback *This); ULONG (STDMETHODCALLTYPE *Release)( IMimeSecurityCallback *This); END_INTERFACE } IMimeSecurityCallbackVtbl; interface IMimeSecurityCallback { CONST_VTBL IMimeSecurityCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMimeSecurityCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMimeSecurityCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMimeSecurityCallback_Release(This) (This)->lpVtbl->Release(This) #else /*** IUnknown methods ***/ static inline HRESULT IMimeSecurityCallback_QueryInterface(IMimeSecurityCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMimeSecurityCallback_AddRef(IMimeSecurityCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMimeSecurityCallback_Release(IMimeSecurityCallback* This) { return This->lpVtbl->Release(This); } #endif #endif #endif #endif /* __IMimeSecurityCallback_INTERFACE_DEFINED__ */ #endif /* __MIMEOLE_LIBRARY_DEFINED__ */ MIMEOLEAPI MimeOleSetCompatMode(DWORD); MIMEOLEAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*); MIMEOLEAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*); MIMEOLEAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**); MIMEOLEAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**); MIMEOLEAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*); MIMEOLEAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG); MIMEOLEAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**); MIMEOLEAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*); MIMEOLEAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*); MIMEOLEAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*); MIMEOLEAPI MimeOleGenerateCID(LPSTR,ULONG,boolean); MIMEOLEAPI MimeOleGenerateMID(LPSTR,ULONG,boolean); MIMEOLEAPI MimeOleCreateByteStream(IStream**); MIMEOLEAPI MimeOlGetPropertySchema(IMimePropertySchema**); MIMEOLEAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean); MIMEOLEAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*); MIMEOLEAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR); MIMEOLEAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*); MIMEOLEAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR); MIMEOLEAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*); MIMEOLEAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR); MIMEOLEAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*); MIMEOLEAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR); MIMEOLEAPI MimeOleCreateHeaderTable(IMimeHeaderTable**); MIMEOLEAPI MimeOleVariantFree(LPPROPVARIANT); MIMEOLEAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT); MIMEOLEAPI MimeOleGetExtClassId(LPCSTR,LPCLSID); MIMEOLEAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO); MIMEOLEAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO); MIMEOLEAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*); MIMEOLEAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*); MIMEOLEAPI MimeOleGetInternat(IMimeInternational**); MIMEOLEAPI MimeOleFindCharset(LPCSTR,LPHCHARSET); MIMEOLEAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO); MIMEOLEAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO); MIMEOLEAPI MimeOleGetDefaultCharset(LPHCHARSET); MIMEOLEAPI MimeOleSetDefaultCharset(HCHARSET); MIMEOLEAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET); MIMEOLEAPI MimeOleCreateVirtualStream(IStream**); MIMEOLEAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**); MIMEOLEAPI MimeOleIsTnefStream(IStream*); MIMEOLEAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*); MIMEOLEAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG); MIMEOLEAPI MimeOleCreateSecurity(IMimeSecurity**); MIMEOLEAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME); MIMEOLEAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG); MIMEOLEAPI MimeOleCreateMessageParts(IMimeMessageParts**); MIMEOLEAPI MimeOleGetAllocator(IMimeAllocator**); MIMEOLEAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST); MIMEOLEAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**); MIMEOLEAPI MimeOleMergePartialHeaders(IStream*,IStream*); MIMEOLEAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*); MIMEOLEAPI MimeOleGetExtContentType(LPCSTR,LPSTR*); MIMEOLEAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*); MIMEOLEAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*); MIMEOLEAPI MimeOleCreateBody(IMimeBody**); MIMEOLEAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**); MIMEOLEAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**); MIMEOLEAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD); MIMEOLEAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**); MIMEOLEAPI MimeOleClearDirtyTree(IMimeMessageTree*); MIMEOLEAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*); MIMEOLEAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD); MIMEOLEAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*); MIMEOLEAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*); MIMEOLEAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID); MIMEOLEAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID); MIMEOLEAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*); MIMEOLEAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*); MIMEOLEAPI MimeOleSMimeCapRelease(LPVOID); MIMEOLEAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*); MIMEOLEAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*); MIMEOLEAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*); MIMEOLEAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**); MIMEOLEAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**); MIMEOLEAPI MimeEditViewSource(HWND,IMimeMessage*); MIMEOLEAPI MimeEditIsSafeToRun(HWND,LPCSTR); MIMEOLEAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR); MIMEOLEAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**); MIMEOLEAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*); MIMEOLEAPI MimeEditDocumentFromStream(IStream*,REFIID,void**); MIMEOLEAPI MimeOleGetPropertySchema(IMimePropertySchema**); MIMEOLEAPI MimeGetAddressFormatW(REFIID,void*,DWORD,ADDRESSFORMAT,WCHAR**); /* Begin additional prototypes for all interfaces */ ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); void __RPC_USER HWND_UserFree (ULONG *, HWND *); /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __mimeole_h__ */