ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

mimeole.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2007 Robert Shearman for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 import "ocidl.idl";
00020 import "objidl.idl";
00021 import "propidl.idl";
00022 
00023 #define DECLARE_HANDLE(name) typedef void *name
00024 
00025 interface IMimeMessageCallback;
00026 interface IMimeEnumAddressTypes;
00027 interface IMimeMessageParts;
00028 interface IMimeMessageTree;
00029 interface IMimeBody;
00030 interface IMimeEnumProperties;
00031 
00032 cpp_quote("DEFINE_GUID(CLSID_IMimeBody,      0xfd853cdb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
00033 cpp_quote("DEFINE_GUID(CLSID_IMimeAllocator, 0xfd853cdd, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
00034 cpp_quote("DEFINE_GUID(CLSID_IMimeMessage,   0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
00035 cpp_quote("DEFINE_GUID(CLSID_IMimeSecurity,  0xfd853cde, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
00036 cpp_quote("DEFINE_GUID(CLSID_IVirtualStream, 0xfd853cdf, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
00037 
00038 cpp_quote("#define MIME_E_REG_CREATE_KEY         0x800cce01")
00039 cpp_quote("#define MIME_E_REG_QUERY_INFO         0x800cce02")
00040 cpp_quote("#define MIME_E_INVALID_ENCTYPE        0x800cce03")
00041 cpp_quote("#define MIME_E_BOUNDARY_MISMATCH      0x800cce04")
00042 cpp_quote("#define MIME_E_NOT_FOUND              0x800cce05")
00043 cpp_quote("#define MIME_E_NO_DATA                0x800cce05")
00044 cpp_quote("#define MIME_E_BUFFER_TOO_SMALL       0x800cce06")
00045 cpp_quote("#define MIME_E_INVALID_ITEM_FLAGS     0x800cce07")
00046 cpp_quote("#define MIME_E_ONE_LINE_ITEME         0x800cce08")
00047 cpp_quote("#define MIME_E_INVALID_HANDLE         0x800cce09")
00048 cpp_quote("#define MIME_E_CHARSET_TRANSLATE      0x800cce0a")
00049 cpp_quote("#define MIME_E_NOT_INITIALIZED        0x800cce0b")
00050 
00051 cpp_quote("#define MIME_E_INVALID_CHARSET_TYPE   0x800cce31")
00052 
00053 cpp_quote("#define MIME_E_INVALID_TEXT_TYPE      0x800cce38")
00054 
00055 cpp_quote("#define MIME_E_SECURITY_NOOP          0x800cceb1")
00056 cpp_quote("#define MIME_S_SECURITY_NOOP          0x000cceb1")
00057 
00058 cpp_quote("typedef enum tagMIMEPROPID {")
00059 cpp_quote("    PID_HDR_NEWSGROUP  = 2,")
00060 cpp_quote("    PID_HDR_NEWSGROUPS = 3,")
00061 cpp_quote("    PID_HDR_REFS       = 4,")
00062 cpp_quote("    PID_HDR_SUBJECT    = 5,")
00063 cpp_quote("    PID_HDR_FROM       = 6,")
00064 cpp_quote("    PID_HDR_MESSAGEID  = 7,")
00065 cpp_quote("    PID_HDR_RETURNPATH = 8,")
00066 cpp_quote("    PID_HDR_RR         = 9,")
00067 cpp_quote("    PID_HDR_RETRCPTO   = 10,")
00068 cpp_quote("    PID_HDR_APPARTO    = 11,")
00069 cpp_quote("    PID_HDR_DATE       = 12,")
00070 cpp_quote("    PID_HDR_RECEIVED   = 13,")
00071 cpp_quote("    PID_HDR_REPLYTO    = 14,")
00072 cpp_quote("    PID_HDR_XMAILER    = 15,")
00073 cpp_quote("    PID_HDR_BCC        = 16,")
00074 cpp_quote("    PID_HDR_MIMEVER    = 17,")
00075 cpp_quote("    PID_HDR_CNTTYPE    = 18,")
00076 cpp_quote("    PID_HDR_CNTXFER    = 19,")
00077 cpp_quote("    PID_HDR_CNTID      = 20,")
00078 cpp_quote("    PID_HDR_CNTDESC    = 21,")
00079 cpp_quote("    PID_HDR_CNTDISP    = 22,")
00080 cpp_quote("    PID_HDR_CNTBASE    = 23,")
00081 cpp_quote("    PID_HDR_CNTLOC     = 24,")
00082 cpp_quote("    PID_HDR_TO         = 25,")
00083 cpp_quote("    PID_HDR_PATH       = 26,")
00084 cpp_quote("    PID_HDR_FOLLOWUPTO = 27,")
00085 cpp_quote("    PID_HDR_EXPIRES    = 28,")
00086 cpp_quote("    PID_HDR_CC         = 29,")
00087 
00088 cpp_quote("    PID_HDR_SENDER     = 61,")
00089 
00090 cpp_quote("    PID_HDR_INREPLYTO  = 77,")
00091 cpp_quote("} MIMEPROPID;")
00092 
00093 cpp_quote("#define TYPEDID_MASK                  ((ULONG)0xffff)")
00094 cpp_quote("#define TYPEDID_TYPE(t)               ((VARTYPE)((t) & TYPEDID_MASK))")
00095 
00096 cpp_quote("#define OID_HIDE_TNEF_ATTACHMENTS     (0x000e0000 | VT_BOOL)")
00097 cpp_quote("#define OID_SECURITY_TYPE             (0x00180000 | VT_UI4)")
00098 cpp_quote("#define OID_SECURITY_HWND_OWNER       (0x00320000 | VT_UI4)")
00099 cpp_quote("#define OID_HEADER_RELOAD_TYPE        (0x00370000 | VT_UI4)")
00100 cpp_quote("#define OID_SHOW_MACBINARY            (0x00390000 | VT_BOOL)")
00101 
00102 
00103 [
00104     uuid(e4b28371-83b0-11d0-8259-00c04fd85ab4),
00105     version(1.0)
00106 ]
00107 library MIMEOLE
00108 {
00109     importlib("stdole2.tlb");
00110 
00111     DECLARE_HANDLE(HCHARSET);
00112     DECLARE_HANDLE(HBODY);
00113     DECLARE_HANDLE(HHEADERROW);
00114 
00115     typedef HCHARSET *LPHCHARSET;
00116     typedef HBODY *LPHBODY;
00117     typedef HHEADERROW *LPHHEADERROW;
00118     typedef DWORD TYPEDID;
00119     typedef const PROPVARIANT *LPCPROPVARIANT;
00120     typedef const BLOB *LPCBLOB;
00121 
00122     typedef enum tagRELOADTYPE
00123     {
00124         RELOAD_HEADER_NONE,
00125         RELOAD_HEADER_RESET,
00126         RELOAD_HEADER_APPEND,
00127         RELOAD_HEADER_REPLACE,
00128     } RELOADTYPE;
00129 
00130     typedef enum tagMIMESAVETYPE
00131     {
00132         SAVE_RFC822,
00133         SAVE_RFC1521,
00134     } MIMESAVETYPE;
00135 
00136     typedef enum tagCSETAPPLYTYPE
00137     {
00138         CSET_APPLY_UNTAGGED,
00139         CSET_APPLY_ALL,
00140         CSET_APPLY_TAG_ALL,
00141     } CSETAPPLYTYPE;
00142 
00143     typedef enum tagENCODINGTYPE
00144     {
00145         IET_BINARY,
00146         IET_BASE64,
00147         IET_UUENCODE,
00148         IET_QP,
00149         IET_7BIT,
00150         IET_8BIT,
00151         IET_INETCSET,
00152         IET_UNICODE,
00153         IET_RFC1522,
00154         IET_ENCODED,
00155         IET_CURRENT,
00156         IET_UNKNOWN,
00157         IET_BINHEX40,
00158         IET_LAST
00159     } ENCODINGTYPE;
00160 
00161     const SHORT IET_DECODED = IET_BINARY;
00162 
00163     const SHORT CCHMAX_HEADER_LINE = 1000;
00164 
00165     [
00166         uuid(c5588349-7f86-11d0-8252-00c04fd85ab4),
00167         object
00168     ]
00169     interface IMimeInternational : IUnknown
00170     {
00171         typedef [unique] IMimeInternational *LPMIMEINTERNATIONAL;
00172         typedef DWORD CODEPAGEID;
00173 
00174         const CODEPAGEID CP_USASCII = 1252;
00175         const CODEPAGEID CP_UNICODE = 1200;
00176         const CODEPAGEID CP_JAUTODETECT = 50932;
00177         const CODEPAGEID CP_KAUTODETECT = 50949;
00178         const CODEPAGEID CP_ISO2022JPESC = 50221;
00179         const CODEPAGEID CP_ISO2022JPSIO = 50222;
00180 
00181         const SHORT CCHMAX_CSET_NAME = 128;
00182         const SHORT CCHMAX_LANG_NAME = 128;
00183         const SHORT CCHMAX_FACE_NAME = 128;
00184 
00185         typedef struct tagINETCSETINFO
00186         {
00187             CHAR        szName[CCHMAX_CSET_NAME];
00188             HCHARSET    hCharset;
00189             CODEPAGEID  cpiWindows;
00190             CODEPAGEID  cpiInternet;
00191             DWORD       dwReserved1;
00192         } INETCSETINFO, *LPINETCSETINFO;
00193 
00194         typedef enum tagINETLANGMASK
00195         {
00196             ILM_FAMILY          = 0x01,
00197             ILM_NAME            = 0x02,
00198             ILM_BODYCSET        = 0x04,
00199             ILM_HEADERCSET      = 0x08,
00200             ILM_WEBCSET         = 0x10,
00201             ILM_FIXEDFONT       = 0x20,
00202             ILM_VARIABLEFONT    = 0x40,
00203         } INETLANGMASK;
00204 
00205         typedef struct tagCODEPAGEINFO
00206         {
00207             DWORD dwMask;
00208             CODEPAGEID cpiCodePage;
00209             BOOL fIsValidCodePage;
00210             ULONG ulMaxCharSize;
00211             BOOL fInternetCP;
00212             CODEPAGEID cpiFamily;
00213             CHAR szName[CCHMAX_LANG_NAME];
00214             CHAR szBodyCset[CCHMAX_CSET_NAME];
00215             CHAR szHeaderCset[CCHMAX_CSET_NAME];
00216             CHAR szWebCset[CCHMAX_CSET_NAME];
00217             CHAR szFixedFont[CCHMAX_FACE_NAME];
00218             CHAR szVariableFont[CCHMAX_FACE_NAME];
00219             ENCODINGTYPE ietNewsDefault;
00220             ENCODINGTYPE ietMailDefault;
00221             DWORD dwReserved1;
00222         } CODEPAGEINFO, *LPCODEPAGEINFO;
00223 
00224         typedef struct tagRFC1522INFO
00225         {
00226             BOOL fRfc1522Allowed;
00227             BOOL fRfc1522Used;
00228             BOOL fAllow8bit;
00229             HCHARSET hRfc1522Cset;
00230         } RFC1522INFO, *LPRFC1522INFO;
00231 
00232         typedef enum tagCHARSETTYPE
00233         {
00234             CHARSET_BODY,
00235             CHARSET_HEADER,
00236             CHARSET_WEB,
00237         } CHARSETTYPE;
00238 
00239 
00240         HRESULT SetDefaultCharset(
00241             [in]        HCHARSET hCharset);
00242         HRESULT GetDefaultCharset(
00243             [out]       LPHCHARSET phCharset);
00244         HRESULT GetCodePageCharset(
00245             [in]        CODEPAGEID cpiCodePage,
00246             [in]        CHARSETTYPE ctCsetType,
00247             [out]       LPHCHARSET phCharset);
00248         HRESULT FindCharset(
00249             [in]        LPCSTR pszCharset,
00250             [out]       LPHCHARSET phCharset);
00251         HRESULT GetCharsetInfo(
00252             [in]        HCHARSET hCharset,
00253             [in, out]   LPINETCSETINFO pCsetInfo);
00254         HRESULT GetCodePageInfo(
00255             [in]        CODEPAGEID cpiCodePage,
00256             [in, out]   LPCODEPAGEINFO pCodePageInfo);
00257         HRESULT CanConvertCodePages(
00258             [in]        CODEPAGEID cpiSource,
00259             [in]        CODEPAGEID cpiDest);
00260         HRESULT DecodeHeader(
00261             [in]        HCHARSET hCharset,
00262             [in]        LPCSTR pszData,
00263             [in, out]   LPPROPVARIANT pDecoded,
00264             [in, out]   LPRFC1522INFO pRfc1522Info);
00265         HRESULT EncodeHeader(
00266             [in]        HCHARSET hCharset,
00267             [in]        LPPROPVARIANT pData,
00268             [out]       LPSTR *ppszEncoded,
00269             [in, out]   LPRFC1522INFO pRfc1522Info);
00270         HRESULT ConvertBuffer(
00271             [in]        CODEPAGEID cpiSource,
00272             [in]        CODEPAGEID cpiDest,
00273             [in]        LPBLOB pIn,
00274             [in, out]   LPBLOB pOut,
00275             [out]       ULONG *pcbRead);
00276         HRESULT ConvertString(
00277             [in]        CODEPAGEID cpiSource,
00278             [in]        CODEPAGEID cpiDest,
00279             [in]        LPPROPVARIANT pIn,
00280             [in, out]   LPPROPVARIANT pOut);
00281         HRESULT MLANG_ConvertInetReset(void);
00282         HRESULT MLANG_ConvertInetString(
00283             [in]        CODEPAGEID cpiSource,
00284             [in]        CODEPAGEID cpiDest,
00285             [in]        LPCSTR pSource,
00286             [in]        int *pnSizeOfSource,
00287             [in,out,unique]  LPSTR pDestination,
00288             [in]        int *pnDstSize);
00289         HRESULT Rfc1522Decode(
00290             [in]        LPCSTR pszValue,
00291             [in,ref]    LPSTR pszCharset,
00292             [in]        ULONG cchmax,
00293             [out]       LPSTR *ppszDecoded);
00294         HRESULT Rfc1522Encode(
00295             [in]        LPCSTR pszValue,
00296             [in]        HCHARSET hCharset,
00297             [out]       LPSTR *ppszEncoded);
00298     }
00299 
00300     [
00301         uuid(c5588353-7f86-11d0-8252-00c04fd85ab4),
00302         object
00303     ]
00304     interface IMimeSecurity : IUnknown
00305     {
00306         typedef [unique] IMimeSecurity *LPMIMESECURITY;
00307 
00308         cpp_quote("#ifdef __WINE_WINCRYPT_H")
00309         cpp_quote("typedef PCCERT_CONTEXT PCX509CERT;")
00310         cpp_quote("#else")
00311         typedef const void *PCX509CERT;
00312         typedef void *HCERTSTORE;
00313         cpp_quote("#endif")
00314 
00315         typedef BLOB THUMBBLOB;
00316         typedef void *HCAPICERTSTORE;
00317 
00318         cpp_quote("#define MST_NONE             0x00000000")
00319         cpp_quote("#define MST_THIS_SIGN        0x00000001")
00320         cpp_quote("#define MST_THIS_ENCRYPT     0x00000002")
00321         cpp_quote("#define MST_BLOB_FLAG        0x00000004")
00322         cpp_quote("#define MST_THIS_BLOBSIGN    (MST_BLOB_FLAG | MST_THIS_SIGN)")
00323         cpp_quote("#define MST_CHILD_SIGN       0x00000100")
00324         cpp_quote("#define MST_CHILD_ENCRYPT    0x00000200")
00325         cpp_quote("#define MST_SUBMSG_SIGN      0x00001000")
00326         cpp_quote("#define MST_SUBMSG_ENCRYPT   0x00002000")
00327         cpp_quote("#define MST_RECEIPT_REQUEST  0x00010000")
00328         cpp_quote("#define MST_CLASS_SMIME_V1   0x00000000")
00329         cpp_quote("#define MST_CLASS_PGP        0x01000000")
00330 
00331         typedef enum tagCERTSTATE
00332         {
00333             CERTIFICATE_OK,
00334             CERTIFICATE_NOT_PRESENT,
00335             CERTIFICATE_EXPIRED,
00336             CERTIFICATE_CHAIN_TOO_LONG,
00337             CERTIFICATE_MISSING_ISSUER,
00338             CERTIFICATE_CRL_LISTED,
00339             CERTIFICATE_NOT_TRUSTED,
00340             CERTIFICATE_INVALID,
00341             CERTIFICATE_ERROR,
00342             CERTIFICATE_NOPRINT,
00343             CERTIFICATE_UNKNOWN
00344         } CERTSTATE;
00345 
00346         typedef enum tagCERTNAMETYPE
00347         {
00348             SIMPLE,
00349             OID,
00350             X500,
00351         } CERTNAMETYPE;
00352 
00353         typedef enum tagCERTDATAID
00354         {
00355             CDID_EMAIL,
00356             CDID_MAX
00357         } CERTDATAID;
00358 
00359         typedef struct tagX509CERTRESULT
00360         {
00361             DWORD       cEntries;
00362             CERTSTATE  *rgcs;
00363             PCX509CERT *rgpCert;
00364         } X509CERTRESULT, *PX509CERTRESULT;
00365         typedef const X509CERTRESULT *PCX509CERTRESULT;
00366 
00367         HRESULT InitNew(void);
00368 
00369         HRESULT CheckInit(void);
00370 
00371         HRESULT EncodeMessage(
00372             [in]    IMimeMessageTree */*const*/ pTree,
00373             [in]    DWORD dwFlags);
00374 
00375         HRESULT EncodeBody(
00376             [in]    IMimeMessageTree */*const*/ pTree,
00377             [in]    HBODY hEncodeRoot,
00378             [in]    DWORD dwFlags);
00379 
00380         HRESULT DecodeMessage(
00381             [in]    IMimeMessageTree */*const*/ pTree,
00382             [in]    DWORD dwFlags);
00383 
00384         HRESULT DecodeBody(
00385             [in]    IMimeMessageTree */*const*/ pTree,
00386             [in]    HBODY hDecodeRoot,
00387             [in]    DWORD dwFlags);
00388 
00389         HRESULT EnumCertificates(
00390             [in]    HCAPICERTSTORE hc,
00391             [in]    DWORD dwUsage,
00392             [in]    PCX509CERT pPrev,
00393             [out]   PCX509CERT *ppCert);
00394 
00395         HRESULT GetCertificateName(
00396             [in]    const PCX509CERT pX509Cert,
00397             [in]    const CERTNAMETYPE cn,
00398             [out]   LPSTR *ppszName);
00399 
00400         HRESULT GetMessageType(
00401             [in]    const HWND hwndParent,
00402             [in]    IMimeBody */*const*/ pBody,
00403             [out]   DWORD */*const*/ pdwSecType);
00404 
00405         HRESULT GetCertData(
00406             [in]        const PCX509CERT pX509Cert,
00407             [in]        const CERTDATAID dataid,
00408             [out, ref]  LPPROPVARIANT pValue);
00409     }
00410 
00411     [
00412         uuid(fd853cd1-7f86-11d0-8252-00c04fd85ab4),
00413         object
00414     ]
00415     interface IMimeHeaderTable : IPersistStream
00416     {
00417         /* FIXME: fill this in */
00418     }
00419 
00420     [
00421         uuid(fd853cec-7f86-11d0-8252-00c04fd85ab4),
00422         object
00423     ]
00424     interface IMimePropertySchema : IUnknown
00425     {
00426         typedef enum tagMIMEPROPFLAGS
00427         {
00428             MPF_INETCSET            = 0x01,
00429             MPF_RFC1522             = 0x02,
00430             MPF_ADDRESS             = 0x04,
00431             MPF_HASPARAMS           = 0x08,
00432             MPF_MIME                = 0x10,
00433             MPF_READONLY            = 0x20
00434         } MIMEPROPFLAGS;
00435 
00436         /* FIXME: fill this in */
00437     }
00438 
00439     [
00440         uuid(fd853cd3-7f86-11d0-8252-00c04fd85ab4),
00441         object
00442     ]
00443     interface IMimePropertySet : IPersistStreamInit
00444     {
00445         typedef [unique] IMimePropertySet *LPMIMEPROPERTYSET;
00446 
00447         cpp_quote("#define PDF_ENCODED              0x00000001")
00448         cpp_quote("#define PDF_NAMEINDATA           0x00000002")
00449         cpp_quote("#define PDF_HEADERFORMAT        (0x00000004 | PDF_ENCODED)")
00450         cpp_quote("#define PDF_NOCOMMENTS           0x00000008")
00451         cpp_quote("#define PDF_SAVENOENCODE         0x00000010")
00452         cpp_quote("#define PDF_VECTOR               0x00000020")
00453 
00454         typedef struct tagMIMEPARAMINFO
00455         {
00456             LPSTR           pszName;
00457             LPSTR           pszData;
00458         } MIMEPARAMINFO, *LPMIMEPARAMINFO;
00459 
00460         typedef enum tagPROPINFOMASK
00461         {
00462             PIM_CHARSET           = 0x01,
00463             PIM_ENCODINGTYPE      = 0x02,
00464             PIM_ROWNUMBER         = 0x04,
00465             PIM_FLAGS             = 0x08,
00466             PIM_PROPID            = 0x10,
00467             PIM_VALUES            = 0x20,
00468             PIM_VTDEFAULT         = 0x40,
00469             PIM_VTCURRENT         = 0x80
00470         } PROPINFOMASK;
00471 
00472         typedef struct tagMIMEPROPINFO
00473         {
00474             DWORD           dwMask;
00475             HCHARSET        hCharset;
00476             ENCODINGTYPE    ietEncoding;
00477             DWORD           dwRowNumber;
00478             DWORD           dwFlags;
00479             DWORD           dwPropId;
00480             DWORD           cValues;
00481             VARTYPE         vtDefault;
00482             VARTYPE         vtCurrent;
00483         } MIMEPROPINFO, *LPMIMEPROPINFO;
00484         typedef const MIMEPROPINFO *LPCMIMEPROPINFO;
00485 
00486         HRESULT GetPropInfo(
00487             [in]        LPCSTR               pszName,
00488             [in,out]    LPMIMEPROPINFO       pInfo);
00489 
00490         HRESULT SetPropInfo(
00491             [in]        LPCSTR               pszName,
00492             [in]        LPCMIMEPROPINFO      pInfo);
00493 
00494 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
00495 cpp_quote("#undef GetProp")
00496 cpp_quote("#undef SetProp")
00497 cpp_quote("#undef EnumProps")
00498 cpp_quote("#endif")
00499         HRESULT GetProp(
00500             [in]        LPCSTR               pszName,
00501             [in]        DWORD                dwFlags,
00502             [in,out]    LPPROPVARIANT        pValue);
00503 
00504         HRESULT SetProp(
00505             [in]        LPCSTR               pszName,
00506             [in]        DWORD                dwFlags,
00507             [in]        LPCPROPVARIANT       pValue);
00508 
00509         HRESULT AppendProp(
00510             [in]        LPCSTR               pszName,
00511             [in]        DWORD                dwFlags,
00512             [in]        LPPROPVARIANT        pValue);
00513 
00514         HRESULT DeleteProp(
00515             [in]        LPCSTR               pszName);
00516 
00517         HRESULT CopyProps(
00518             [in]        ULONG                cNames,
00519             [in,unique] LPCSTR               *prgszName,
00520             [in]        IMimePropertySet     *pPropertySet);
00521 
00522         HRESULT MoveProps(
00523             [in]        ULONG                cNames,
00524             [in]        LPCSTR               *prgszName,
00525             [in]        IMimePropertySet     *pPropertySet);
00526 
00527         HRESULT DeleteExcept(
00528             [in]        ULONG                cNames,
00529             [in]        LPCSTR               *prgszName);
00530 
00531         HRESULT QueryProp(
00532             [in]        LPCSTR               pszName,
00533             [in]        LPCSTR               pszCriteria,
00534             [in]        boolean              fSubString,
00535             [in]        boolean              fCaseSensitive);
00536 
00537         HRESULT GetCharset(
00538             [out]       LPHCHARSET           phCharset);
00539 
00540         HRESULT SetCharset(
00541             [in]        HCHARSET             hCharset,
00542             [in]        CSETAPPLYTYPE        applytype);
00543 
00544         HRESULT GetParameters(
00545             [in]        LPCSTR               pszName,
00546             [out]       ULONG                *pcParams,
00547             [out]       LPMIMEPARAMINFO      *pprgParam);
00548 
00549         HRESULT IsContentType(
00550             [in]        LPCSTR               pszPriType,
00551             [in,unique] LPCSTR               pszSubType);
00552 
00553         HRESULT BindToObject(
00554             [in]        REFIID               riid,
00555             [out,iid_is(riid)] void          **ppvObject);
00556 
00557         HRESULT Clone(
00558             [out]       IMimePropertySet     **ppPropertySet);
00559 
00560         HRESULT SetOption(
00561             [in]        const TYPEDID        oid,
00562             [in]        LPCPROPVARIANT       pValue);
00563 
00564         HRESULT GetOption(
00565             [in]        const TYPEDID        oid,
00566             [in,out]    LPPROPVARIANT        pValue);
00567 
00568         cpp_quote("#define EPF_NONAME 0x00000001")
00569 
00570         HRESULT EnumProps(
00571             [in]        DWORD                dwFlags,
00572             [out]       IMimeEnumProperties  **ppEnum);
00573 
00574     }
00575 
00576     [
00577         uuid(c558834a-7f86-11d0-8252-00c04fd85ab4),
00578         object
00579     ]
00580     interface IMimeAddressTable : IUnknown
00581     {
00582         typedef [unique] IMimeAddressTable *LPMIMEADDRESSTABLE;
00583 
00584         DECLARE_HANDLE(HADDRESS);
00585         typedef HADDRESS *LPHADDRESS;
00586         typedef DWORD IADDRESSTYPE;
00587 
00588         typedef enum tagADDRESSFORMAT
00589         {
00590             AFT_DISPLAY_FRIENDLY,
00591             AFT_DISPLAY_EMAIL,
00592             AFT_DISPLAY_BOTH,
00593             AFT_RFC822_DECODED,
00594             AFT_RFC822_ENCODED,
00595             AFT_RFC822_TRANSMIT,
00596         } ADDRESSFORMAT;
00597 
00598         typedef struct tagADDRESSPROPS
00599         {
00600             DWORD           dwProps;
00601             HADDRESS        hAddress;
00602             ENCODINGTYPE    ietFriendly;
00603             HCHARSET        hCharset;
00604             DWORD           dwAdrType;
00605             LPSTR           pszFriendly;
00606             LPWSTR          pwszReserved;
00607             LPSTR           pszEmail;
00608             CERTSTATE       certstate;
00609             THUMBBLOB       tbSigning;
00610             THUMBBLOB       tbEncryption;
00611             DWORD           dwCookie;
00612             DWORD           dwReserved1;
00613             DWORD           dwReserved2;
00614         } ADDRESSPROPS, *LPADDRESSPROPS;
00615 
00616         typedef struct tagADDRESSLIST
00617         {
00618             ULONG           cAdrs;
00619             LPADDRESSPROPS  prgAdr;
00620         } ADDRESSLIST, *LPADDRESSLIST;
00621 
00622         /* FIXME: fill this in */
00623     }
00624 
00625     [
00626         uuid(ee519f11-851a-11d0-8252-00c04fd85ab4),
00627         object
00628     ]
00629     interface IMimeWebDocument : IUnknown
00630     {
00631         /* FIXME: fill this in */
00632     }
00633 
00634     [
00635         uuid(c558834c-7f86-11d0-8252-00c04fd85ab4),
00636         object
00637     ]
00638     interface IMimeBody : IMimePropertySet
00639     {
00640         typedef [unique] IMimeBody *LPMIMEBODY;
00641 
00642         typedef enum tagIMSGBODYTYPE
00643         {
00644             IBT_SECURE,
00645             IBT_ATTACHMENT,
00646             IBT_EMPTY,
00647             IBT_CSETTAGGED,
00648             IBT_AUTOATTACH,
00649         } IMSGBODYTYPE;
00650 
00651         typedef struct tagBODYOFFSETS
00652         {
00653             DWORD cbBoundaryStart;
00654             DWORD cbHeaderStart;
00655             DWORD cbBodyStart;
00656             DWORD cbBodyEnd;
00657         } BODYOFFSETS, *LPBODYOFFSETS;
00658 
00659         typedef struct tagTRANSMITINFO
00660         {
00661             ENCODINGTYPE ietCurrent;
00662             ENCODINGTYPE ietXmitMime;
00663             ENCODINGTYPE ietXmit822;
00664             ULONG cbLongestLine;
00665             ULONG cExtended;
00666             ULONG ulPercentExt;
00667             ULONG cbSize;
00668             ULONG cLines;
00669         } TRANSMITINFO, *LPTRANSMITINFO;
00670 
00671         HRESULT IsType(
00672             [in]        IMSGBODYTYPE     bodytype);
00673 
00674         HRESULT SetDisplayName(
00675             [in]        LPCSTR           pszDisplay);
00676 
00677         HRESULT GetDisplayName(
00678             [out]       LPSTR            *ppszDisplay);
00679 
00680         HRESULT GetOffsets(
00681             [out]       LPBODYOFFSETS     pOffsets);
00682 
00683         HRESULT GetCurrentEncoding(
00684             [out]       ENCODINGTYPE     *pietEncoding);
00685 
00686         HRESULT SetCurrentEncoding(
00687             [in]        ENCODINGTYPE     ietEncoding);
00688 
00689         HRESULT GetEstimatedSize(
00690             [in]        ENCODINGTYPE     ietEncoding,
00691             [out]       ULONG            *pcbSize);
00692 
00693         HRESULT GetDataHere(
00694             [in]        ENCODINGTYPE     ietEncoding,
00695             [in]        IStream          *pStream);
00696 
00697         HRESULT GetData(
00698             [in]        ENCODINGTYPE     ietEncoding,
00699             [out]       IStream          **ppStream);
00700 
00701         HRESULT SetData(
00702             [in]        ENCODINGTYPE     ietEncoding,
00703             [in,unique] LPCSTR           pszPriType,
00704             [in,unique] LPCSTR           pszSubType,
00705             [in]        REFIID           riid,
00706             [in,iid_is(riid)]  LPVOID    pvObject);
00707 
00708         HRESULT EmptyData(void);
00709 
00710         HRESULT CopyTo(
00711             [in]        IMimeBody        *pBody);
00712 
00713         HRESULT GetTransmitInfo(
00714             [in,out]    LPTRANSMITINFO   pTransmitInfo);
00715 
00716         HRESULT SaveToFile(
00717             [in]        ENCODINGTYPE     ietEncoding,
00718             [in]        LPCSTR           pszFilePath);
00719 
00720         HRESULT GetHandle(
00721            [out]        LPHBODY          phBody);
00722 
00723     }
00724 
00725     [
00726         uuid(fd853cd4-7f86-11d0-8252-00c04fd85ab4),
00727         object
00728     ]
00729     interface IMimeMessageTree : IPersistStreamInit
00730     {
00731         typedef [unique] IMimeMessageTree *LPMIMEMESSAGETREE;
00732 
00733         const HBODY HBODY_ROOT = (HBODY)-1;
00734 
00735         typedef enum tagBODYLOCATION
00736         {
00737             IBL_ROOT,
00738             IBL_PARENT,
00739             IBL_FIRST,
00740             IBL_LAST,
00741             IBL_NEXT,
00742             IBL_PREVIOUS,
00743         } BODYLOCATION;
00744 
00745         typedef struct tagFINDBODY
00746         {
00747             LPSTR pszPriType;
00748             LPSTR pszSubType;
00749             DWORD dwReserved;
00750         } FINDBODY, *LPFINDBODY;
00751 
00752         HRESULT GetMessageSource(
00753             [out]       IStream **ppStream,
00754             [in]        DWORD dwFlags);
00755 
00756         HRESULT GetMessageSize(
00757             [out]       ULONG *pcbSize,
00758             [in]        DWORD dwFlags);
00759 
00760         HRESULT LoadOffsetTable(
00761             [in]        IStream *pStream);
00762 
00763         HRESULT SaveOffsetTable(
00764             [in]        IStream *pStream,
00765             [in]        DWORD dwFlags);
00766 
00767         HRESULT GetFlags(
00768             [out]       DWORD *pdwFlags);
00769 
00770         HRESULT Commit(
00771             [in]        DWORD dwFlags);
00772 
00773         HRESULT HandsOffStorage();
00774 
00775         HRESULT BindToObject(
00776             [in]        const HBODY hBody,
00777             [in]        REFIID riid,
00778             [out, iid_is(riid)] void **ppvObject);
00779 
00780         HRESULT SaveBody(
00781             [in]        HBODY hBody,
00782             [in]        DWORD dwFlags,
00783             [in]        IStream *pStream);
00784 
00785         HRESULT InsertBody(
00786             [in]        BODYLOCATION location,
00787             [in]        HBODY hPivot,
00788             [out]       LPHBODY phBody);
00789 
00790         HRESULT GetBody(
00791             [in]        BODYLOCATION location,
00792             [in]        HBODY hPivot,
00793             [out]       LPHBODY phBody);
00794 
00795         HRESULT DeleteBody(
00796             [in]        HBODY hBody,
00797             [in]        DWORD dwFlags);
00798 
00799         HRESULT MoveBody(
00800             [in]        HBODY hBody,
00801             [in]        BODYLOCATION location);
00802 
00803         HRESULT CountBodies(
00804             [in]        HBODY hParent,
00805             [in]        boolean fRecurse,
00806             [out]       ULONG *pcBodies);
00807 
00808         HRESULT FindFirst(
00809             [in, out]   LPFINDBODY pFindBody,
00810             [out]       LPHBODY phBody);
00811 
00812         HRESULT FindNext(
00813             [in, out]   LPFINDBODY pFindBody,
00814             [out]       LPHBODY phBody);
00815 
00816         HRESULT ResolveURL(
00817             [in]        HBODY hRelated,
00818             [in]        LPCSTR pszBase,
00819             [in]        LPCSTR pszURL,
00820             [in]        DWORD dwFlags,
00821             [out]       LPHBODY phBody);
00822 
00823         HRESULT ToMultipart(
00824             [in]        HBODY hBody,
00825             [in]        LPCSTR pszSubType,
00826             [out]       LPHBODY phMultipart);
00827 
00828         HRESULT GetBodyOffsets(
00829             [in]        HBODY hBody,
00830             [in, out]   LPBODYOFFSETS pOffsets);
00831 
00832         HRESULT GetCharset(
00833             [out]       LPHCHARSET phCharset);
00834 
00835         HRESULT SetCharset(
00836             [in]        HCHARSET hCharset,
00837             [in]        CSETAPPLYTYPE applytype);
00838 
00839         HRESULT IsBodyType(
00840             [in]        HBODY hBody,
00841             [in]        IMSGBODYTYPE bodytype);
00842 
00843         HRESULT IsContentType(
00844             [in]        HBODY hBody,
00845             [in]        LPCSTR pszPriType,
00846             [in]        LPCSTR pszSubType);
00847 
00848         HRESULT QueryBodyProp(
00849             [in]        HBODY hBody,
00850             [in]        LPCSTR pszName,
00851             [in]        LPCSTR pszCriteria,
00852             [in]        boolean fSubString,
00853             [in]        boolean fCaseSensitive);
00854 
00855         HRESULT GetBodyProp(
00856             [in]        HBODY hBody,
00857             [in]        LPCSTR pszName,
00858             [in]        DWORD dwFlags,
00859             [in, out]   LPPROPVARIANT pValue);
00860 
00861         HRESULT SetBodyProp(
00862             [in]        HBODY hBody,
00863             [in]        LPCSTR pszName,
00864             [in]        DWORD dwFlags,
00865             [in]        LPCPROPVARIANT pValue);
00866 
00867         HRESULT DeleteBodyProp(
00868             [in]        HBODY hBody,
00869             [in]        LPCSTR pszName);
00870 
00871         HRESULT SetOption(
00872             [in]        const TYPEDID oid,
00873             [in]        LPCPROPVARIANT pValue);
00874 
00875         HRESULT GetOption(
00876             [in]        const TYPEDID oid,
00877             [in, out]   LPPROPVARIANT pValue);
00878     }
00879 
00880     [
00881         uuid(fd853cd5-7f86-11d0-8252-00c04fd85ab4),
00882         object
00883     ]
00884     interface IMimeMessage : IMimeMessageTree
00885     {
00886         typedef [unique] IMimeMessage *LPMIMEMESSAGE;
00887 
00888         typedef DWORD TEXTTYPE;
00889 
00890         typedef enum tagIMSGFLAGS
00891         {
00892             IMF_ATTACHMENTS     = 0x00000001,
00893             IMF_MULTIPART       = 0x00000002,
00894             IMF_SUBMULTIPART    = 0x00000004,
00895             IMF_MIME            = 0x00000008,
00896             IMF_HTML            = 0x00000010,
00897             IMF_PLAIN           = 0x00000020,
00898             IMF_PARTIAL         = 0x00000040,
00899             IMF_SIGNED          = 0x00000080,
00900             IMF_ENCRYPTED       = 0x00000100,
00901             IMF_TNEF            = 0x00000200,
00902             IMF_MHTML           = 0x00000400,
00903             IMF_SECURE          = 0x00000800,
00904             IMF_TEXT            = 0x00001000,
00905             IMF_CSETTAGGED      = 0x00002000,
00906             IMF_NEWS            = 0x00004000,
00907             IMF_VOICEMAIL       = 0x00008000,
00908             IMF_HASVCARD        = 0x00010000,
00909             IMF_RFC1154         = 0x00020000,
00910         } IMSGFLAGS;
00911 
00912         typedef enum tagIMSGPRIORITY
00913         {
00914             IMSG_PRI_LOW    = 5,
00915             IMSG_PRI_NORMAL = 3,
00916             IMSG_PRI_HIGH   = 1,
00917         } IMSGPRIORITY;
00918 
00919         cpp_quote("#define WPF_HTML             0x00000001")
00920         cpp_quote("#define WPF_AUTOINLINE       0x00000002")
00921         cpp_quote("#define WPF_SLIDESHOW        0x00000004")
00922         cpp_quote("#define WPF_ATTACHLINKS      0x00000008")
00923         cpp_quote("#define WPF_IMAGESONLY       0x00000010")
00924         cpp_quote("#define WPF_NOMETACHARSET    0x00000020")
00925 
00926         typedef struct tagWEPAGEOPTIONS
00927         {
00928             DWORD cbSize;
00929             DWORD dwFlags;
00930             DWORD dwDelay;
00931             WCHAR wchQuote;
00932         } WEBPAGEOPTIONS, *LPWEBPAGEOPTIONS;
00933 
00934         cpp_quote("#define TXT_PLAIN       1")
00935         cpp_quote("#define TXT_HTML        2")
00936 
00937         HRESULT CreateWebPage(
00938             [in]        IStream *pRootStm,
00939             [in]        LPWEBPAGEOPTIONS pOptions,
00940             [in]        IMimeMessageCallback *pCallback,
00941             [out]       IMoniker **ppMoniker);
00942 
00943         HRESULT GetProp(
00944             [in]        LPCSTR pszName,
00945             [in]        DWORD dwFlags,
00946             [in,out]    LPPROPVARIANT pValue);
00947 
00948         HRESULT SetProp(
00949             [in]        LPCSTR pszName,
00950             [in]        DWORD dwFlags,
00951             [in]        LPCPROPVARIANT pValue);
00952 
00953         HRESULT DeleteProp(
00954             [in]        LPCSTR pszName);
00955 
00956         HRESULT QueryProp(
00957             [in]        LPCSTR pszName,
00958             [in]        LPCSTR pszCriteria,
00959             [in]        boolean fSubString,
00960             [in]        boolean fCaseSensitive);
00961 
00962         HRESULT GetTextBody(
00963             [in]        DWORD dwTxtType,
00964             [in]        ENCODINGTYPE ietEncoding,
00965             [out]       IStream **pStream,
00966             [out]       LPHBODY phBody);
00967 
00968         HRESULT SetTextBody(
00969             [in]        DWORD dwTxtType,
00970             [in]        ENCODINGTYPE ietEncoding,
00971             [in]        HBODY hAlternative,
00972             [in]        IStream *pStream,
00973             [out]       LPHBODY phBody);
00974 
00975         HRESULT AttachObject(
00976             [in]        REFIID riid,
00977             [in, iid_is(riid)] void *pvObject,
00978             [out]       LPHBODY phBody);
00979 
00980         HRESULT AttachFile(
00981             [in]        LPCSTR pszFilePath,
00982             [in]        IStream *pstmFile,
00983             [out]       LPHBODY phBody);
00984 
00985         HRESULT AttachURL(
00986             [in]        LPCSTR pszBase,
00987             [in]        LPCSTR pszURL,
00988             [in]        DWORD dwFlags,
00989             [in]        IStream *pstmURL,
00990             [out]       LPSTR *ppszCIDURL,
00991             [out]       LPHBODY phBody);
00992 
00993         HRESULT GetAttachments(
00994             [out]       ULONG *pcAttach,
00995             [out]       LPHBODY *pprghAttach);
00996 
00997         HRESULT GetAddressTable(
00998             [out]       IMimeAddressTable **ppTable);
00999 
01000         HRESULT GetSender(
01001             [in, out]   LPADDRESSPROPS pAddress);
01002 
01003         HRESULT GetAddressTypes(
01004             [in]        DWORD dwAdrTypes,
01005             [in]        DWORD dwProps,
01006             [in, out]   LPADDRESSLIST pList);
01007 
01008         HRESULT GetAddressFormat(
01009             [in]        DWORD dwAdrTypes,
01010             [in]        ADDRESSFORMAT format,
01011             [out]       LPSTR *ppszFormat);
01012 
01013         HRESULT EnumAddressTypes(
01014             [in]        DWORD dwAdrTypes,
01015             [in]        DWORD dwProps,
01016             [out]       IMimeEnumAddressTypes **ppEnum);
01017 
01018         HRESULT SplitMessage(
01019             [in]        ULONG cbMaxPart,
01020             [out]       IMimeMessageParts **ppParts);
01021 
01022         HRESULT GetRootMoniker(
01023             [out]       IMoniker **ppMoniker);
01024     }
01025 
01026     [
01027         uuid(761aa741-7bda-11d1-8aa9-00c04fb951f3),
01028         object
01029     ]
01030     interface IMimeMessageCallback : IUnknown
01031     {
01032         HRESULT OnWebPageSplitter(
01033             [in]       DWORD cInlined,
01034             [in]       IStream *ppStream);
01035     }
01036 
01037     [
01038         uuid(de4ad8da-555f-11d1-8dd0-00c04fb951f9),
01039         object
01040     ]
01041     interface IPersistMime : IPersist
01042     {
01043         /* FIXME: fill this in */
01044     }
01045 
01046     [
01047         uuid(c558834f-7f86-11d0-8252-00c04fd85ab4),
01048         object
01049     ]
01050     interface IMimeMessageParts : IUnknown
01051     {
01052         /* FIXME: fill this in */
01053     }
01054 
01055     [
01056         uuid(c558834d-7f86-11d0-8252-00c04fd85ab4),
01057         object
01058     ]
01059     interface IMimeEnumHeaderRows : IUnknown
01060     {
01061         typedef struct tagENUMHEADERROW
01062         {
01063             HHEADERROW   hRow;
01064             LPSTR        pszHeader;
01065             LPSTR        pszData;
01066             ULONG        cchData;
01067             DWORD_PTR    dwReserved;
01068         } ENUMHEADERROW, *LPENUMHEADERROW;
01069 
01070         /* FIXME: fill this in */
01071     }
01072 
01073     [
01074         uuid(fd853cee-7f86-11d0-8252-00c04fd85ab4),
01075         object
01076     ]
01077     interface IMimeEnumProperties : IUnknown
01078     {
01079         typedef [unique] IMimeEnumProperties *LPMIMEENUMPROPERTIES;
01080 
01081         typedef struct tagENUMPROPERTY
01082         {
01083             LPSTR       pszName;
01084             HHEADERROW  hRow;
01085             DWORD       dwPropId;
01086         } ENUMPROPERTY, *LPENUMPROPERTY;
01087 
01088         HRESULT Next(
01089             [in]      ULONG cFetch,
01090             [in, out] LPENUMPROPERTY prgProp,
01091             [out]     ULONG *pcFetched);
01092 
01093         HRESULT Skip(
01094             [in]      ULONG cItems);
01095 
01096         HRESULT Reset(void);
01097 
01098         HRESULT Clone(
01099             [out]      IMimeEnumProperties **ppEnum);
01100 
01101         HRESULT Count(
01102             [out]      ULONG *pcItems);
01103 
01104     }
01105 
01106     [
01107         uuid(c5588354-7f86-11d0-8252-00c04fd85ab4),
01108         object
01109     ]
01110     interface IMimeEnumAddressTypes : IUnknown
01111     {
01112         /* FIXME: fill this in */
01113     }
01114 
01115     [
01116         uuid(c5588350-7f86-11d0-8252-00c04fd85ab4),
01117         object
01118     ]
01119     interface IMimeEnumMessageParts : IUnknown
01120     {
01121         /* FIXME: fill this in */
01122     }
01123 
01124     [
01125         uuid(64577981-86d7-11d1-bdfc-00c04fa31009),
01126         object
01127     ]
01128     interface IHashTable : IUnknown
01129     {
01130         /* FIXME: fill this in */
01131     }
01132 
01133     [
01134         uuid(c5588351-7f86-11d0-8252-00c04fd85ab4),
01135         object
01136     ]
01137     interface IMimeAllocator : IMalloc
01138     {
01139         typedef [unique] IMimeAllocator *LPMIMEALLOCATOR;
01140 
01141         HRESULT FreeParamInfoArray(
01142             [in] ULONG            cParams,
01143             [in] LPMIMEPARAMINFO  prgParam,
01144             [in] boolean          fFreeArray);
01145 
01146         HRESULT FreeAddressList(
01147             [in,out] LPADDRESSLIST pList);
01148 
01149         HRESULT FreeAddressProps(
01150             [in,out] LPADDRESSPROPS pAddress);
01151 
01152         HRESULT ReleaseObjects(
01153             [in] ULONG            cObjects,
01154             [in] IUnknown         **prgpUnknown,
01155             [in] boolean          fFreeArray);
01156 
01157         HRESULT FreeEnumHeaderRowArray(
01158             [in] ULONG            cRows,
01159             [in] LPENUMHEADERROW  prgRow,
01160             [in] boolean          fFreeArray);
01161 
01162         HRESULT FreeEnumPropertyArray(
01163             [in] ULONG            cProps,
01164             [in] LPENUMPROPERTY   prgProp,
01165             [in] boolean          fFreeArray);
01166 
01167         HRESULT FreeThumbprint(
01168             [in] THUMBBLOB         *pthumbprint);
01169 
01170         HRESULT PropVariantClear(
01171             [in] LPPROPVARIANT     pProp);
01172 
01173     }
01174 
01175     [
01176         uuid(feceaffd-c441-11d1-960e-00c04fbd7c09),
01177         object
01178     ]
01179     interface IMimeObjResolver : IUnknown
01180     {
01181         /* FIXME: fill this in */
01182     }
01183 
01184     [
01185         uuid(b0d17fc2-7bc4-11d1-bdfa-00c04fa31009),
01186         object
01187     ]
01188     interface IFontCache : IUnknown
01189     {
01190         /* FIXME: fill this in */
01191     }
01192 
01193     [
01194         uuid(b0d17fc5-7bc4-11d1-bdfa-00c04fa31009),
01195         object
01196     ]
01197     interface IFontCacheNotify : IUnknown
01198     {
01199         /* FIXME: fill this in */
01200     }
01201 
01202     [
01203         uuid(70183210-7b36-11d2-8c12-00c04fa31009),
01204         object
01205     ]
01206     interface IMimeEditTag : IUnknown
01207     {
01208         /* FIXME: fill this in */
01209     }
01210 
01211     [
01212         uuid(d09ee528-7b38-11d2-8c12-00c04fa31009),
01213         object
01214     ]
01215     interface IMimeEditTagCollection : IUnknown
01216     {
01217         /* FIXME: fill this in */
01218     }
01219 
01220     [
01221          uuid(ba715ae0-a740-11d2-8b22-0080c76b34c6),
01222          local
01223     ]
01224     interface IMimeSecurityCallback : IUnknown
01225     {
01226         /* FIXME: fill this in */
01227 
01228         cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_UNKNOWN                0")
01229         cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_KEYTRANS               1")
01230         cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_KEYAGREE               2")
01231         cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_MAIL_LIST              3")
01232 
01233         cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_CERTIFICATE          0")
01234         cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_KEYTRANS             1")
01235         cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_PROVIDER             2")
01236         cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_EPHEMERAL_KEYAGREE   3")
01237         cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_STATIC_KEYAGREE      4")
01238 
01239         cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_CERTIFICATE           0")
01240         cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_ISSUERSERIAL          1")
01241         cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_KEY_ID                2")
01242 
01243     }
01244 }
01245 
01246 cpp_quote("#ifdef __cplusplus")
01247 cpp_quote(" extern \"C\" {")
01248 cpp_quote("#endif")
01249 
01250 cpp_quote("")
01251 cpp_quote("HRESULT WINAPI MimeOleSetCompatMode(DWORD);")
01252 cpp_quote("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);")
01253 cpp_quote("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);")
01254 cpp_quote("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);")
01255 cpp_quote("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);")
01256 cpp_quote("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);")
01257 cpp_quote("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);")
01258 cpp_quote("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);")
01259 cpp_quote("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
01260 cpp_quote("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
01261 cpp_quote("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);")
01262 cpp_quote("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);")
01263 cpp_quote("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);")
01264 cpp_quote("HRESULT WINAPI MimeOleCreateByteStream(IStream**);")
01265 cpp_quote("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);")
01266 cpp_quote("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);")
01267 cpp_quote("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);")
01268 cpp_quote("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);")
01269 cpp_quote("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);")
01270 cpp_quote("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);")
01271 cpp_quote("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);")
01272 cpp_quote("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);")
01273 cpp_quote("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);")
01274 cpp_quote("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);")
01275 cpp_quote("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);")
01276 cpp_quote("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);")
01277 cpp_quote("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);")
01278 cpp_quote("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);")
01279 cpp_quote("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);")
01280 cpp_quote("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);")
01281 cpp_quote("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);")
01282 cpp_quote("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);")
01283 cpp_quote("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);")
01284 cpp_quote("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);")
01285 cpp_quote("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);")
01286 cpp_quote("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);")
01287 cpp_quote("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);")
01288 cpp_quote("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);")
01289 cpp_quote("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);")
01290 cpp_quote("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);")
01291 cpp_quote("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);")
01292 cpp_quote("HRESULT WINAPI MimeOleIsTnefStream(IStream*);")
01293 cpp_quote("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);")
01294 cpp_quote("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);")
01295 cpp_quote("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);")
01296 cpp_quote("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);")
01297 cpp_quote("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);")
01298 cpp_quote("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);")
01299 cpp_quote("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);")
01300 cpp_quote("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);")
01301 cpp_quote("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);")
01302 cpp_quote("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);")
01303 cpp_quote("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);")
01304 cpp_quote("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);")
01305 cpp_quote("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);")
01306 cpp_quote("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);")
01307 cpp_quote("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);")
01308 cpp_quote("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);")
01309 cpp_quote("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);")
01310 cpp_quote("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);")
01311 cpp_quote("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);")
01312 cpp_quote("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);")
01313 cpp_quote("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);")
01314 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);")
01315 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);")
01316 cpp_quote("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);")
01317 cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);")
01318 cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);")
01319 cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
01320 cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
01321 cpp_quote("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);")
01322 cpp_quote("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);")
01323 cpp_quote("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);")
01324 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);")
01325 cpp_quote("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);")
01326 cpp_quote("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);")
01327 
01328 cpp_quote("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);")
01329 cpp_quote("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);")
01330 cpp_quote("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);")
01331 cpp_quote("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);")
01332 cpp_quote("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);")
01333 cpp_quote("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);")
01334 
01335 cpp_quote("#ifdef __cplusplus")
01336 cpp_quote("}")
01337 cpp_quote("#endif")

Generated on Sat May 26 2012 04:30:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.