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_IMimeAllocator, 0xfd853cdd, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
34 cpp_quote
("DEFINE_GUID(CLSID_IMimeMessage, 0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
36 cpp_quote
("#define MIME_E_REG_CREATE_KEY 0x800cce01")
37 cpp_quote
("#define MIME_E_REG_QUERY_INFO 0x800cce02")
38 cpp_quote
("#define MIME_E_INVALID_ENCTYPE 0x800cce03")
39 cpp_quote
("#define MIME_E_BOUNDARY_MISMATCH 0x800cce04")
40 cpp_quote
("#define MIME_E_NOT_FOUND 0x800cce05")
41 cpp_quote
("#define MIME_E_NO_DATA 0x800cce05")
42 cpp_quote
("#define MIME_E_BUFFER_TOO_SMALL 0x800cce06")
44 cpp_quote
("typedef enum tagMIMEPROPID {")
45 cpp_quote
(" PID_HDR_NEWSGROUP = 2,")
46 cpp_quote
(" PID_HDR_NEWSGROUPS = 3,")
47 cpp_quote
(" PID_HDR_REFS = 4,")
48 cpp_quote
(" PID_HDR_SUBJECT = 5,")
49 cpp_quote
(" PID_HDR_FROM = 6,")
50 cpp_quote
(" PID_HDR_MESSAGEID = 7,")
51 cpp_quote
(" PID_HDR_RETURNPATH = 8,")
52 cpp_quote
(" PID_HDR_RR = 9,")
53 cpp_quote
(" PID_HDR_RETRCPTO = 10,")
54 cpp_quote
(" PID_HDR_APPARTO = 11,")
55 cpp_quote
(" PID_HDR_DATE = 12,")
56 cpp_quote
(" PID_HDR_RECEIVED = 13,")
57 cpp_quote
(" PID_HDR_REPLYTO = 14,")
58 cpp_quote
(" PID_HDR_XMAILER = 15,")
59 cpp_quote
(" PID_HDR_BCC = 16,")
60 cpp_quote
(" PID_HDR_MIMEVER = 17,")
61 cpp_quote
(" PID_HDR_CNTTYPE = 18,")
62 cpp_quote
(" PID_HDR_CNTXFER = 19,")
63 cpp_quote
(" PID_HDR_CNTID = 20,")
64 cpp_quote
(" PID_HDR_CNTDESC = 21,")
65 cpp_quote
(" PID_HDR_CNTDISP = 22,")
66 cpp_quote
(" PID_HDR_CNTBASE = 23,")
67 cpp_quote
(" PID_HDR_CNTLOC = 24,")
68 cpp_quote
(" PID_HDR_TO = 25,")
69 cpp_quote
(" PID_HDR_PATH = 26,")
70 cpp_quote
(" PID_HDR_FOLLOWUPTO = 27,")
71 cpp_quote
(" PID_HDR_EXPIRES = 28,")
72 cpp_quote
(" PID_HDR_CC = 29,")
74 cpp_quote
(" PID_HDR_SENDER = 61,")
76 cpp_quote
(" PID_HDR_INREPLYTO = 77,")
77 cpp_quote
("} MIMEPROPID;")
79 cpp_quote
("#define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4)")
83 uuid(e4b28371
-83b0
-11d0
-8259-00c04fd85ab4
),
88 importlib
("stdole2.tlb");
90 DECLARE_HANDLE
(HCHARSET
);
91 DECLARE_HANDLE
(HBODY
);
92 DECLARE_HANDLE
(HHEADERROW
);
94 typedef HCHARSET
*LPHCHARSET
;
95 typedef HBODY
*LPHBODY
;
96 typedef HHEADERROW
*LPHHEADERROW
;
97 typedef DWORD TYPEDID
;
98 typedef const PROPVARIANT
*LPCPROPVARIANT
;
99 typedef const BLOB
*LPCBLOB
;
101 typedef enum tagRELOADTYPE
105 RELOAD_HEADER_APPEND
,
106 RELOAD_HEADER_REPLACE
,
109 typedef enum tagMIMESAVETYPE
115 typedef enum tagCSETAPPLYTYPE
122 typedef enum tagENCODINGTYPE
140 const SHORT IET_DECODED
= IET_BINARY
;
142 const SHORT CCHMAX_HEADER_LINE
= 1000;
145 uuid(c5588349
-7f86
-11d0
-8252-00c04fd85ab4
),
148 interface IMimeInternational
: IUnknown
150 typedef [unique] IMimeInternational
*LPMIMEINTERNATIONAL
;
151 typedef DWORD CODEPAGEID
;
153 const CODEPAGEID CP_USASCII
= 1252;
154 const CODEPAGEID CP_UNICODE
= 1200;
155 const CODEPAGEID CP_JAUTODETECT
= 50932;
156 const CODEPAGEID CP_KAUTODETECT
= 50949;
157 const CODEPAGEID CP_ISO2022JPESC
= 50221;
158 const CODEPAGEID CP_ISO2022JPSIO
= 50222;
160 const SHORT CCHMAX_CSET_NAME
= 128;
161 const SHORT CCHMAX_LANG_NAME
= 128;
162 const SHORT CCHMAX_FACE_NAME
= 128;
164 typedef struct tagINETCSETINFO
166 CHAR szName
[CCHMAX_CSET_NAME
];
168 CODEPAGEID cpiWindows
;
169 CODEPAGEID cpiInternet
;
171 } INETCSETINFO
, *LPINETCSETINFO
;
173 typedef enum tagINETLANGMASK
178 ILM_HEADERCSET
= 0x08,
180 ILM_FIXEDFONT
= 0x20,
181 ILM_VARIABLEFONT
= 0x40,
184 typedef struct tagCODEPAGEINFO
187 CODEPAGEID cpiCodePage
;
188 BOOL fIsValidCodePage
;
191 CODEPAGEID cpiFamily
;
192 CHAR szName
[CCHMAX_LANG_NAME
];
193 CHAR szBodyCset
[CCHMAX_CSET_NAME
];
194 CHAR szHeaderCset
[CCHMAX_CSET_NAME
];
195 CHAR szWebCset
[CCHMAX_CSET_NAME
];
196 CHAR szFixedFont
[CCHMAX_FACE_NAME
];
197 CHAR szVariableFont
[CCHMAX_FACE_NAME
];
198 ENCODINGTYPE ietNewsDefault
;
199 ENCODINGTYPE ietMailDefault
;
201 } CODEPAGEINFO
, *LPCODEPAGEINFO
;
203 typedef struct tagRFC1522INFO
205 BOOL fRfc1522Allowed
;
208 HCHARSET hRfc1522Cset
;
209 } RFC1522INFO
, *LPRFC1522INFO
;
211 typedef enum tagCHARSETTYPE
219 HRESULT SetDefaultCharset
(
220 [in] HCHARSET hCharset
);
221 HRESULT GetDefaultCharset
(
222 [out] LPHCHARSET phCharset
);
223 HRESULT GetCodePageCharset
(
224 [in] CODEPAGEID cpiCodePage
,
225 [in] CHARSETTYPE ctCsetType
,
226 [out] LPHCHARSET phCharset
);
228 [in] LPCSTR pszCharset
,
229 [out] LPHCHARSET phCharset
);
230 HRESULT GetCharsetInfo
(
231 [in] HCHARSET hCharset
,
232 [in, out] LPINETCSETINFO pCsetInfo
);
233 HRESULT GetCodePageInfo
(
234 [in] CODEPAGEID cpiCodePage
,
235 [in, out] LPCODEPAGEINFO pCodePageInfo
);
236 HRESULT DecodeHeader
(
237 [in] HCHARSET hCharset
,
239 [in, out] LPPROPVARIANT pDecoded
,
240 [in, out] LPRFC1522INFO pRfc1522Info
);
241 HRESULT EncodeHeader
(
242 [in] HCHARSET hCharset
,
243 [in] LPPROPVARIANT pData
,
244 [out] LPSTR
*ppszEncoded
,
245 [in, out] LPRFC1522INFO pRfc1522Info
);
246 HRESULT ConvertBuffer
(
247 [in] CODEPAGEID cpiSource
,
248 [in] CODEPAGEID cpiDest
,
250 [in, out] LPBLOB pOut
,
251 [out] ULONG
*pcbRead
);
252 HRESULT ConvertString
(
253 [in] CODEPAGEID cpiSource
,
254 [in] CODEPAGEID cpiDest
,
255 [in] LPPROPVARIANT pIn
,
256 [in, out] LPPROPVARIANT pOut
);
257 HRESULT MLANG_ConvertInetReset
();
258 HRESULT MLANG_ConvertInetString
(
259 [in] CODEPAGEID cpiSource
,
260 [in] CODEPAGEID cpiDest
,
262 [in] int *pnSizeOfSource
,
263 [out] LPSTR pDestination
,
264 [in] int *pnDstSize
);
265 HRESULT Rfc1522Decode
(
266 [in] LPCSTR pszValue
,
267 [in] LPCSTR pszCharset
,
269 [out] LPSTR
*ppszDecoded
);
270 HRESULT Rfc1522Encode
(
271 [in] LPCSTR pszValue
,
272 [in] HCHARSET hCharset
,
273 [out] LPSTR
*ppszEncoded
);
277 uuid(c5588353
-7f86
-11d0
-8252-00c04fd85ab4
),
280 interface IMimeSecurity
: IUnknown
282 typedef [unique] IMimeSecurity
*LPMIMESECURITY
;
284 cpp_quote
("#ifdef __WINE_WINCRYPT_H")
285 cpp_quote
("typedef PCCERT_CONTEXT PCX509CERT;")
287 typedef const void *PCX509CERT
;
288 typedef void *HCERTSTORE
;
291 typedef BLOB THUMBBLOB
;
292 typedef void *HCAPICERTSTORE
;
294 typedef enum tagCERTSTATE
297 CERTIFICATE_NOT_PRESENT
,
299 CERTIFICATE_CHAIN_TOO_LONG
,
300 CERTIFICATE_MISSING_ISSUER
,
301 CERTIFICATE_CRL_LISTED
,
302 CERTIFICATE_NOT_TRUSTED
,
309 typedef enum tagCERTNAMETYPE
316 typedef enum tagCERTDATAID
322 typedef struct tagX509CERTRESULT
327 } X509CERTRESULT
, *PX509CERTRESULT
;
328 typedef const X509CERTRESULT
*PCX509CERTRESULT
;
330 HRESULT InitNew
(void);
332 HRESULT CheckInit
(void);
334 HRESULT EncodeMessage
(
335 [in] IMimeMessageTree */
*const*/ pTree
,
339 [in] IMimeMessageTree */
*const*/ pTree
,
340 [in] HBODY hEncodeRoot
,
343 HRESULT DecodeMessage
(
344 [in] IMimeMessageTree */
*const*/ pTree
,
348 [in] IMimeMessageTree */
*const*/ pTree
,
349 [in] HBODY hDecodeRoot
,
352 HRESULT EnumCertificates
(
353 [in] HCAPICERTSTORE hc
,
355 [in] PCX509CERT pPrev
,
356 [out] PCX509CERT
*ppCert
);
358 HRESULT GetCertificateName
(
359 [in] const PCX509CERT pX509Cert
,
360 [in] const CERTNAMETYPE cn
,
361 [out] LPSTR
*ppszName
);
363 HRESULT GetMessageType
(
364 [in] const HWND hwndParent
,
365 [in] IMimeBody */
*const*/ pBody
,
366 [out] DWORD */
*const*/ pdwSecType
);
369 [in] const PCX509CERT pX509Cert
,
370 [in] const CERTDATAID dataid
,
371 [out, ref] LPPROPVARIANT pValue
);
375 uuid(fd853cd1
-7f86
-11d0
-8252-00c04fd85ab4
),
378 interface IMimeHeaderTable
: IPersistStream
380 /* FIXME: fill this in */
384 uuid(fd853cec
-7f86
-11d0
-8252-00c04fd85ab4
),
387 interface IMimePropertySchema
: IUnknown
389 typedef enum tagMIMEPROPFLAGS
394 MPF_HASPARAMS
= 0x08,
399 /* FIXME: fill this in */
403 uuid(fd853cd3
-7f86
-11d0
-8252-00c04fd85ab4
),
406 interface IMimePropertySet
: IPersistStreamInit
408 typedef [unique] IMimePropertySet
*LPMIMEPROPERTYSET
;
410 cpp_quote
("#define PDF_ENCODED 0x00000001")
411 cpp_quote
("#define PDF_NAMEINDATA 0x00000002")
412 cpp_quote
("#define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED)")
413 cpp_quote
("#define PDF_NOCOMMENTS 0x00000008")
414 cpp_quote
("#define PDF_SAVENOENCODE 0x00000010")
415 cpp_quote
("#define PDF_VECTOR 0x00000020")
417 typedef struct tagMIMEPARAMINFO
421 } MIMEPARAMINFO
, *LPMIMEPARAMINFO
;
423 typedef enum tagPROPINFOMASK
426 PIM_ENCODINGTYPE
= 0x02,
427 PIM_ROWNUMBER
= 0x04,
431 PIM_VTDEFAULT
= 0x40,
435 typedef struct tagMIMEPROPINFO
439 ENCODINGTYPE ietEncoding
;
446 } MIMEPROPINFO
, *LPMIMEPROPINFO
;
447 typedef const MIMEPROPINFO
*LPCMIMEPROPINFO
;
451 [in,out] LPMIMEPROPINFO pInfo
);
455 [in] LPCMIMEPROPINFO pInfo
);
457 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
458 cpp_quote
("#undef GetProp")
459 cpp_quote
("#undef SetProp")
460 cpp_quote
("#undef EnumProps")
465 [in,out] LPPROPVARIANT pValue
);
470 [in] LPCPROPVARIANT pValue
);
475 [in] LPPROPVARIANT pValue
);
478 [in] LPCSTR pszName
);
482 [in,unique] LPCSTR
*prgszName
,
483 [in] IMimePropertySet
*pPropertySet
);
487 [in] LPCSTR
*prgszName
,
488 [in] IMimePropertySet
*pPropertySet
);
490 HRESULT DeleteExcept
(
492 [in] LPCSTR
*prgszName
);
496 [in] LPCSTR pszCriteria
,
497 [in] boolean fSubString
,
498 [in] boolean fCaseSensitive
);
501 [out] LPHCHARSET phCharset
);
504 [in] HCHARSET hCharset
,
505 [in] CSETAPPLYTYPE applytype
);
507 HRESULT GetParameters
(
509 [out] ULONG
*pcParams
,
510 [out] LPMIMEPARAMINFO
*pprgParam
);
512 HRESULT IsContentType
(
513 [in] LPCSTR pszPriType
,
514 [in,unique] LPCSTR pszSubType
);
516 HRESULT BindToObject
(
518 [out,iid_is(riid
)] void **ppvObject
);
521 [out] IMimePropertySet
**ppPropertySet
);
524 [in] const TYPEDID oid
,
525 [in] LPCPROPVARIANT pValue
);
528 [in] const TYPEDID oid
,
529 [in,out] LPPROPVARIANT pValue
);
531 cpp_quote
("#define EPF_NONAME 0x00000001")
535 [out] IMimeEnumProperties
**ppEnum
);
540 uuid(c558834a
-7f86
-11d0
-8252-00c04fd85ab4
),
543 interface IMimeAddressTable
: IUnknown
545 typedef [unique] IMimeAddressTable
*LPMIMEADDRESSTABLE
;
547 DECLARE_HANDLE
(HADDRESS
);
548 typedef HADDRESS
*LPHADDRESS
;
549 typedef DWORD IADDRESSTYPE
;
551 typedef enum tagADDRESSFORMAT
553 AFT_DISPLAY_FRIENDLY
,
561 typedef struct tagADDRESSPROPS
565 ENCODINGTYPE ietFriendly
;
573 THUMBBLOB tbEncryption
;
577 } ADRESSPROPS
, *LPADDRESSPROPS
;
579 typedef struct tagADDRESSLIST
582 LPADDRESSPROPS prgAdr
;
583 } ADDRESSLIST
, *LPADDRESSLIST
;
585 /* FIXME: fill this in */
589 uuid(ee519f11
-851a
-11d0
-8252-00c04fd85ab4
),
592 interface IMimeWebDocument
: IUnknown
594 /* FIXME: fill this in */
598 uuid(c558834c
-7f86
-11d0
-8252-00c04fd85ab4
),
601 interface IMimeBody
: IMimePropertySet
603 typedef [unique] IMimeBody
*LPMIMEBODY
;
605 typedef enum tagIMSGBODYTYPE
614 typedef struct tagBODYOFFSETS
616 DWORD cbBoundaryStart
;
620 } BODYOFFSETS
, *LPBODYOFFSETS
;
622 typedef struct tagTRANSMITINFO
624 ENCODINGTYPE ietCurrent
;
625 ENCODINGTYPE ietXmitMime
;
626 ENCODINGTYPE ietXmit822
;
632 } TRANSMITINFO
, *LPTRANSMITINFO
;
635 [in] IMSGBODYTYPE bodytype
);
637 HRESULT SetDisplayName
(
638 [in] LPCSTR pszDisplay
);
640 HRESULT GetDisplayName
(
641 [out] LPSTR
*ppszDisplay
);
644 [out] LPBODYOFFSETS pOffsets
);
646 HRESULT GetCurrentEncoding
(
647 [out] ENCODINGTYPE
*pietEncoding
);
649 HRESULT SetCurrentEncoding
(
650 [in] ENCODINGTYPE ietEncoding
);
652 HRESULT GetEstimatedSize
(
653 [in] ENCODINGTYPE ietEncoding
,
654 [out] ULONG
*pcbSize
);
657 [in] ENCODINGTYPE ietEncoding
,
658 [in] IStream
*pStream
);
661 [in] ENCODINGTYPE ietEncoding
,
662 [out] IStream
**ppStream
);
665 [in] ENCODINGTYPE ietEncoding
,
666 [in,unique] LPCSTR pszPriType
,
667 [in,unique] LPCSTR pszSubType
,
669 [in,iid_is(riid
)] LPVOID pvObject
);
671 HRESULT EmptyData
(void);
674 [in] IMimeBody
*pBody
);
676 HRESULT GetTransmitInfo
(
677 [in,out] LPTRANSMITINFO pTransmitInfo
);
680 [in] ENCODINGTYPE ietEncoding
,
681 [in] LPCSTR pszFilePath
);
684 [out] LPHBODY phBody
);
689 uuid(fd853cd4
-7f86
-11d0
-8252-00c04fd85ab4
),
692 interface IMimeMessageTree
: IPersistStreamInit
694 typedef [unique] IMimeMessageTree
*LPMIMEMESSAGETREE
;
696 const HBODY HBODY_ROOT
= (HBODY
)-1;
698 typedef enum tagBODYLOCATION
708 typedef struct tagFINDBODY
713 } FINDBODY
, *LPFINDBODY
;
715 HRESULT GetMessageSource
(
716 [out] IStream
**ppStream
,
719 HRESULT GetMessageSize
(
720 [out] ULONG
*pcbSize
,
723 HRESULT LoadOffsetTable
(
724 [in] IStream
*pStream
);
726 HRESULT SaveOffsetTable
(
727 [in] IStream
*pStream
,
731 [out] DWORD
*pdwFlags
);
736 HRESULT HandsOffStorage
();
738 HRESULT BindToObject
(
739 [in] const HBODY hBody
,
741 [out, iid_is(riid
)] void **ppvObject
);
746 [in] IStream
*pStream
);
749 [in] BODYLOCATION location
,
751 [out] LPHBODY phBody
);
754 [in] BODYLOCATION location
,
756 [out] LPHBODY phBody
);
764 [in] BODYLOCATION location
);
768 [in] boolean fRecurse
,
769 [out] ULONG
*pcBodies
);
772 [in, out] LPFINDBODY pFindBody
,
773 [out] LPHBODY phBody
);
776 [in, out] LPFINDBODY pFindBody
,
777 [out] LPHBODY phBody
);
784 [out] LPHBODY phBody
);
788 [in] LPCSTR pszSubType
,
789 [out] LPHBODY phMultipart
);
791 HRESULT GetBodyOffsets
(
793 [in, out] LPBODYOFFSETS pOffsets
);
796 [out] LPHCHARSET phCharset
);
799 [in] HCHARSET hCharset
,
800 [in] CSETAPPLYTYPE applytype
);
804 [in] IMSGBODYTYPE bodytype
);
806 HRESULT IsContentType
(
808 [in] LPCSTR pszPriType
,
809 [in] LPCSTR pszSubType
);
811 HRESULT QueryBodyProp
(
814 [in] LPCSTR pszCriteria
,
815 [in] boolean fSubString
,
816 [in] boolean fCaseSensitive
);
822 [in, out] LPPROPVARIANT pValue
);
828 [in] LPCPROPVARIANT pValue
);
830 HRESULT DeleteBodyProp
(
832 [in] LPCSTR pszName
);
835 [in] const TYPEDID oid
,
836 [in] LPCPROPVARIANT pValue
);
839 [in] const TYPEDID oid
,
840 [in, out] LPPROPVARIANT pValue
);
844 uuid(fd853cd5
-7f86
-11d0
-8252-00c04fd85ab4
),
847 interface IMimeMessage
: IMimeMessageTree
849 typedef [unique] IMimeMessage
*LPMIMEMESSAGE
;
851 typedef DWORD TEXTTYPE
;
853 typedef enum tagIMSGFLAGS
855 IMF_ATTACHMENTS
= 0x00000001,
856 IMF_MULTIPART
= 0x00000002,
857 IMF_SUBMULTIPART
= 0x00000004,
858 IMF_MIME
= 0x00000008,
859 IMF_HTML
= 0x00000010,
860 IMF_PLAIN
= 0x00000020,
861 IMF_PARTIAL
= 0x00000040,
862 IMF_SIGNED
= 0x00000080,
863 IMF_ENCRYPTED
= 0x00000100,
864 IMF_TNEF
= 0x00000200,
865 IMF_MHTML
= 0x00000400,
866 IMF_SECURE
= 0x00000800,
867 IMF_TEXT
= 0x00001000,
868 IMF_CSETTAGGED
= 0x00002000,
869 IMF_NEWS
= 0x00004000,
870 IMF_VOICEMAIL
= 0x00008000,
871 IMF_HASVCARD
= 0x00010000,
872 IMF_RFC1154
= 0x00020000,
875 typedef enum tagIMSGPRIORITY
882 cpp_quote
("#define WPF_HTML 0x00000001")
883 cpp_quote
("#define WPF_AUTOINLINE 0x00000002")
884 cpp_quote
("#define WPF_SLIDESHOW 0x00000004")
885 cpp_quote
("#define WPF_ATTACHLINKS 0x00000008")
886 cpp_quote
("#define WPF_IMAGESONLY 0x00000010")
887 cpp_quote
("#define WPF_NOMETACHARSET 0x00000020")
889 typedef struct tagWEPAGEOPTIONS
895 } WEBPAGEOPTIONS
, *LPWEBPAGEOPTIONS
;
897 HRESULT CreateWebPage
(
898 [in] IStream
*pRootStm
,
899 [in] LPWEBPAGEOPTIONS pOptions
,
900 [in] IMimeMessageCallback
*pCallback
,
901 [out] IMoniker
**ppMoniker
);
906 [in,out] LPPROPVARIANT pValue
);
911 [in] LPCPROPVARIANT pValue
);
914 [in] LPCSTR pszName
);
918 [in] LPCSTR pszCriteria
,
919 [in] boolean fSubString
,
920 [in] boolean fCaseSensitive
);
923 [in] DWORD dwTxtType
,
924 [in] ENCODINGTYPE ietEncoding
,
925 [out] IStream
**pStream
,
926 [out] LPHBODY phBody
);
929 [in] DWORD dwTxtType
,
930 [in] ENCODINGTYPE ietEncoding
,
931 [in] HBODY hAlternative
,
932 [in] IStream
*pStream
,
933 [out] LPHBODY phBody
);
935 HRESULT AttachObject
(
937 [in, iid_is(riid
)] void *pvObject
,
938 [out] LPHBODY phBody
);
941 [in] LPCSTR pszFilePath
,
942 [in] IStream
*pstmFile
,
943 [out] LPHBODY phBody
);
949 [in] IStream
*pstmURL
,
950 [out] LPSTR
*ppszCIDURL
,
951 [out] LPHBODY phBody
);
953 HRESULT GetAttachments
(
954 [out] ULONG
*pcAttach
,
955 [out] LPHBODY
*pprghAttach
);
957 HRESULT GetAddressTable
(
958 [out] IMimeAddressTable
**ppTable
);
961 [in, out] LPADDRESSPROPS pAddress
);
963 HRESULT GetAddressTypes
(
964 [in] DWORD dwAdrTypes
,
966 [in, out] LPADDRESSLIST pList
);
968 HRESULT GetAddressFormat
(
969 [in] DWORD dwAdrTypes
,
970 [in] ADDRESSFORMAT format
,
971 [out] LPSTR
*ppszFormat
);
973 HRESULT EnumAddressTypes
(
974 [in] DWORD dwAdrTypes
,
976 [out] IMimeEnumAddressTypes
**ppEnum
);
978 HRESULT SplitMessage
(
979 [in] ULONG cbMaxPart
,
980 [out] IMimeMessageParts
**ppParts
);
982 HRESULT GetRootMoniker
(
983 [out] IMoniker
**ppMoniker
);
987 uuid(761aa741
-7bda
-11d1
-8aa9
-00c04fb951f3
),
990 interface IMimeMessageCallback
: IUnknown
992 HRESULT OnWebPageSplitter
(
994 [in] IStream
*ppStream
);
998 uuid(de4ad8da
-555f
-11d1
-8dd0
-00c04fb951f9
),
1001 interface IPersistMime
: IPersist
1003 /* FIXME: fill this in */
1007 uuid(c558834f
-7f86
-11d0
-8252-00c04fd85ab4
),
1010 interface IMimeMessageParts
: IUnknown
1012 /* FIXME: fill this in */
1016 uuid(c558834d
-7f86
-11d0
-8252-00c04fd85ab4
),
1019 interface IMimeEnumHeaderRows
: IUnknown
1021 typedef struct tagENUMHEADERROW
1027 DWORD_PTR dwReserved
;
1028 } ENUMHEADERROW
, *LPENUMHEADERROW
;
1030 /* FIXME: fill this in */
1034 uuid(fd853cee
-7f86
-11d0
-8252-00c04fd85ab4
),
1037 interface IMimeEnumProperties
: IUnknown
1039 typedef struct tagENUMPROPERTY
1044 } ENUMPROPERTY
, *LPENUMPROPERTY
;
1046 /* FIXME: fill this in */
1050 uuid(c5588354
-7f86
-11d0
-8252-00c04fd85ab4
),
1053 interface IMimeEnumAddressTypes
: IUnknown
1055 /* FIXME: fill this in */
1059 uuid(c5588350
-7f86
-11d0
-8252-00c04fd85ab4
),
1062 interface IMimeEnumMessageParts
: IUnknown
1064 /* FIXME: fill this in */
1068 uuid(64577981-86d7
-11d1
-bdfc
-00c04fa31009
),
1071 interface IHashTable
: IUnknown
1073 /* FIXME: fill this in */
1077 uuid(c5588351
-7f86
-11d0
-8252-00c04fd85ab4
),
1080 interface IMimeAllocator
: IMalloc
1082 typedef [unique] IMimeAllocator
*LPMIMEALLOCATOR
;
1084 HRESULT FreeParamInfoArray
(
1086 [in] LPMIMEPARAMINFO prgParam
,
1087 [in] boolean fFreeArray
);
1089 HRESULT FreeAddressList
(
1090 [in,out] LPADDRESSLIST pList
);
1092 HRESULT FreeAddressProps
(
1093 [in,out] LPADDRESSPROPS pAddress
);
1095 HRESULT ReleaseObjects
(
1096 [in] ULONG cObjects
,
1097 [in] IUnknown
**prgpUnknown
,
1098 [in] boolean fFreeArray
);
1100 HRESULT FreeEnumHeaderRowArray
(
1102 [in] LPENUMHEADERROW prgRow
,
1103 [in] boolean fFreeArray
);
1105 HRESULT FreeEnumPropertyArray
(
1107 [in] LPENUMPROPERTY prgProp
,
1108 [in] boolean fFreeArray
);
1110 HRESULT FreeThumbprint
(
1111 [in] THUMBBLOB
*pthumbprint
);
1113 HRESULT PropVariantClear
(
1114 [in] LPPROPVARIANT pProp
);
1119 uuid(feceaffd
-c441
-11d1
-960e-00c04fbd7c09
),
1122 interface IMimeObjResolver
: IUnknown
1124 /* FIXME: fill this in */
1128 uuid(b0d17fc2
-7bc4
-11d1
-bdfa
-00c04fa31009
),
1131 interface IFontCache
: IUnknown
1133 /* FIXME: fill this in */
1137 uuid(b0d17fc5
-7bc4
-11d1
-bdfa
-00c04fa31009
),
1140 interface IFontCacheNotify
: IUnknown
1142 /* FIXME: fill this in */
1146 uuid(70183210-7b36
-11d2
-8c12
-00c04fa31009
),
1149 interface IMimeEditTag
: IUnknown
1151 /* FIXME: fill this in */
1155 uuid(d09ee528
-7b38
-11d2
-8c12
-00c04fa31009
),
1158 interface IMimeEditTagCollection
: IUnknown
1160 /* FIXME: fill this in */
1164 cpp_quote
("#ifdef __cplusplus")
1165 cpp_quote
(" extern \"C\" {")
1169 cpp_quote
("HRESULT WINAPI MimeOleSetCompatMode(DWORD);")
1170 cpp_quote
("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);")
1171 cpp_quote
("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);")
1172 cpp_quote
("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);")
1173 cpp_quote
("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);")
1174 cpp_quote
("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);")
1175 cpp_quote
("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);")
1176 cpp_quote
("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);")
1177 cpp_quote
("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1178 cpp_quote
("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1179 cpp_quote
("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);")
1180 cpp_quote
("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);")
1181 cpp_quote
("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);")
1182 cpp_quote
("HRESULT WINAPI MimeOleCreateByteStream(IStream**);")
1183 cpp_quote
("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);")
1184 cpp_quote
("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);")
1185 cpp_quote
("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);")
1186 cpp_quote
("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);")
1187 cpp_quote
("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);")
1188 cpp_quote
("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);")
1189 cpp_quote
("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);")
1190 cpp_quote
("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);")
1191 cpp_quote
("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);")
1192 cpp_quote
("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);")
1193 cpp_quote
("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);")
1194 cpp_quote
("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);")
1195 cpp_quote
("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);")
1196 cpp_quote
("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);")
1197 cpp_quote
("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);")
1198 cpp_quote
("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);")
1199 cpp_quote
("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);")
1200 cpp_quote
("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);")
1201 cpp_quote
("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);")
1202 cpp_quote
("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);")
1203 cpp_quote
("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);")
1204 cpp_quote
("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);")
1205 cpp_quote
("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);")
1206 cpp_quote
("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);")
1207 cpp_quote
("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);")
1208 cpp_quote
("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);")
1209 cpp_quote
("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);")
1210 cpp_quote
("HRESULT WINAPI MimeOleIsTnefStream(IStream*);")
1211 cpp_quote
("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);")
1212 cpp_quote
("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);")
1213 cpp_quote
("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);")
1214 cpp_quote
("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);")
1215 cpp_quote
("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);")
1216 cpp_quote
("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);")
1217 cpp_quote
("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);")
1218 cpp_quote
("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);")
1219 cpp_quote
("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);")
1220 cpp_quote
("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);")
1221 cpp_quote
("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);")
1222 cpp_quote
("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);")
1223 cpp_quote
("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);")
1224 cpp_quote
("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);")
1225 cpp_quote
("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);")
1226 cpp_quote
("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);")
1227 cpp_quote
("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);")
1228 cpp_quote
("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);")
1229 cpp_quote
("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);")
1230 cpp_quote
("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);")
1231 cpp_quote
("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);")
1232 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);")
1233 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);")
1234 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);")
1235 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);")
1236 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);")
1237 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1238 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1239 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);")
1240 cpp_quote
("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);")
1241 cpp_quote
("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);")
1242 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);")
1243 cpp_quote
("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);")
1244 cpp_quote
("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);")
1246 cpp_quote
("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);")
1247 cpp_quote
("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);")
1248 cpp_quote
("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);")
1249 cpp_quote
("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);")
1250 cpp_quote
("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);")
1251 cpp_quote
("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);")
1253 cpp_quote
("#ifdef __cplusplus")