| /* |
| * Copyright 2007 Robert Shearman for CodeWeavers |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| import "ocidl.idl"; |
| import "objidl.idl"; |
| import "propidl.idl"; |
| |
| #define DECLARE_HANDLE(name) typedef void *name |
| |
| interface IMimeMessageCallback; |
| interface IMimeEnumAddressTypes; |
| interface IMimeMessageParts; |
| interface IMimeMessageTree; |
| interface IMimeBody; |
| interface IMimeEnumProperties; |
| |
| cpp_quote("DEFINE_GUID(CLSID_IMimeBody, 0xfd853cdb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") |
| cpp_quote("DEFINE_GUID(CLSID_IMimeAllocator, 0xfd853cdd, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") |
| cpp_quote("DEFINE_GUID(CLSID_IMimeMessage, 0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") |
| cpp_quote("DEFINE_GUID(CLSID_IMimeSecurity, 0xfd853cde, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") |
| cpp_quote("DEFINE_GUID(CLSID_IVirtualStream, 0xfd853cdf, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);") |
| |
| cpp_quote("#define MIME_E_REG_CREATE_KEY 0x800cce01") |
| cpp_quote("#define MIME_E_REG_QUERY_INFO 0x800cce02") |
| cpp_quote("#define MIME_E_INVALID_ENCTYPE 0x800cce03") |
| cpp_quote("#define MIME_E_BOUNDARY_MISMATCH 0x800cce04") |
| cpp_quote("#define MIME_E_NOT_FOUND 0x800cce05") |
| cpp_quote("#define MIME_E_NO_DATA 0x800cce05") |
| cpp_quote("#define MIME_E_BUFFER_TOO_SMALL 0x800cce06") |
| cpp_quote("#define MIME_E_INVALID_ITEM_FLAGS 0x800cce07") |
| cpp_quote("#define MIME_E_ONE_LINE_ITEME 0x800cce08") |
| cpp_quote("#define MIME_E_INVALID_HANDLE 0x800cce09") |
| cpp_quote("#define MIME_E_CHARSET_TRANSLATE 0x800cce0a") |
| cpp_quote("#define MIME_E_NOT_INITIALIZED 0x800cce0b") |
| |
| cpp_quote("#define MIME_E_INVALID_OPTION_VALUE 0x800cce1f") |
| cpp_quote("#define MIME_E_INVALID_OPTION_ID 0x800cce20") |
| cpp_quote("#define MIME_E_INVALID_HEADER_NAME 0x800cce21") |
| cpp_quote("#define MIME_E_NOT_BOUND 0x800cce22") |
| cpp_quote("#define MIME_E_MAX_SIZE_TOO_SMALL 0x800cce23") |
| cpp_quote("#define MIME_E_MULTIPART_HAS_CHILDREN 0x800cce25") |
| cpp_quote("#define MIME_E_INVALID_PROP_FLAGS 0x800cce26") |
| cpp_quote("#define MIME_E_INVALID_ADDRESS_TYPE 0x800cce27") |
| cpp_quote("#define MIME_E_INVALID_OBJECT_IID 0x800cce28") |
| cpp_quote("#define MIME_E_MLANG_DLL_NOT_FOUND 0x800cce29") |
| cpp_quote("#define MIME_E_ROOT_NOT_EMPTY 0x800cce2a") |
| cpp_quote("#define MIME_E_MLANG_BAD_DLL 0x800cce2b") |
| cpp_quote("#define MIME_E_REG_OPEN_KEY 0x800cce2c") |
| cpp_quote("#define MIME_E_INVALID_INET_DATE 0x800cce2d") |
| cpp_quote("#define MIME_E_INVALID_BODYTYPE 0x800cce2e") |
| cpp_quote("#define MIME_E_INVALID_DELETE_TYPE 0x800cce2f") |
| cpp_quote("#define MIME_E_OPTION_HAS_NO_VALUE 0x800cce30") |
| cpp_quote("#define MIME_E_INVALID_CHARSET_TYPE 0x800cce31") |
| |
| cpp_quote("#define MIME_E_INVALID_TEXT_TYPE 0x800cce38") |
| |
| cpp_quote("#define MIME_E_SECURITY_NOOP 0x800cceb1") |
| cpp_quote("#define MIME_S_SECURITY_NOOP 0x000cceb1") |
| |
| cpp_quote("typedef enum tagMIMEPROPID {") |
| cpp_quote(" PID_HDR_NEWSGROUP = 2,") |
| cpp_quote(" PID_HDR_NEWSGROUPS = 3,") |
| cpp_quote(" PID_HDR_REFS = 4,") |
| cpp_quote(" PID_HDR_SUBJECT = 5,") |
| cpp_quote(" PID_HDR_FROM = 6,") |
| cpp_quote(" PID_HDR_MESSAGEID = 7,") |
| cpp_quote(" PID_HDR_RETURNPATH = 8,") |
| cpp_quote(" PID_HDR_RR = 9,") |
| cpp_quote(" PID_HDR_RETRCPTO = 10,") |
| cpp_quote(" PID_HDR_APPARTO = 11,") |
| cpp_quote(" PID_HDR_DATE = 12,") |
| cpp_quote(" PID_HDR_RECEIVED = 13,") |
| cpp_quote(" PID_HDR_REPLYTO = 14,") |
| cpp_quote(" PID_HDR_XMAILER = 15,") |
| cpp_quote(" PID_HDR_BCC = 16,") |
| cpp_quote(" PID_HDR_MIMEVER = 17,") |
| cpp_quote(" PID_HDR_CNTTYPE = 18,") |
| cpp_quote(" PID_HDR_CNTXFER = 19,") |
| cpp_quote(" PID_HDR_CNTID = 20,") |
| cpp_quote(" PID_HDR_CNTDESC = 21,") |
| cpp_quote(" PID_HDR_CNTDISP = 22,") |
| cpp_quote(" PID_HDR_CNTBASE = 23,") |
| cpp_quote(" PID_HDR_CNTLOC = 24,") |
| cpp_quote(" PID_HDR_TO = 25,") |
| cpp_quote(" PID_HDR_PATH = 26,") |
| cpp_quote(" PID_HDR_FOLLOWUPTO = 27,") |
| cpp_quote(" PID_HDR_EXPIRES = 28,") |
| cpp_quote(" PID_HDR_CC = 29,") |
| cpp_quote(" PID_HDR_CONTROL = 30,") |
| cpp_quote(" PID_HDR_DISTRIB = 31,") |
| cpp_quote(" PID_HDR_KEYWORDS = 32,") |
| cpp_quote(" PID_HDR_SUMMARY = 33,") |
| cpp_quote(" PID_HDR_APPROVED = 34,") |
| cpp_quote(" PID_HDR_LINES = 35,") |
| cpp_quote(" PID_HDR_XREF = 36,") |
| cpp_quote(" PID_HDR_ORG = 37,") |
| cpp_quote(" PID_HDR_XNEWSRDR = 38,") |
| cpp_quote(" PID_HDR_XPRI = 39,") |
| cpp_quote(" PID_HDR_XMSPRI = 40,") |
| cpp_quote(" PID_PAR_FILENAME = 41,") |
| cpp_quote(" PID_PAR_BOUNDARY = 42,") |
| cpp_quote(" PID_PAR_CHARSET = 43,") |
| cpp_quote(" PID_PAR_NAME = 44,") |
| cpp_quote(" PID_ATT_FILENAME = 45,") |
| cpp_quote(" PID_ATT_GENFNAME = 46,") |
| cpp_quote(" PID_ATT_PRITYPE = 47,") |
| cpp_quote(" PID_ATT_SUBTYPE = 48,") |
| cpp_quote(" PID_ATT_NORMSUBJ = 49,") |
| cpp_quote(" PID_ATT_ILLEGAL = 50,") |
| cpp_quote(" PID_ATT_RENDERED = 51,") |
| cpp_quote(" PID_ATT_SENTTIME = 52,") |
| cpp_quote(" PID_ATT_RECVTIME = 53,") |
| cpp_quote(" PID_ATT_PRIORITY = 54,") |
| cpp_quote(" PID_HDR_COMMENT = 55,") |
| cpp_quote(" PID_HDR_ENCODING = 56,") |
| cpp_quote(" PID_HDR_ENCRYPTED = 57,") |
| cpp_quote(" PID_HDR_OFFSETS = 58,") |
| cpp_quote(" PID_HDR_XUNSENT = 59,") |
| cpp_quote(" PID_HDR_ARTICLEID = 60,") |
| cpp_quote(" PID_HDR_SENDER = 61,") |
| cpp_quote(" PID_ATT_SERVER = 62,") |
| cpp_quote(" PID_ATT_ACCOUNT = 63,") |
| cpp_quote(" PID_ATT_UIDL = 64,") |
| cpp_quote(" PID_ATT_STOREMSGID = 65,") |
| cpp_quote(" PID_ATT_USERNAME = 66,") |
| cpp_quote(" PID_ATT_FORWARDTO = 67,") |
| cpp_quote(" PID_ATT_STOREFOLDERID = 68,") |
| cpp_quote(" PID_ATT_GHOSTED = 69,") |
| cpp_quote(" PID_ATT_UNCACHEDSIZE = 70,") |
| cpp_quote(" PID_ATT_COMBINED = 71,") |
| cpp_quote(" PID_ATT_AUTOINLINED = 72,") |
| cpp_quote(" PID_HDR_DISP_NOTIFICATION_TO = 73,") |
| cpp_quote(" PID_PAR_REPLYTYPE = 74,") |
| cpp_quote(" PID_PAR_FORMAT = 75,") |
| cpp_quote(" PID_ATT_FORMAT = 76,") |
| cpp_quote(" PID_HDR_INREPLYTO = 77,") |
| cpp_quote(" PID_ATT_ACCOUNTNAME = 78,") |
| cpp_quote(" PID_LAST = 79,") |
| cpp_quote("} MIMEPROPID;") |
| |
| cpp_quote("#define TYPEDID_MASK ((ULONG)0xffff)") |
| cpp_quote("#define TYPEDID_TYPE(t) ((VARTYPE)((t) & TYPEDID_MASK))") |
| |
| cpp_quote("#define OID_ALLOW_8BIT_HEADER (0x00010000 | VT_BOOL)") |
| cpp_quote("#define OID_CBMAX_HEADER_LINE (0x00020000 | VT_UI4)") |
| cpp_quote("#define OID_SAVE_FORMAT (0x00030000 | VT_UI4)") |
| cpp_quote("#define OID_WRAP_BODY_TEXT (0x00040000 | VT_BOOL)") |
| cpp_quote("#define OID_CBMAX_BODY_LINE (0x00050000 | VT_UI4)") |
| cpp_quote("#define OID_TRANSMIT_BODY_ENCODING (0x00060000 | VT_UI4)") |
| cpp_quote("#define OID_TRANSMIT_TEXT_ENCODING (0x00070000 | VT_UI4)") |
| cpp_quote("#define OID_GENERATE_MESSAGE_ID (0x00080000 | VT_BOOL)") |
| cpp_quote("#define OID_HIDE_TNEF_ATTACHMENTS (0x000e0000 | VT_BOOL)") |
| cpp_quote("#define OID_CLEANUP_TREE_ON_SAVE (0x000f0000 | VT_BOOL)") |
| cpp_quote("#define OID_BODY_REMOVE_NBSP (0x00140000 | VT_BOOL)") |
| cpp_quote("#define OID_DEFAULT_BODY_CHARSET (0x00150000 | VT_UI4)") |
| cpp_quote("#define OID_DEFAULT_HEADER_CHARSET (0x00160000 | VT_UI4)") |
| cpp_quote("#define OID_DBCS_ESCAPE_IS_8BIT (0x00170000 | VT_BOOL)") |
| cpp_quote("#define OID_SECURITY_TYPE (0x00180000 | VT_UI4)") |
| cpp_quote("#define OID_SECURITY_HWND_OWNER (0x00320000 | VT_UI4)") |
| cpp_quote("#define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4)") |
| cpp_quote("#define OID_CAN_INLINE_TEXT_BODIES (0x00380000 | VT_BOOL)") |
| cpp_quote("#define OID_SHOW_MACBINARY (0x00390000 | VT_BOOL)") |
| cpp_quote("#define OID_SAVEBODY_KEEPBOUNDARY (0x00400000 | VT_BOOL)") |
| |
| [ |
| uuid(e4b28371-83b0-11d0-8259-00c04fd85ab4), |
| version(1.0) |
| ] |
| library MIMEOLE |
| { |
| importlib("stdole2.tlb"); |
| |
| DECLARE_HANDLE(HCHARSET); |
| DECLARE_HANDLE(HBODY); |
| DECLARE_HANDLE(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, |
| RELOAD_HEADER_RESET, |
| RELOAD_HEADER_APPEND, |
| RELOAD_HEADER_REPLACE, |
| } RELOADTYPE; |
| |
| typedef enum tagMIMESAVETYPE |
| { |
| SAVE_RFC822, |
| SAVE_RFC1521, |
| } MIMESAVETYPE; |
| |
| typedef enum tagCSETAPPLYTYPE |
| { |
| CSET_APPLY_UNTAGGED, |
| CSET_APPLY_ALL, |
| CSET_APPLY_TAG_ALL, |
| } CSETAPPLYTYPE; |
| |
| typedef enum tagENCODINGTYPE |
| { |
| IET_BINARY, |
| IET_BASE64, |
| IET_UUENCODE, |
| IET_QP, |
| IET_7BIT, |
| IET_8BIT, |
| IET_INETCSET, |
| IET_UNICODE, |
| IET_RFC1522, |
| IET_ENCODED, |
| IET_CURRENT, |
| IET_UNKNOWN, |
| IET_BINHEX40, |
| IET_LAST |
| } ENCODINGTYPE; |
| |
| const SHORT IET_DECODED = IET_BINARY; |
| |
| const SHORT CCHMAX_HEADER_LINE = 1000; |
| |
| [ |
| uuid(c5588349-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeInternational : IUnknown |
| { |
| typedef [unique] IMimeInternational *LPMIMEINTERNATIONAL; |
| typedef DWORD CODEPAGEID; |
| |
| const CODEPAGEID CP_USASCII = 1252; |
| const CODEPAGEID CP_UNICODE = 1200; |
| const CODEPAGEID CP_JAUTODETECT = 50932; |
| const CODEPAGEID CP_KAUTODETECT = 50949; |
| const CODEPAGEID CP_ISO2022JPESC = 50221; |
| const CODEPAGEID CP_ISO2022JPSIO = 50222; |
| |
| const SHORT CCHMAX_CSET_NAME = 128; |
| const SHORT CCHMAX_LANG_NAME = 128; |
| const SHORT CCHMAX_FACE_NAME = 128; |
| |
| typedef struct tagINETCSETINFO |
| { |
| CHAR szName[CCHMAX_CSET_NAME]; |
| HCHARSET hCharset; |
| CODEPAGEID cpiWindows; |
| CODEPAGEID cpiInternet; |
| DWORD dwReserved1; |
| } INETCSETINFO, *LPINETCSETINFO; |
| |
| typedef enum tagINETLANGMASK |
| { |
| ILM_FAMILY = 0x01, |
| ILM_NAME = 0x02, |
| ILM_BODYCSET = 0x04, |
| ILM_HEADERCSET = 0x08, |
| 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[CCHMAX_LANG_NAME]; |
| CHAR szBodyCset[CCHMAX_CSET_NAME]; |
| CHAR szHeaderCset[CCHMAX_CSET_NAME]; |
| CHAR szWebCset[CCHMAX_CSET_NAME]; |
| CHAR szFixedFont[CCHMAX_FACE_NAME]; |
| CHAR szVariableFont[CCHMAX_FACE_NAME]; |
| ENCODINGTYPE ietNewsDefault; |
| ENCODINGTYPE ietMailDefault; |
| DWORD dwReserved1; |
| } CODEPAGEINFO, *LPCODEPAGEINFO; |
| |
| typedef struct tagRFC1522INFO |
| { |
| BOOL fRfc1522Allowed; |
| BOOL fRfc1522Used; |
| BOOL fAllow8bit; |
| HCHARSET hRfc1522Cset; |
| } RFC1522INFO, *LPRFC1522INFO; |
| |
| typedef enum tagCHARSETTYPE |
| { |
| CHARSET_BODY, |
| CHARSET_HEADER, |
| CHARSET_WEB, |
| } CHARSETTYPE; |
| |
| |
| HRESULT SetDefaultCharset( |
| [in] HCHARSET hCharset); |
| HRESULT GetDefaultCharset( |
| [out] LPHCHARSET phCharset); |
| HRESULT GetCodePageCharset( |
| [in] CODEPAGEID cpiCodePage, |
| [in] CHARSETTYPE ctCsetType, |
| [out] LPHCHARSET phCharset); |
| HRESULT FindCharset( |
| [in] LPCSTR pszCharset, |
| [out] LPHCHARSET phCharset); |
| HRESULT GetCharsetInfo( |
| [in] HCHARSET hCharset, |
| [in, out] LPINETCSETINFO pCsetInfo); |
| HRESULT GetCodePageInfo( |
| [in] CODEPAGEID cpiCodePage, |
| [in, out] LPCODEPAGEINFO pCodePageInfo); |
| HRESULT CanConvertCodePages( |
| [in] CODEPAGEID cpiSource, |
| [in] CODEPAGEID cpiDest); |
| HRESULT DecodeHeader( |
| [in] HCHARSET hCharset, |
| [in] LPCSTR pszData, |
| [in, out] LPPROPVARIANT pDecoded, |
| [in, out] LPRFC1522INFO pRfc1522Info); |
| HRESULT EncodeHeader( |
| [in] HCHARSET hCharset, |
| [in] LPPROPVARIANT pData, |
| [out] LPSTR *ppszEncoded, |
| [in, out] LPRFC1522INFO pRfc1522Info); |
| HRESULT ConvertBuffer( |
| [in] CODEPAGEID cpiSource, |
| [in] CODEPAGEID cpiDest, |
| [in] LPBLOB pIn, |
| [in, out] LPBLOB pOut, |
| [out] ULONG *pcbRead); |
| HRESULT ConvertString( |
| [in] CODEPAGEID cpiSource, |
| [in] CODEPAGEID cpiDest, |
| [in] LPPROPVARIANT pIn, |
| [in, out] LPPROPVARIANT pOut); |
| HRESULT MLANG_ConvertInetReset(void); |
| HRESULT MLANG_ConvertInetString( |
| [in] CODEPAGEID cpiSource, |
| [in] CODEPAGEID cpiDest, |
| [in] LPCSTR pSource, |
| [in] int *pnSizeOfSource, |
| [in,out,unique] LPSTR pDestination, |
| [in] int *pnDstSize); |
| HRESULT Rfc1522Decode( |
| [in] LPCSTR pszValue, |
| [in,ref] LPSTR pszCharset, |
| [in] ULONG cchmax, |
| [out] LPSTR *ppszDecoded); |
| HRESULT Rfc1522Encode( |
| [in] LPCSTR pszValue, |
| [in] HCHARSET hCharset, |
| [out] LPSTR *ppszEncoded); |
| } |
| |
| [ |
| uuid(c5588353-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeSecurity : IUnknown |
| { |
| typedef [unique] IMimeSecurity *LPMIMESECURITY; |
| |
| cpp_quote("#ifdef __WINE_WINCRYPT_H") |
| cpp_quote("typedef PCCERT_CONTEXT PCX509CERT;") |
| cpp_quote("#else") |
| typedef const void *PCX509CERT; |
| typedef void *HCERTSTORE; |
| cpp_quote("#endif") |
| |
| typedef BLOB THUMBBLOB; |
| typedef void *HCAPICERTSTORE; |
| |
| cpp_quote("#define MST_NONE 0x00000000") |
| cpp_quote("#define MST_THIS_SIGN 0x00000001") |
| cpp_quote("#define MST_THIS_ENCRYPT 0x00000002") |
| cpp_quote("#define MST_BLOB_FLAG 0x00000004") |
| cpp_quote("#define MST_THIS_BLOBSIGN (MST_BLOB_FLAG | MST_THIS_SIGN)") |
| cpp_quote("#define MST_CHILD_SIGN 0x00000100") |
| cpp_quote("#define MST_CHILD_ENCRYPT 0x00000200") |
| cpp_quote("#define MST_SUBMSG_SIGN 0x00001000") |
| cpp_quote("#define MST_SUBMSG_ENCRYPT 0x00002000") |
| cpp_quote("#define MST_RECEIPT_REQUEST 0x00010000") |
| cpp_quote("#define MST_CLASS_SMIME_V1 0x00000000") |
| cpp_quote("#define MST_CLASS_PGP 0x01000000") |
| |
| typedef enum tagCERTSTATE |
| { |
| CERTIFICATE_OK, |
| CERTIFICATE_NOT_PRESENT, |
| CERTIFICATE_EXPIRED, |
| CERTIFICATE_CHAIN_TOO_LONG, |
| CERTIFICATE_MISSING_ISSUER, |
| CERTIFICATE_CRL_LISTED, |
| CERTIFICATE_NOT_TRUSTED, |
| CERTIFICATE_INVALID, |
| CERTIFICATE_ERROR, |
| CERTIFICATE_NOPRINT, |
| CERTIFICATE_UNKNOWN |
| } CERTSTATE; |
| |
| typedef enum tagCERTNAMETYPE |
| { |
| SIMPLE, |
| OID, |
| X500, |
| } CERTNAMETYPE; |
| |
| typedef enum tagCERTDATAID |
| { |
| CDID_EMAIL, |
| CDID_MAX |
| } CERTDATAID; |
| |
| typedef struct tagX509CERTRESULT |
| { |
| DWORD cEntries; |
| CERTSTATE *rgcs; |
| PCX509CERT *rgpCert; |
| } X509CERTRESULT, *PX509CERTRESULT; |
| typedef const X509CERTRESULT *PCX509CERTRESULT; |
| |
| HRESULT InitNew(void); |
| |
| HRESULT CheckInit(void); |
| |
| HRESULT EncodeMessage( |
| [in] IMimeMessageTree */*const*/ pTree, |
| [in] DWORD dwFlags); |
| |
| HRESULT EncodeBody( |
| [in] IMimeMessageTree */*const*/ pTree, |
| [in] HBODY hEncodeRoot, |
| [in] DWORD dwFlags); |
| |
| HRESULT DecodeMessage( |
| [in] IMimeMessageTree */*const*/ pTree, |
| [in] DWORD dwFlags); |
| |
| HRESULT DecodeBody( |
| [in] IMimeMessageTree */*const*/ pTree, |
| [in] HBODY hDecodeRoot, |
| [in] DWORD dwFlags); |
| |
| HRESULT EnumCertificates( |
| [in] HCAPICERTSTORE hc, |
| [in] DWORD dwUsage, |
| [in] PCX509CERT pPrev, |
| [out] PCX509CERT *ppCert); |
| |
| HRESULT GetCertificateName( |
| [in] const PCX509CERT pX509Cert, |
| [in] const CERTNAMETYPE cn, |
| [out] LPSTR *ppszName); |
| |
| HRESULT GetMessageType( |
| [in] const HWND hwndParent, |
| [in] IMimeBody */*const*/ pBody, |
| [out] DWORD */*const*/ pdwSecType); |
| |
| HRESULT GetCertData( |
| [in] const PCX509CERT pX509Cert, |
| [in] const CERTDATAID dataid, |
| [out, ref] LPPROPVARIANT pValue); |
| } |
| |
| [ |
| uuid(fd853cd1-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeHeaderTable : IPersistStream |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(fd853cec-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimePropertySchema : IUnknown |
| { |
| typedef [unique] IMimePropertySchema *LPMIMEPROPERTYSCHEMA; |
| |
| typedef enum tagMIMEPROPFLAGS |
| { |
| MPF_INETCSET = 0x01, |
| MPF_RFC1522 = 0x02, |
| MPF_ADDRESS = 0x04, |
| MPF_HASPARAMS = 0x08, |
| MPF_MIME = 0x10, |
| MPF_READONLY = 0x20 |
| } MIMEPROPFLAGS; |
| |
| HRESULT RegisterProperty( |
| [in] const char *name, |
| [in] DWORD flags, |
| [in] DWORD rownumber, |
| [in] VARTYPE vtdefault, |
| [out] DWORD *propid); |
| |
| HRESULT ModifyProperty( |
| [in] const char *name, |
| [in] DWORD flags, |
| [in] DWORD rownumber, |
| [in] VARTYPE vtdefault); |
| |
| HRESULT GetPropertyId( |
| [in] const char *name, |
| [out] DWORD *propid); |
| |
| HRESULT GetPropertyName( |
| [in] DWORD propid, |
| [out] char **name); |
| |
| HRESULT RegisterAddressType( |
| [in] const char *name, |
| [out] DWORD *adrtype); |
| } |
| |
| [ |
| uuid(fd853cd3-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimePropertySet : IPersistStreamInit |
| { |
| typedef [unique] IMimePropertySet *LPMIMEPROPERTYSET; |
| |
| cpp_quote("#define PDF_ENCODED 0x00000001") |
| cpp_quote("#define PDF_NAMEINDATA 0x00000002") |
| cpp_quote("#define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED)") |
| cpp_quote("#define PDF_NOCOMMENTS 0x00000008") |
| cpp_quote("#define PDF_SAVENOENCODE 0x00000010") |
| cpp_quote("#define PDF_VECTOR 0x00000020") |
| |
| typedef struct tagMIMEPARAMINFO |
| { |
| LPSTR pszName; |
| LPSTR pszData; |
| } MIMEPARAMINFO, *LPMIMEPARAMINFO; |
| |
| typedef enum tagPROPINFOMASK |
| { |
| PIM_CHARSET = 0x01, |
| PIM_ENCODINGTYPE = 0x02, |
| PIM_ROWNUMBER = 0x04, |
| PIM_FLAGS = 0x08, |
| 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, *LPMIMEPROPINFO; |
| typedef const MIMEPROPINFO *LPCMIMEPROPINFO; |
| |
| HRESULT GetPropInfo( |
| [in] LPCSTR pszName, |
| [in,out] LPMIMEPROPINFO pInfo); |
| |
| HRESULT SetPropInfo( |
| [in] LPCSTR pszName, |
| [in] LPCMIMEPROPINFO pInfo); |
| |
| cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") |
| cpp_quote("#undef GetProp") |
| cpp_quote("#undef SetProp") |
| cpp_quote("#undef EnumProps") |
| cpp_quote("#endif") |
| HRESULT GetProp( |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in,out] LPPROPVARIANT pValue); |
| |
| HRESULT SetProp( |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in] LPCPROPVARIANT pValue); |
| |
| HRESULT AppendProp( |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in] LPPROPVARIANT pValue); |
| |
| HRESULT DeleteProp( |
| [in] LPCSTR pszName); |
| |
| HRESULT CopyProps( |
| [in] ULONG cNames, |
| [in,unique] LPCSTR *prgszName, |
| [in] IMimePropertySet *pPropertySet); |
| |
| HRESULT MoveProps( |
| [in] ULONG cNames, |
| [in] LPCSTR *prgszName, |
| [in] IMimePropertySet *pPropertySet); |
| |
| HRESULT DeleteExcept( |
| [in] ULONG cNames, |
| [in] LPCSTR *prgszName); |
| |
| HRESULT QueryProp( |
| [in] LPCSTR pszName, |
| [in] LPCSTR pszCriteria, |
| [in] boolean fSubString, |
| [in] boolean fCaseSensitive); |
| |
| HRESULT GetCharset( |
| [out] LPHCHARSET phCharset); |
| |
| HRESULT SetCharset( |
| [in] HCHARSET hCharset, |
| [in] CSETAPPLYTYPE applytype); |
| |
| HRESULT GetParameters( |
| [in] LPCSTR pszName, |
| [out] ULONG *pcParams, |
| [out] LPMIMEPARAMINFO *pprgParam); |
| |
| HRESULT IsContentType( |
| [in] LPCSTR pszPriType, |
| [in,unique] LPCSTR pszSubType); |
| |
| HRESULT BindToObject( |
| [in] REFIID riid, |
| [out,iid_is(riid)] void **ppvObject); |
| |
| HRESULT Clone( |
| [out] IMimePropertySet **ppPropertySet); |
| |
| HRESULT SetOption( |
| [in] const TYPEDID oid, |
| [in] LPCPROPVARIANT pValue); |
| |
| HRESULT GetOption( |
| [in] const TYPEDID oid, |
| [in,out] LPPROPVARIANT pValue); |
| |
| cpp_quote("#define EPF_NONAME 0x00000001") |
| |
| HRESULT EnumProps( |
| [in] DWORD dwFlags, |
| [out] IMimeEnumProperties **ppEnum); |
| |
| } |
| |
| [ |
| uuid(c558834a-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeAddressTable : IUnknown |
| { |
| typedef [unique] IMimeAddressTable *LPMIMEADDRESSTABLE; |
| |
| DECLARE_HANDLE(HADDRESS); |
| typedef HADDRESS *LPHADDRESS; |
| typedef DWORD IADDRESSTYPE; |
| |
| typedef enum tagADDRESSFORMAT |
| { |
| AFT_DISPLAY_FRIENDLY, |
| AFT_DISPLAY_EMAIL, |
| AFT_DISPLAY_BOTH, |
| AFT_RFC822_DECODED, |
| AFT_RFC822_ENCODED, |
| AFT_RFC822_TRANSMIT, |
| } ADDRESSFORMAT; |
| |
| 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, *LPADDRESSPROPS; |
| |
| typedef struct tagADDRESSLIST |
| { |
| ULONG cAdrs; |
| LPADDRESSPROPS prgAdr; |
| } ADDRESSLIST, *LPADDRESSLIST; |
| |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(ee519f11-851a-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeWebDocument : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(c558834c-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeBody : IMimePropertySet |
| { |
| typedef [unique] IMimeBody *LPMIMEBODY; |
| |
| typedef enum tagIMSGBODYTYPE |
| { |
| IBT_SECURE, |
| IBT_ATTACHMENT, |
| IBT_EMPTY, |
| IBT_CSETTAGGED, |
| IBT_AUTOATTACH, |
| } IMSGBODYTYPE; |
| |
| typedef struct tagBODYOFFSETS |
| { |
| DWORD cbBoundaryStart; |
| DWORD cbHeaderStart; |
| DWORD cbBodyStart; |
| DWORD cbBodyEnd; |
| } BODYOFFSETS, *LPBODYOFFSETS; |
| |
| typedef struct tagTRANSMITINFO |
| { |
| ENCODINGTYPE ietCurrent; |
| ENCODINGTYPE ietXmitMime; |
| ENCODINGTYPE ietXmit822; |
| ULONG cbLongestLine; |
| ULONG cExtended; |
| ULONG ulPercentExt; |
| ULONG cbSize; |
| ULONG cLines; |
| } TRANSMITINFO, *LPTRANSMITINFO; |
| |
| HRESULT IsType( |
| [in] IMSGBODYTYPE bodytype); |
| |
| HRESULT SetDisplayName( |
| [in] LPCSTR pszDisplay); |
| |
| HRESULT GetDisplayName( |
| [out] LPSTR *ppszDisplay); |
| |
| HRESULT GetOffsets( |
| [out] LPBODYOFFSETS pOffsets); |
| |
| HRESULT GetCurrentEncoding( |
| [out] ENCODINGTYPE *pietEncoding); |
| |
| HRESULT SetCurrentEncoding( |
| [in] ENCODINGTYPE ietEncoding); |
| |
| HRESULT GetEstimatedSize( |
| [in] ENCODINGTYPE ietEncoding, |
| [out] ULONG *pcbSize); |
| |
| HRESULT GetDataHere( |
| [in] ENCODINGTYPE ietEncoding, |
| [in] IStream *pStream); |
| |
| HRESULT GetData( |
| [in] ENCODINGTYPE ietEncoding, |
| [out] IStream **ppStream); |
| |
| HRESULT SetData( |
| [in] ENCODINGTYPE ietEncoding, |
| [in,unique] LPCSTR pszPriType, |
| [in,unique] LPCSTR pszSubType, |
| [in] REFIID riid, |
| [in,iid_is(riid)] LPVOID pvObject); |
| |
| HRESULT EmptyData(void); |
| |
| HRESULT CopyTo( |
| [in] IMimeBody *pBody); |
| |
| HRESULT GetTransmitInfo( |
| [in,out] LPTRANSMITINFO pTransmitInfo); |
| |
| HRESULT SaveToFile( |
| [in] ENCODINGTYPE ietEncoding, |
| [in] LPCSTR pszFilePath); |
| |
| HRESULT GetHandle( |
| [out] LPHBODY phBody); |
| |
| } |
| |
| [ |
| uuid(fd853cd4-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeMessageTree : IPersistStreamInit |
| { |
| typedef [unique] IMimeMessageTree *LPMIMEMESSAGETREE; |
| |
| const HBODY HBODY_ROOT = (HBODY)-1; |
| |
| typedef enum tagBODYLOCATION |
| { |
| IBL_ROOT, |
| IBL_PARENT, |
| IBL_FIRST, |
| IBL_LAST, |
| IBL_NEXT, |
| IBL_PREVIOUS, |
| } BODYLOCATION; |
| |
| typedef struct tagFINDBODY |
| { |
| LPSTR pszPriType; |
| LPSTR pszSubType; |
| DWORD dwReserved; |
| } FINDBODY, *LPFINDBODY; |
| |
| HRESULT GetMessageSource( |
| [out] IStream **ppStream, |
| [in] DWORD dwFlags); |
| |
| HRESULT GetMessageSize( |
| [out] ULONG *pcbSize, |
| [in] DWORD dwFlags); |
| |
| HRESULT LoadOffsetTable( |
| [in] IStream *pStream); |
| |
| HRESULT SaveOffsetTable( |
| [in] IStream *pStream, |
| [in] DWORD dwFlags); |
| |
| HRESULT GetFlags( |
| [out] DWORD *pdwFlags); |
| |
| HRESULT Commit( |
| [in] DWORD dwFlags); |
| |
| HRESULT HandsOffStorage(); |
| |
| HRESULT BindToObject( |
| [in] const HBODY hBody, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppvObject); |
| |
| HRESULT SaveBody( |
| [in] HBODY hBody, |
| [in] DWORD dwFlags, |
| [in] IStream *pStream); |
| |
| HRESULT InsertBody( |
| [in] BODYLOCATION location, |
| [in] HBODY hPivot, |
| [out] LPHBODY phBody); |
| |
| HRESULT GetBody( |
| [in] BODYLOCATION location, |
| [in] HBODY hPivot, |
| [out] LPHBODY phBody); |
| |
| HRESULT DeleteBody( |
| [in] HBODY hBody, |
| [in] DWORD dwFlags); |
| |
| HRESULT MoveBody( |
| [in] HBODY hBody, |
| [in] BODYLOCATION location); |
| |
| HRESULT CountBodies( |
| [in] HBODY hParent, |
| [in] boolean fRecurse, |
| [out] ULONG *pcBodies); |
| |
| HRESULT FindFirst( |
| [in, out] LPFINDBODY pFindBody, |
| [out] LPHBODY phBody); |
| |
| HRESULT FindNext( |
| [in, out] LPFINDBODY pFindBody, |
| [out] LPHBODY phBody); |
| |
| HRESULT ResolveURL( |
| [in] HBODY hRelated, |
| [in] LPCSTR pszBase, |
| [in] LPCSTR pszURL, |
| [in] DWORD dwFlags, |
| [out] LPHBODY phBody); |
| |
| HRESULT ToMultipart( |
| [in] HBODY hBody, |
| [in] LPCSTR pszSubType, |
| [out] LPHBODY phMultipart); |
| |
| HRESULT GetBodyOffsets( |
| [in] HBODY hBody, |
| [in, out] LPBODYOFFSETS pOffsets); |
| |
| HRESULT GetCharset( |
| [out] LPHCHARSET phCharset); |
| |
| HRESULT SetCharset( |
| [in] HCHARSET hCharset, |
| [in] CSETAPPLYTYPE applytype); |
| |
| HRESULT IsBodyType( |
| [in] HBODY hBody, |
| [in] IMSGBODYTYPE bodytype); |
| |
| HRESULT IsContentType( |
| [in] HBODY hBody, |
| [in] LPCSTR pszPriType, |
| [in] LPCSTR pszSubType); |
| |
| HRESULT QueryBodyProp( |
| [in] HBODY hBody, |
| [in] LPCSTR pszName, |
| [in] LPCSTR pszCriteria, |
| [in] boolean fSubString, |
| [in] boolean fCaseSensitive); |
| |
| HRESULT GetBodyProp( |
| [in] HBODY hBody, |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in, out] LPPROPVARIANT pValue); |
| |
| HRESULT SetBodyProp( |
| [in] HBODY hBody, |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in] LPCPROPVARIANT pValue); |
| |
| HRESULT DeleteBodyProp( |
| [in] HBODY hBody, |
| [in] LPCSTR pszName); |
| |
| HRESULT SetOption( |
| [in] const TYPEDID oid, |
| [in] LPCPROPVARIANT pValue); |
| |
| HRESULT GetOption( |
| [in] const TYPEDID oid, |
| [in, out] LPPROPVARIANT pValue); |
| } |
| |
| [ |
| uuid(fd853cd5-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeMessage : IMimeMessageTree |
| { |
| typedef [unique] IMimeMessage *LPMIMEMESSAGE; |
| |
| typedef DWORD TEXTTYPE; |
| |
| typedef enum tagIMSGFLAGS |
| { |
| IMF_ATTACHMENTS = 0x00000001, |
| IMF_MULTIPART = 0x00000002, |
| IMF_SUBMULTIPART = 0x00000004, |
| IMF_MIME = 0x00000008, |
| IMF_HTML = 0x00000010, |
| IMF_PLAIN = 0x00000020, |
| IMF_PARTIAL = 0x00000040, |
| IMF_SIGNED = 0x00000080, |
| IMF_ENCRYPTED = 0x00000100, |
| IMF_TNEF = 0x00000200, |
| IMF_MHTML = 0x00000400, |
| IMF_SECURE = 0x00000800, |
| IMF_TEXT = 0x00001000, |
| IMF_CSETTAGGED = 0x00002000, |
| IMF_NEWS = 0x00004000, |
| IMF_VOICEMAIL = 0x00008000, |
| IMF_HASVCARD = 0x00010000, |
| IMF_RFC1154 = 0x00020000, |
| } IMSGFLAGS; |
| |
| typedef enum tagIMSGPRIORITY |
| { |
| IMSG_PRI_LOW = 5, |
| IMSG_PRI_NORMAL = 3, |
| IMSG_PRI_HIGH = 1, |
| } IMSGPRIORITY; |
| |
| cpp_quote("#define WPF_HTML 0x00000001") |
| cpp_quote("#define WPF_AUTOINLINE 0x00000002") |
| cpp_quote("#define WPF_SLIDESHOW 0x00000004") |
| cpp_quote("#define WPF_ATTACHLINKS 0x00000008") |
| cpp_quote("#define WPF_IMAGESONLY 0x00000010") |
| cpp_quote("#define WPF_NOMETACHARSET 0x00000020") |
| |
| typedef struct tagWEPAGEOPTIONS |
| { |
| DWORD cbSize; |
| DWORD dwFlags; |
| DWORD dwDelay; |
| WCHAR wchQuote; |
| } WEBPAGEOPTIONS, *LPWEBPAGEOPTIONS; |
| |
| cpp_quote("#define TXT_PLAIN 1") |
| cpp_quote("#define TXT_HTML 2") |
| |
| HRESULT CreateWebPage( |
| [in] IStream *pRootStm, |
| [in] LPWEBPAGEOPTIONS pOptions, |
| [in] IMimeMessageCallback *pCallback, |
| [out] IMoniker **ppMoniker); |
| |
| HRESULT GetProp( |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in,out] LPPROPVARIANT pValue); |
| |
| HRESULT SetProp( |
| [in] LPCSTR pszName, |
| [in] DWORD dwFlags, |
| [in] LPCPROPVARIANT pValue); |
| |
| HRESULT DeleteProp( |
| [in] LPCSTR pszName); |
| |
| HRESULT QueryProp( |
| [in] LPCSTR pszName, |
| [in] LPCSTR pszCriteria, |
| [in] boolean fSubString, |
| [in] boolean fCaseSensitive); |
| |
| HRESULT GetTextBody( |
| [in] DWORD dwTxtType, |
| [in] ENCODINGTYPE ietEncoding, |
| [out] IStream **pStream, |
| [out] LPHBODY phBody); |
| |
| HRESULT SetTextBody( |
| [in] DWORD dwTxtType, |
| [in] ENCODINGTYPE ietEncoding, |
| [in] HBODY hAlternative, |
| [in] IStream *pStream, |
| [out] LPHBODY phBody); |
| |
| HRESULT AttachObject( |
| [in] REFIID riid, |
| [in, iid_is(riid)] void *pvObject, |
| [out] LPHBODY phBody); |
| |
| HRESULT AttachFile( |
| [in] LPCSTR pszFilePath, |
| [in] IStream *pstmFile, |
| [out] LPHBODY phBody); |
| |
| HRESULT AttachURL( |
| [in] LPCSTR pszBase, |
| [in] LPCSTR pszURL, |
| [in] DWORD dwFlags, |
| [in] IStream *pstmURL, |
| [out] LPSTR *ppszCIDURL, |
| [out] LPHBODY phBody); |
| |
| HRESULT GetAttachments( |
| [out] ULONG *pcAttach, |
| [out] LPHBODY *pprghAttach); |
| |
| HRESULT GetAddressTable( |
| [out] IMimeAddressTable **ppTable); |
| |
| HRESULT GetSender( |
| [in, out] LPADDRESSPROPS pAddress); |
| |
| HRESULT GetAddressTypes( |
| [in] DWORD dwAdrTypes, |
| [in] DWORD dwProps, |
| [in, out] LPADDRESSLIST pList); |
| |
| HRESULT GetAddressFormat( |
| [in] DWORD dwAdrTypes, |
| [in] ADDRESSFORMAT format, |
| [out] LPSTR *ppszFormat); |
| |
| HRESULT EnumAddressTypes( |
| [in] DWORD dwAdrTypes, |
| [in] DWORD dwProps, |
| [out] IMimeEnumAddressTypes **ppEnum); |
| |
| HRESULT SplitMessage( |
| [in] ULONG cbMaxPart, |
| [out] IMimeMessageParts **ppParts); |
| |
| HRESULT GetRootMoniker( |
| [out] IMoniker **ppMoniker); |
| } |
| |
| [ |
| uuid(761aa741-7bda-11d1-8aa9-00c04fb951f3), |
| object |
| ] |
| interface IMimeMessageCallback : IUnknown |
| { |
| HRESULT OnWebPageSplitter( |
| [in] DWORD cInlined, |
| [in] IStream *ppStream); |
| } |
| |
| [ |
| uuid(de4ad8da-555f-11d1-8dd0-00c04fb951f9), |
| object |
| ] |
| interface IPersistMime : IPersist |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(c558834f-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeMessageParts : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(c558834d-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeEnumHeaderRows : IUnknown |
| { |
| typedef struct tagENUMHEADERROW |
| { |
| HHEADERROW hRow; |
| LPSTR pszHeader; |
| LPSTR pszData; |
| ULONG cchData; |
| DWORD_PTR dwReserved; |
| } ENUMHEADERROW, *LPENUMHEADERROW; |
| |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(fd853cee-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeEnumProperties : IUnknown |
| { |
| typedef [unique] IMimeEnumProperties *LPMIMEENUMPROPERTIES; |
| |
| typedef struct tagENUMPROPERTY |
| { |
| LPSTR pszName; |
| HHEADERROW hRow; |
| DWORD dwPropId; |
| } ENUMPROPERTY, *LPENUMPROPERTY; |
| |
| HRESULT Next( |
| [in] ULONG cFetch, |
| [in, out] LPENUMPROPERTY prgProp, |
| [out] ULONG *pcFetched); |
| |
| HRESULT Skip( |
| [in] ULONG cItems); |
| |
| HRESULT Reset(void); |
| |
| HRESULT Clone( |
| [out] IMimeEnumProperties **ppEnum); |
| |
| HRESULT Count( |
| [out] ULONG *pcItems); |
| |
| } |
| |
| [ |
| uuid(c5588354-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeEnumAddressTypes : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(c5588350-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeEnumMessageParts : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(64577981-86d7-11d1-bdfc-00c04fa31009), |
| object |
| ] |
| interface IHashTable : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(c5588351-7f86-11d0-8252-00c04fd85ab4), |
| object |
| ] |
| interface IMimeAllocator : IMalloc |
| { |
| typedef [unique] IMimeAllocator *LPMIMEALLOCATOR; |
| |
| HRESULT FreeParamInfoArray( |
| [in] ULONG cParams, |
| [in] LPMIMEPARAMINFO prgParam, |
| [in] boolean fFreeArray); |
| |
| HRESULT FreeAddressList( |
| [in,out] LPADDRESSLIST pList); |
| |
| HRESULT FreeAddressProps( |
| [in,out] LPADDRESSPROPS pAddress); |
| |
| HRESULT ReleaseObjects( |
| [in] ULONG cObjects, |
| [in] IUnknown **prgpUnknown, |
| [in] boolean fFreeArray); |
| |
| HRESULT FreeEnumHeaderRowArray( |
| [in] ULONG cRows, |
| [in] LPENUMHEADERROW prgRow, |
| [in] boolean fFreeArray); |
| |
| HRESULT FreeEnumPropertyArray( |
| [in] ULONG cProps, |
| [in] LPENUMPROPERTY prgProp, |
| [in] boolean fFreeArray); |
| |
| HRESULT FreeThumbprint( |
| [in] THUMBBLOB *pthumbprint); |
| |
| HRESULT PropVariantClear( |
| [in] LPPROPVARIANT pProp); |
| |
| } |
| |
| [ |
| uuid(feceaffd-c441-11d1-960e-00c04fbd7c09), |
| object |
| ] |
| interface IMimeObjResolver : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(b0d17fc2-7bc4-11d1-bdfa-00c04fa31009), |
| object |
| ] |
| interface IFontCache : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(b0d17fc5-7bc4-11d1-bdfa-00c04fa31009), |
| object |
| ] |
| interface IFontCacheNotify : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(70183210-7b36-11d2-8c12-00c04fa31009), |
| object |
| ] |
| interface IMimeEditTag : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(d09ee528-7b38-11d2-8c12-00c04fa31009), |
| object |
| ] |
| interface IMimeEditTagCollection : IUnknown |
| { |
| /* FIXME: fill this in */ |
| } |
| |
| [ |
| uuid(ba715ae0-a740-11d2-8b22-0080c76b34c6), |
| local |
| ] |
| interface IMimeSecurityCallback : IUnknown |
| { |
| /* FIXME: fill this in */ |
| |
| cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_UNKNOWN 0") |
| cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_KEYTRANS 1") |
| cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_KEYAGREE 2") |
| cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_MAIL_LIST 3") |
| |
| cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_CERTIFICATE 0") |
| cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_KEYTRANS 1") |
| cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_PROVIDER 2") |
| cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_EPHEMERAL_KEYAGREE 3") |
| cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_STATIC_KEYAGREE 4") |
| |
| cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_CERTIFICATE 0") |
| cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_ISSUERSERIAL 1") |
| cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_KEY_ID 2") |
| |
| } |
| } |
| |
| cpp_quote("#ifdef __cplusplus") |
| cpp_quote(" extern \"C\" {") |
| cpp_quote("#endif") |
| |
| cpp_quote("") |
| cpp_quote("HRESULT WINAPI MimeOleSetCompatMode(DWORD);") |
| cpp_quote("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);") |
| cpp_quote("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);") |
| cpp_quote("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);") |
| cpp_quote("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);") |
| cpp_quote("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);") |
| cpp_quote("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateByteStream(IStream**);") |
| cpp_quote("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);") |
| cpp_quote("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);") |
| cpp_quote("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);") |
| cpp_quote("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);") |
| cpp_quote("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);") |
| cpp_quote("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);") |
| cpp_quote("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);") |
| cpp_quote("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);") |
| cpp_quote("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);") |
| cpp_quote("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);") |
| cpp_quote("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);") |
| cpp_quote("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);") |
| cpp_quote("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);") |
| cpp_quote("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);") |
| cpp_quote("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);") |
| cpp_quote("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);") |
| cpp_quote("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);") |
| cpp_quote("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);") |
| cpp_quote("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);") |
| cpp_quote("HRESULT WINAPI MimeOleIsTnefStream(IStream*);") |
| cpp_quote("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);") |
| cpp_quote("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);") |
| cpp_quote("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);") |
| cpp_quote("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);") |
| cpp_quote("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);") |
| cpp_quote("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);") |
| cpp_quote("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);") |
| cpp_quote("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);") |
| cpp_quote("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);") |
| cpp_quote("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);") |
| cpp_quote("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);") |
| cpp_quote("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);") |
| cpp_quote("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);") |
| cpp_quote("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);") |
| cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);") |
| cpp_quote("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);") |
| cpp_quote("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);") |
| |
| cpp_quote("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);") |
| cpp_quote("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);") |
| cpp_quote("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);") |
| cpp_quote("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);") |
| cpp_quote("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);") |
| cpp_quote("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);") |
| |
| cpp_quote("HRESULT WINAPI MimeOleGetPropertySchema(IMimePropertySchema**);") |
| |
| cpp_quote("#ifdef __cplusplus") |
| cpp_quote("}") |
| cpp_quote("#endif") |