2 * Copyright 2007 Robert Shearman for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #define DECLARE_HANDLE
(name
) typedef void *name
25 interface IMimeMessageCallback
;
26 interface IMimeEnumAddressTypes
;
27 interface IMimeMessageParts
;
28 interface IMimeMessageTree
;
30 interface IMimeEnumProperties
;
32 cpp_quote
("DEFINE_GUID(CLSID_IMimeBody, 0xfd853cdb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
33 cpp_quote
("DEFINE_GUID(CLSID_IMimeMessage, 0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
35 cpp_quote
("#define MIME_E_REG_CREATE_KEY 0x800cce01")
36 cpp_quote
("#define MIME_E_REG_QUERY_INFO 0x800cce02")
37 cpp_quote
("#define MIME_E_INVALID_ENCTYPE 0x800cce03")
38 cpp_quote
("#define MIME_E_BOUNDARY_MISMATCH 0x800cce04")
39 cpp_quote
("#define MIME_E_NOT_FOUND 0x800cce05")
40 cpp_quote
("#define MIME_E_NO_DATA 0x800cce05")
41 cpp_quote
("#define MIME_E_BUFFER_TOO_SMALL 0x800cce06")
43 cpp_quote
("typedef enum tagMIMEPROPID {")
44 cpp_quote
(" PID_HDR_NEWSGROUP = 2,")
45 cpp_quote
(" PID_HDR_NEWSGROUPS = 3,")
46 cpp_quote
(" PID_HDR_REFS = 4,")
47 cpp_quote
(" PID_HDR_SUBJECT = 5,")
48 cpp_quote
(" PID_HDR_FROM = 6,")
49 cpp_quote
(" PID_HDR_MESSAGEID = 7,")
50 cpp_quote
(" PID_HDR_RETURNPATH = 8,")
51 cpp_quote
(" PID_HDR_RR = 9,")
52 cpp_quote
(" PID_HDR_RETRCPTO = 10,")
53 cpp_quote
(" PID_HDR_APPARTO = 11,")
54 cpp_quote
(" PID_HDR_DATE = 12,")
55 cpp_quote
(" PID_HDR_RECEIVED = 13,")
56 cpp_quote
(" PID_HDR_REPLYTO = 14,")
57 cpp_quote
(" PID_HDR_XMAILER = 15,")
58 cpp_quote
(" PID_HDR_BCC = 16,")
59 cpp_quote
(" PID_HDR_MIMEVER = 17,")
60 cpp_quote
(" PID_HDR_CNTTYPE = 18,")
61 cpp_quote
(" PID_HDR_CNTXFER = 19,")
62 cpp_quote
(" PID_HDR_CNTID = 20,")
63 cpp_quote
(" PID_HDR_CNTDESC = 21,")
64 cpp_quote
(" PID_HDR_CNTDISP = 22,")
65 cpp_quote
(" PID_HDR_CNTBASE = 23,")
66 cpp_quote
(" PID_HDR_CNTLOC = 24,")
67 cpp_quote
(" PID_HDR_TO = 25,")
68 cpp_quote
(" PID_HDR_PATH = 26,")
69 cpp_quote
(" PID_HDR_FOLLOWUPTO = 27,")
70 cpp_quote
(" PID_HDR_EXPIRES = 28,")
71 cpp_quote
(" PID_HDR_CC = 29,")
73 cpp_quote
(" PID_HDR_SENDER = 61,")
75 cpp_quote
(" PID_HDR_INREPLYTO = 77,")
76 cpp_quote
("} MIMEPROPID;")
78 cpp_quote
("#define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4)")
82 uuid(e4b28371
-83b0
-11d0
-8259-00c04fd85ab4
),
87 importlib
("stdole2.tlb");
89 DECLARE_HANDLE
(HCHARSET
);
90 DECLARE_HANDLE
(HBODY
);
91 DECLARE_HANDLE
(HHEADERROW
);
93 typedef HCHARSET
*LPHCHARSET
;
94 typedef HBODY
*LPHBODY
;
95 typedef HHEADERROW
*LPHHEADERROW
;
96 typedef DWORD TYPEDID
;
97 typedef const PROPVARIANT
*LPCPROPVARIANT
;
98 typedef const BLOB
*LPCBLOB
;
100 typedef enum tagRELOADTYPE
104 RELOAD_HEADER_APPEND
,
105 RELOAD_HEADER_REPLACE
,
108 typedef enum tagMIMESAVETYPE
114 typedef enum tagCSETAPPLYTYPE
121 typedef enum tagENCODINGTYPE
139 const SHORT IET_DECODED
= IET_BINARY
;
141 const SHORT CCHMAX_HEADER_LINE
= 1000;
144 uuid(c5588349
-7f86
-11d0
-8252-00c04fd85ab4
),
147 interface IMimeInternational
: IUnknown
149 typedef [unique] IMimeInternational
*LPMIMEINTERNATIONAL
;
150 typedef DWORD CODEPAGEID
;
152 const CODEPAGEID CP_USASCII
= 1252;
153 const CODEPAGEID CP_UNICODE
= 1200;
154 const CODEPAGEID CP_JAUTODETECT
= 50932;
155 const CODEPAGEID CP_KAUTODETECT
= 50949;
156 const CODEPAGEID CP_ISO2022JPESC
= 50221;
157 const CODEPAGEID CP_ISO2022JPSIO
= 50222;
159 const SHORT CCHMAX_CSET_NAME
= 128;
160 const SHORT CCHMAX_LANG_NAME
= 128;
161 const SHORT CCHMAX_FACE_NAME
= 128;
163 typedef struct tagINETCSETINFO
165 CHAR szName
[CCHMAX_CSET_NAME
];
167 CODEPAGEID cpiWindows
;
168 CODEPAGEID cpiInternet
;
170 } INETCSETINFO
, *LPINETCSETINFO
;
172 typedef enum tagINETLANGMASK
177 ILM_HEADERCSET
= 0x08,
179 ILM_FIXEDFONT
= 0x20,
180 ILM_VARIABLEFONT
= 0x40,
183 typedef struct tagCODEPAGEINFO
186 CODEPAGEID cpiCodePage
;
187 BOOL fIsValidCodePage
;
190 CODEPAGEID cpiFamily
;
191 CHAR szName
[CCHMAX_LANG_NAME
];
192 CHAR szBodyCset
[CCHMAX_CSET_NAME
];
193 CHAR szHeaderCset
[CCHMAX_CSET_NAME
];
194 CHAR szWebCset
[CCHMAX_CSET_NAME
];
195 CHAR szFixedFont
[CCHMAX_FACE_NAME
];
196 CHAR szVariableFont
[CCHMAX_FACE_NAME
];
197 ENCODINGTYPE ietNewsDefault
;
198 ENCODINGTYPE ietMailDefault
;
200 } CODEPAGEINFO
, *LPCODEPAGEINFO
;
202 typedef struct tagRFC1522INFO
204 BOOL fRfc1522Allowed
;
207 HCHARSET hRfc1522Cset
;
208 } RFC1522INFO
, *LPRFC1522INFO
;
210 typedef enum tagCHARSETTYPE
218 HRESULT SetDefaultCharset
(
219 [in] HCHARSET hCharset
);
220 HRESULT GetDefaultCharset
(
221 [out] LPHCHARSET phCharset
);
222 HRESULT GetCodePageCharset
(
223 [in] CODEPAGEID cpiCodePage
,
224 [in] CHARSETTYPE ctCsetType
,
225 [out] LPHCHARSET phCharset
);
227 [in] LPCSTR pszCharset
,
228 [out] LPHCHARSET phCharset
);
229 HRESULT GetCharsetInfo
(
230 [in] HCHARSET hCharset
,
231 [in, out] LPINETCSETINFO pCsetInfo
);
232 HRESULT GetCodePageInfo
(
233 [in] CODEPAGEID cpiCodePage
,
234 [in, out] LPCODEPAGEINFO pCodePageInfo
);
235 HRESULT DecodeHeader
(
236 [in] HCHARSET hCharset
,
238 [in, out] LPPROPVARIANT pDecoded
,
239 [in, out] LPRFC1522INFO pRfc1522Info
);
240 HRESULT EncodeHeader
(
241 [in] HCHARSET hCharset
,
242 [in] LPPROPVARIANT pData
,
243 [out] LPSTR
*ppszEncoded
,
244 [in, out] LPRFC1522INFO pRfc1522Info
);
245 HRESULT ConvertBuffer
(
246 [in] CODEPAGEID cpiSource
,
247 [in] CODEPAGEID cpiDest
,
249 [in, out] LPBLOB pOut
,
250 [out] ULONG
*pcbRead
);
251 HRESULT ConvertString
(
252 [in] CODEPAGEID cpiSource
,
253 [in] CODEPAGEID cpiDest
,
254 [in] LPPROPVARIANT pIn
,
255 [in, out] LPPROPVARIANT pOut
);
256 HRESULT MLANG_ConvertInetReset
();
257 HRESULT MLANG_ConvertInetString
(
258 [in] CODEPAGEID cpiSource
,
259 [in] CODEPAGEID cpiDest
,
261 [in] int *pnSizeOfSource
,
262 [out] LPSTR pDestination
,
263 [in] int *pnDstSize
);
264 HRESULT Rfc1522Decode
(
265 [in] LPCSTR pszValue
,
266 [in] LPCSTR pszCharset
,
268 [out] LPSTR
*ppszDecoded
);
269 HRESULT Rfc1522Encode
(
270 [in] LPCSTR pszValue
,
271 [in] HCHARSET hCharset
,
272 [out] LPSTR
*ppszEncoded
);
276 uuid(c5588353
-7f86
-11d0
-8252-00c04fd85ab4
),
279 interface IMimeSecurity
: IUnknown
281 typedef [unique] IMimeSecurity
*LPMIMESECURITY
;
283 cpp_quote
("#ifdef __WINE_WINCRYPT_H")
284 cpp_quote
("typedef PCCERT_CONTEXT PCX509CERT;")
286 typedef const void *PCX509CERT
;
287 typedef void *HCERTSTORE
;
290 typedef BLOB THUMBBLOB
;
291 typedef void *HCAPICERTSTORE
;
293 typedef enum tagCERTSTATE
296 CERTIFICATE_NOT_PRESENT
,
298 CERTIFICATE_CHAIN_TOO_LONG
,
299 CERTIFICATE_MISSING_ISSUER
,
300 CERTIFICATE_CRL_LISTED
,
301 CERTIFICATE_NOT_TRUSTED
,
308 typedef enum tagCERTNAMETYPE
315 typedef enum tagCERTDATAID
321 typedef struct tagX509CERTRESULT
326 } X509CERTRESULT
, *PX509CERTRESULT
;
327 typedef const X509CERTRESULT
*PCX509CERTRESULT
;
329 HRESULT InitNew
(void);
331 HRESULT CheckInit
(void);
333 HRESULT EncodeMessage
(
334 [in] IMimeMessageTree */
*const*/ pTree
,
338 [in] IMimeMessageTree */
*const*/ pTree
,
339 [in] HBODY hEncodeRoot
,
342 HRESULT DecodeMessage
(
343 [in] IMimeMessageTree */
*const*/ pTree
,
347 [in] IMimeMessageTree */
*const*/ pTree
,
348 [in] HBODY hDecodeRoot
,
351 HRESULT EnumCertificates
(
352 [in] HCAPICERTSTORE hc
,
354 [in] PCX509CERT pPrev
,
355 [out] PCX509CERT
*ppCert
);
357 HRESULT GetCertificateName
(
358 [in] const PCX509CERT pX509Cert
,
359 [in] const CERTNAMETYPE cn
,
360 [out] LPSTR
*ppszName
);
362 HRESULT GetMessageType
(
363 [in] const HWND hwndParent
,
364 [in] IMimeBody */
*const*/ pBody
,
365 [out] DWORD */
*const*/ pdwSecType
);
368 [in] const PCX509CERT pX509Cert
,
369 [in] const CERTDATAID dataid
,
370 [out, ref] LPPROPVARIANT pValue
);
374 uuid(fd853cd1
-7f86
-11d0
-8252-00c04fd85ab4
),
377 interface IMimeHeaderTable
: IPersistStream
379 /* FIXME: fill this in */
383 uuid(fd853cec
-7f86
-11d0
-8252-00c04fd85ab4
),
386 interface IMimePropertySchema
: IUnknown
388 typedef enum tagMIMEPROPFLAGS
393 MPF_HASPARAMS
= 0x08,
398 /* FIXME: fill this in */
402 uuid(fd853cd3
-7f86
-11d0
-8252-00c04fd85ab4
),
405 interface IMimePropertySet
: IPersistStreamInit
407 typedef [unique] IMimePropertySet
*LPMIMEPROPERTYSET
;
409 cpp_quote
("#define PDF_ENCODED 0x00000001")
410 cpp_quote
("#define PDF_NAMEINDATA 0x00000002")
411 cpp_quote
("#define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED)")
412 cpp_quote
("#define PDF_NOCOMMENTS 0x00000008")
413 cpp_quote
("#define PDF_SAVENOENCODE 0x00000010")
414 cpp_quote
("#define PDF_VECTOR 0x00000020")
416 typedef struct tagMIMEPARAMINFO
420 } MIMEPARAMINFO
, *LPMIMEPARAMINFO
;
422 typedef enum tagPROPINFOMASK
425 PIM_ENCODINGTYPE
= 0x02,
426 PIM_ROWNUMBER
= 0x04,
430 PIM_VTDEFAULT
= 0x40,
434 typedef struct tagMIMEPROPINFO
438 ENCODINGTYPE ietEncoding
;
445 } MIMEPROPINFO
, *LPMIMEPROPINFO
;
446 typedef const MIMEPROPINFO
*LPCMIMEPROPINFO
;
450 [in,out] LPMIMEPROPINFO pInfo
);
454 [in] LPCMIMEPROPINFO pInfo
);
456 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
457 cpp_quote
("#undef GetProp")
458 cpp_quote
("#undef SetProp")
459 cpp_quote
("#undef EnumProps")
464 [in,out] LPPROPVARIANT pValue
);
469 [in] LPCPROPVARIANT pValue
);
474 [in] LPPROPVARIANT pValue
);
477 [in] LPCSTR pszName
);
481 [in,unique] LPCSTR
*prgszName
,
482 [in] IMimePropertySet
*pPropertySet
);
486 [in] LPCSTR
*prgszName
,
487 [in] IMimePropertySet
*pPropertySet
);
489 HRESULT DeleteExcept
(
491 [in] LPCSTR
*prgszName
);
495 [in] LPCSTR pszCriteria
,
496 [in] boolean fSubString
,
497 [in] boolean fCaseSensitive
);
500 [out] LPHCHARSET phCharset
);
503 [in] HCHARSET hCharset
,
504 [in] CSETAPPLYTYPE applytype
);
506 HRESULT GetParameters
(
508 [out] ULONG
*pcParams
,
509 [out] LPMIMEPARAMINFO
*pprgParam
);
511 HRESULT IsContentType
(
512 [in] LPCSTR pszPriType
,
513 [in,unique] LPCSTR pszSubType
);
515 HRESULT BindToObject
(
517 [out,iid_is(riid
)] void **ppvObject
);
520 [out] IMimePropertySet
**ppPropertySet
);
523 [in] const TYPEDID oid
,
524 [in] LPCPROPVARIANT pValue
);
527 [in] const TYPEDID oid
,
528 [in,out] LPPROPVARIANT pValue
);
530 cpp_quote
("#define EPF_NONAME 0x00000001")
534 [out] IMimeEnumProperties
**ppEnum
);
539 uuid(c558834a
-7f86
-11d0
-8252-00c04fd85ab4
),
542 interface IMimeAddressTable
: IUnknown
544 typedef [unique] IMimeAddressTable
*LPMIMEADDRESSTABLE
;
546 DECLARE_HANDLE
(HADDRESS
);
547 typedef HADDRESS
*LPHADDRESS
;
548 typedef DWORD IADDRESSTYPE
;
550 typedef enum tagADDRESSFORMAT
552 AFT_DISPLAY_FRIENDLY
,
560 typedef struct tagADDRESSPROPS
564 ENCODINGTYPE ietFriendly
;
572 THUMBBLOB tbEncryption
;
576 } ADRESSPROPS
, *LPADDRESSPROPS
;
578 typedef struct tagADDRESSLIST
581 LPADDRESSPROPS prgAdr
;
582 } ADDRESSLIST
, *LPADDRESSLIST
;
584 /* FIXME: fill this in */
588 uuid(ee519f11
-851a
-11d0
-8252-00c04fd85ab4
),
591 interface IMimeWebDocument
: IUnknown
593 /* FIXME: fill this in */
597 uuid(c558834c
-7f86
-11d0
-8252-00c04fd85ab4
),
600 interface IMimeBody
: IMimePropertySet
602 typedef [unique] IMimeBody
*LPMIMEBODY
;
604 typedef enum tagIMSGBODYTYPE
613 typedef struct tagBODYOFFSETS
615 DWORD cbBoundaryStart
;
619 } BODYOFFSETS
, *LPBODYOFFSETS
;
621 typedef struct tagTRANSMITINFO
623 ENCODINGTYPE ietCurrent
;
624 ENCODINGTYPE ietXmitMime
;
625 ENCODINGTYPE ietXmit822
;
631 } TRANSMITINFO
, *LPTRANSMITINFO
;
634 [in] IMSGBODYTYPE bodytype
);
636 HRESULT SetDisplayName
(
637 [in] LPCSTR pszDisplay
);
639 HRESULT GetDisplayName
(
640 [out] LPSTR
*ppszDisplay
);
643 [out] LPBODYOFFSETS pOffsets
);
645 HRESULT GetCurrentEncoding
(
646 [out] ENCODINGTYPE
*pietEncoding
);
648 HRESULT SetCurrentEncoding
(
649 [in] ENCODINGTYPE ietEncoding
);
651 HRESULT GetEstimatedSize
(
652 [in] ENCODINGTYPE ietEncoding
,
653 [out] ULONG
*pcbSize
);
656 [in] ENCODINGTYPE ietEncoding
,
657 [in] IStream
*pStream
);
660 [in] ENCODINGTYPE ietEncoding
,
661 [out] IStream
**ppStream
);
664 [in] ENCODINGTYPE ietEncoding
,
665 [in,unique] LPCSTR pszPriType
,
666 [in,unique] LPCSTR pszSubType
,
668 [in,iid_is(riid
)] LPVOID pvObject
);
670 HRESULT EmptyData
(void);
673 [in] IMimeBody
*pBody
);
675 HRESULT GetTransmitInfo
(
676 [in,out] LPTRANSMITINFO pTransmitInfo
);
679 [in] ENCODINGTYPE ietEncoding
,
680 [in] LPCSTR pszFilePath
);
683 [out] LPHBODY phBody
);
688 uuid(fd853cd4
-7f86
-11d0
-8252-00c04fd85ab4
),
691 interface IMimeMessageTree
: IPersistStreamInit
693 typedef [unique] IMimeMessageTree
*LPMIMEMESSAGETREE
;
695 const HBODY HBODY_ROOT
= (HBODY
)-1;
697 typedef enum tagBODYLOCATION
707 typedef struct tagFINDBODY
712 } FINDBODY
, *LPFINDBODY
;
714 HRESULT GetMessageSource
(
715 [out] IStream
**ppStream
,
718 HRESULT GetMessageSize
(
719 [out] ULONG
*pcbSize
,
722 HRESULT LoadOffsetTable
(
723 [in] IStream
*pStream
);
725 HRESULT SaveOffsetTable
(
726 [in] IStream
*pStream
,
730 [out] DWORD
*pdwFlags
);
735 HRESULT HandsOffStorage
();
737 HRESULT BindToObject
(
738 [in] const HBODY hBody
,
740 [out, iid_is(riid
)] void **ppvObject
);
745 [in] IStream
*pStream
);
748 [in] BODYLOCATION location
,
750 [out] LPHBODY phBody
);
753 [in] BODYLOCATION location
,
755 [out] LPHBODY phBody
);
763 [in] BODYLOCATION location
);
767 [in] boolean fRecurse
,
768 [out] ULONG
*pcBodies
);
771 [in, out] LPFINDBODY pFindBody
,
772 [out] LPHBODY phBody
);
775 [in, out] LPFINDBODY pFindBody
,
776 [out] LPHBODY phBody
);
783 [out] LPHBODY phBody
);
787 [in] LPCSTR pszSubType
,
788 [out] LPHBODY phMultipart
);
790 HRESULT GetBodyOffsets
(
792 [in, out] LPBODYOFFSETS pOffsets
);
795 [out] LPHCHARSET phCharset
);
798 [in] HCHARSET hCharset
,
799 [in] CSETAPPLYTYPE applytype
);
803 [in] IMSGBODYTYPE bodytype
);
805 HRESULT IsContentType
(
807 [in] LPCSTR pszPriType
,
808 [in] LPCSTR pszSubType
);
810 HRESULT QueryBodyProp
(
813 [in] LPCSTR pszCriteria
,
814 [in] boolean fSubString
,
815 [in] boolean fCaseSensitive
);
821 [in, out] LPPROPVARIANT pValue
);
827 [in] LPCPROPVARIANT pValue
);
829 HRESULT DeleteBodyProp
(
831 [in] LPCSTR pszName
);
834 [in] const TYPEDID oid
,
835 [in] LPCPROPVARIANT pValue
);
838 [in] const TYPEDID oid
,
839 [in, out] LPPROPVARIANT pValue
);
843 uuid(fd853cd5
-7f86
-11d0
-8252-00c04fd85ab4
),
846 interface IMimeMessage
: IMimeMessageTree
848 typedef [unique] IMimeMessage
*LPMIMEMESSAGE
;
850 typedef DWORD TEXTTYPE
;
852 typedef enum tagIMSGFLAGS
854 IMF_ATTACHMENTS
= 0x00000001,
855 IMF_MULTIPART
= 0x00000002,
856 IMF_SUBMULTIPART
= 0x00000004,
857 IMF_MIME
= 0x00000008,
858 IMF_HTML
= 0x00000010,
859 IMF_PLAIN
= 0x00000020,
860 IMF_PARTIAL
= 0x00000040,
861 IMF_SIGNED
= 0x00000080,
862 IMF_ENCRYPTED
= 0x00000100,
863 IMF_TNEF
= 0x00000200,
864 IMF_MHTML
= 0x00000400,
865 IMF_SECURE
= 0x00000800,
866 IMF_TEXT
= 0x00001000,
867 IMF_CSETTAGGED
= 0x00002000,
868 IMF_NEWS
= 0x00004000,
869 IMF_VOICEMAIL
= 0x00008000,
870 IMF_HASVCARD
= 0x00010000,
871 IMF_RFC1154
= 0x00020000,
874 typedef enum tagIMSGPRIORITY
881 cpp_quote
("#define WPF_HTML 0x00000001")
882 cpp_quote
("#define WPF_AUTOINLINE 0x00000002")
883 cpp_quote
("#define WPF_SLIDESHOW 0x00000004")
884 cpp_quote
("#define WPF_ATTACHLINKS 0x00000008")
885 cpp_quote
("#define WPF_IMAGESONLY 0x00000010")
886 cpp_quote
("#define WPF_NOMETACHARSET 0x00000020")
888 typedef struct tagWEPAGEOPTIONS
894 } WEBPAGEOPTIONS
, *LPWEBPAGEOPTIONS
;
896 HRESULT CreateWebPage
(
897 [in] IStream
*pRootStm
,
898 [in] LPWEBPAGEOPTIONS pOptions
,
899 [in] IMimeMessageCallback
*pCallback
,
900 [out] IMoniker
**ppMoniker
);
905 [in,out] LPPROPVARIANT pValue
);
910 [in] LPCPROPVARIANT pValue
);
913 [in] LPCSTR pszName
);
917 [in] LPCSTR pszCriteria
,
918 [in] boolean fSubString
,
919 [in] boolean fCaseSensitive
);
922 [in] DWORD dwTxtType
,
923 [in] ENCODINGTYPE ietEncoding
,
924 [out] IStream
**pStream
,
925 [out] LPHBODY phBody
);
928 [in] DWORD dwTxtType
,
929 [in] ENCODINGTYPE ietEncoding
,
930 [in] HBODY hAlternative
,
931 [in] IStream
*pStream
,
932 [out] LPHBODY phBody
);
934 HRESULT AttachObject
(
936 [in, iid_is(riid
)] void *pvObject
,
937 [out] LPHBODY phBody
);
940 [in] LPCSTR pszFilePath
,
941 [in] IStream
*pstmFile
,
942 [out] LPHBODY phBody
);
948 [in] IStream
*pstmURL
,
949 [out] LPSTR
*ppszCIDURL
,
950 [out] LPHBODY phBody
);
952 HRESULT GetAttachments
(
953 [out] ULONG
*pcAttach
,
954 [out] LPHBODY
*pprghAttach
);
956 HRESULT GetAddressTable
(
957 [out] IMimeAddressTable
**ppTable
);
960 [in, out] LPADDRESSPROPS pAddress
);
962 HRESULT GetAddressTypes
(
963 [in] DWORD dwAdrTypes
,
965 [in, out] LPADDRESSLIST pList
);
967 HRESULT GetAddressFormat
(
968 [in] DWORD dwAdrTypes
,
969 [in] ADDRESSFORMAT format
,
970 [out] LPSTR
*ppszFormat
);
972 HRESULT EnumAddressTypes
(
973 [in] DWORD dwAdrTypes
,
975 [out] IMimeEnumAddressTypes
**ppEnum
);
977 HRESULT SplitMessage
(
978 [in] ULONG cbMaxPart
,
979 [out] IMimeMessageParts
**ppParts
);
981 HRESULT GetRootMoniker
(
982 [out] IMoniker
**ppMoniker
);
986 uuid(761aa741
-7bda
-11d1
-8aa9
-00c04fb951f3
),
989 interface IMimeMessageCallback
: IUnknown
991 HRESULT OnWebPageSplitter
(
993 [in] IStream
*ppStream
);
997 uuid(de4ad8da
-555f
-11d1
-8dd0
-00c04fb951f9
),
1000 interface IPersistMime
: IPersist
1002 /* FIXME: fill this in */
1006 uuid(c558834f
-7f86
-11d0
-8252-00c04fd85ab4
),
1009 interface IMimeMessageParts
: IUnknown
1011 /* FIXME: fill this in */
1015 uuid(c558834d
-7f86
-11d0
-8252-00c04fd85ab4
),
1018 interface IMimeEnumHeaderRows
: IUnknown
1020 /* FIXME: fill this in */
1024 uuid(fd853cee
-7f86
-11d0
-8252-00c04fd85ab4
),
1027 interface IMimeEnumProperties
: IUnknown
1029 /* FIXME: fill this in */
1033 uuid(c5588354
-7f86
-11d0
-8252-00c04fd85ab4
),
1036 interface IMimeEnumAddressTypes
: IUnknown
1038 /* FIXME: fill this in */
1042 uuid(c5588350
-7f86
-11d0
-8252-00c04fd85ab4
),
1045 interface IMimeEnumMessageParts
: IUnknown
1047 /* FIXME: fill this in */
1051 uuid(64577981-86d7
-11d1
-bdfc
-00c04fa31009
),
1054 interface IHashTable
: IUnknown
1056 /* FIXME: fill this in */
1060 uuid(c5588351
-7f86
-11d0
-8252-00c04fd85ab4
),
1063 interface IMimeAllocator
: IMalloc
1065 /* FIXME: fill this in */
1069 uuid(feceaffd
-c441
-11d1
-960e-00c04fbd7c09
),
1072 interface IMimeObjResolver
: IUnknown
1074 /* FIXME: fill this in */
1078 uuid(b0d17fc2
-7bc4
-11d1
-bdfa
-00c04fa31009
),
1081 interface IFontCache
: IUnknown
1083 /* FIXME: fill this in */
1087 uuid(b0d17fc5
-7bc4
-11d1
-bdfa
-00c04fa31009
),
1090 interface IFontCacheNotify
: IUnknown
1092 /* FIXME: fill this in */
1096 uuid(70183210-7b36
-11d2
-8c12
-00c04fa31009
),
1099 interface IMimeEditTag
: IUnknown
1101 /* FIXME: fill this in */
1105 uuid(d09ee528
-7b38
-11d2
-8c12
-00c04fa31009
),
1108 interface IMimeEditTagCollection
: IUnknown
1110 /* FIXME: fill this in */
1114 cpp_quote
("#ifdef __cplusplus")
1115 cpp_quote
(" extern \"C\" {")
1119 cpp_quote
("HRESULT WINAPI MimeOleSetCompatMode(DWORD);")
1120 cpp_quote
("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);")
1121 cpp_quote
("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);")
1122 cpp_quote
("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);")
1123 cpp_quote
("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);")
1124 cpp_quote
("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);")
1125 cpp_quote
("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);")
1126 cpp_quote
("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);")
1127 cpp_quote
("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1128 cpp_quote
("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1129 cpp_quote
("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);")
1130 cpp_quote
("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);")
1131 cpp_quote
("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);")
1132 cpp_quote
("HRESULT WINAPI MimeOleCreateByteStream(IStream**);")
1133 cpp_quote
("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);")
1134 cpp_quote
("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);")
1135 cpp_quote
("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);")
1136 cpp_quote
("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);")
1137 cpp_quote
("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);")
1138 cpp_quote
("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);")
1139 cpp_quote
("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);")
1140 cpp_quote
("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);")
1141 cpp_quote
("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);")
1142 cpp_quote
("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);")
1143 cpp_quote
("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);")
1144 cpp_quote
("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);")
1145 cpp_quote
("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);")
1146 cpp_quote
("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);")
1147 cpp_quote
("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);")
1148 cpp_quote
("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);")
1149 cpp_quote
("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);")
1150 cpp_quote
("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);")
1151 cpp_quote
("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);")
1152 cpp_quote
("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);")
1153 cpp_quote
("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);")
1154 cpp_quote
("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);")
1155 cpp_quote
("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);")
1156 cpp_quote
("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);")
1157 cpp_quote
("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);")
1158 cpp_quote
("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);")
1159 cpp_quote
("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);")
1160 cpp_quote
("HRESULT WINAPI MimeOleIsTnefStream(IStream*);")
1161 cpp_quote
("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);")
1162 cpp_quote
("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);")
1163 cpp_quote
("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);")
1164 cpp_quote
("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);")
1165 cpp_quote
("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);")
1166 cpp_quote
("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);")
1167 cpp_quote
("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);")
1168 cpp_quote
("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);")
1169 cpp_quote
("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);")
1170 cpp_quote
("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);")
1171 cpp_quote
("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);")
1172 cpp_quote
("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);")
1173 cpp_quote
("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);")
1174 cpp_quote
("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);")
1175 cpp_quote
("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);")
1176 cpp_quote
("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);")
1177 cpp_quote
("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);")
1178 cpp_quote
("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);")
1179 cpp_quote
("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);")
1180 cpp_quote
("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);")
1181 cpp_quote
("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);")
1182 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);")
1183 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);")
1184 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);")
1185 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);")
1186 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);")
1187 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1188 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1189 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);")
1190 cpp_quote
("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);")
1191 cpp_quote
("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);")
1192 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);")
1193 cpp_quote
("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);")
1194 cpp_quote
("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);")
1196 cpp_quote
("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);")
1197 cpp_quote
("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);")
1198 cpp_quote
("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);")
1199 cpp_quote
("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);")
1200 cpp_quote
("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);")
1201 cpp_quote
("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);")
1203 cpp_quote
("#ifdef __cplusplus")