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);")
35 cpp_quote
("DEFINE_GUID(CLSID_IMimeSecurity, 0xfd853cde, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
36 cpp_quote
("DEFINE_GUID(CLSID_IVirtualStream, 0xfd853cdf, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
37 cpp_quote
("DEFINE_GUID(CLSID_IMimeHtmlProtocol,0x5300401,0xbcbc, 0x11d0, 0x85, 0xe3, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
38 cpp_quote
("DEFINE_GUID(CLSID_MimeEdit, 0x1c82ead9, 0x508e, 0x11d1, 0x8d, 0xcf, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf9);")
40 cpp_quote
("#define MIME_E_REG_CREATE_KEY 0x800cce01")
41 cpp_quote
("#define MIME_E_REG_QUERY_INFO 0x800cce02")
42 cpp_quote
("#define MIME_E_INVALID_ENCTYPE 0x800cce03")
43 cpp_quote
("#define MIME_E_BOUNDARY_MISMATCH 0x800cce04")
44 cpp_quote
("#define MIME_E_NOT_FOUND 0x800cce05")
45 cpp_quote
("#define MIME_E_NO_DATA 0x800cce05")
46 cpp_quote
("#define MIME_E_BUFFER_TOO_SMALL 0x800cce06")
47 cpp_quote
("#define MIME_E_INVALID_ITEM_FLAGS 0x800cce07")
48 cpp_quote
("#define MIME_E_ONE_LINE_ITEME 0x800cce08")
49 cpp_quote
("#define MIME_E_INVALID_HANDLE 0x800cce09")
50 cpp_quote
("#define MIME_E_CHARSET_TRANSLATE 0x800cce0a")
51 cpp_quote
("#define MIME_E_NOT_INITIALIZED 0x800cce0b")
53 cpp_quote
("#define MIME_E_INVALID_OPTION_VALUE 0x800cce1f")
54 cpp_quote
("#define MIME_E_INVALID_OPTION_ID 0x800cce20")
55 cpp_quote
("#define MIME_E_INVALID_HEADER_NAME 0x800cce21")
56 cpp_quote
("#define MIME_E_NOT_BOUND 0x800cce22")
57 cpp_quote
("#define MIME_E_MAX_SIZE_TOO_SMALL 0x800cce23")
58 cpp_quote
("#define MIME_E_MULTIPART_HAS_CHILDREN 0x800cce25")
59 cpp_quote
("#define MIME_E_INVALID_PROP_FLAGS 0x800cce26")
60 cpp_quote
("#define MIME_E_INVALID_ADDRESS_TYPE 0x800cce27")
61 cpp_quote
("#define MIME_E_INVALID_OBJECT_IID 0x800cce28")
62 cpp_quote
("#define MIME_E_MLANG_DLL_NOT_FOUND 0x800cce29")
63 cpp_quote
("#define MIME_E_ROOT_NOT_EMPTY 0x800cce2a")
64 cpp_quote
("#define MIME_E_MLANG_BAD_DLL 0x800cce2b")
65 cpp_quote
("#define MIME_E_REG_OPEN_KEY 0x800cce2c")
66 cpp_quote
("#define MIME_E_INVALID_INET_DATE 0x800cce2d")
67 cpp_quote
("#define MIME_E_INVALID_BODYTYPE 0x800cce2e")
68 cpp_quote
("#define MIME_E_INVALID_DELETE_TYPE 0x800cce2f")
69 cpp_quote
("#define MIME_E_OPTION_HAS_NO_VALUE 0x800cce30")
70 cpp_quote
("#define MIME_E_INVALID_CHARSET_TYPE 0x800cce31")
72 cpp_quote
("#define MIME_E_INVALID_TEXT_TYPE 0x800cce38")
74 cpp_quote
("#define MIME_E_SECURITY_NOOP 0x800cceb1")
75 cpp_quote
("#define MIME_S_SECURITY_NOOP 0x000cceb1")
77 cpp_quote
("typedef enum tagMIMEPROPID {")
78 cpp_quote
(" PID_HDR_NEWSGROUP = 2,")
79 cpp_quote
(" PID_HDR_NEWSGROUPS = 3,")
80 cpp_quote
(" PID_HDR_REFS = 4,")
81 cpp_quote
(" PID_HDR_SUBJECT = 5,")
82 cpp_quote
(" PID_HDR_FROM = 6,")
83 cpp_quote
(" PID_HDR_MESSAGEID = 7,")
84 cpp_quote
(" PID_HDR_RETURNPATH = 8,")
85 cpp_quote
(" PID_HDR_RR = 9,")
86 cpp_quote
(" PID_HDR_RETRCPTO = 10,")
87 cpp_quote
(" PID_HDR_APPARTO = 11,")
88 cpp_quote
(" PID_HDR_DATE = 12,")
89 cpp_quote
(" PID_HDR_RECEIVED = 13,")
90 cpp_quote
(" PID_HDR_REPLYTO = 14,")
91 cpp_quote
(" PID_HDR_XMAILER = 15,")
92 cpp_quote
(" PID_HDR_BCC = 16,")
93 cpp_quote
(" PID_HDR_MIMEVER = 17,")
94 cpp_quote
(" PID_HDR_CNTTYPE = 18,")
95 cpp_quote
(" PID_HDR_CNTXFER = 19,")
96 cpp_quote
(" PID_HDR_CNTID = 20,")
97 cpp_quote
(" PID_HDR_CNTDESC = 21,")
98 cpp_quote
(" PID_HDR_CNTDISP = 22,")
99 cpp_quote
(" PID_HDR_CNTBASE = 23,")
100 cpp_quote
(" PID_HDR_CNTLOC = 24,")
101 cpp_quote
(" PID_HDR_TO = 25,")
102 cpp_quote
(" PID_HDR_PATH = 26,")
103 cpp_quote
(" PID_HDR_FOLLOWUPTO = 27,")
104 cpp_quote
(" PID_HDR_EXPIRES = 28,")
105 cpp_quote
(" PID_HDR_CC = 29,")
106 cpp_quote
(" PID_HDR_CONTROL = 30,")
107 cpp_quote
(" PID_HDR_DISTRIB = 31,")
108 cpp_quote
(" PID_HDR_KEYWORDS = 32,")
109 cpp_quote
(" PID_HDR_SUMMARY = 33,")
110 cpp_quote
(" PID_HDR_APPROVED = 34,")
111 cpp_quote
(" PID_HDR_LINES = 35,")
112 cpp_quote
(" PID_HDR_XREF = 36,")
113 cpp_quote
(" PID_HDR_ORG = 37,")
114 cpp_quote
(" PID_HDR_XNEWSRDR = 38,")
115 cpp_quote
(" PID_HDR_XPRI = 39,")
116 cpp_quote
(" PID_HDR_XMSPRI = 40,")
117 cpp_quote
(" PID_PAR_FILENAME = 41,")
118 cpp_quote
(" PID_PAR_BOUNDARY = 42,")
119 cpp_quote
(" PID_PAR_CHARSET = 43,")
120 cpp_quote
(" PID_PAR_NAME = 44,")
121 cpp_quote
(" PID_ATT_FILENAME = 45,")
122 cpp_quote
(" PID_ATT_GENFNAME = 46,")
123 cpp_quote
(" PID_ATT_PRITYPE = 47,")
124 cpp_quote
(" PID_ATT_SUBTYPE = 48,")
125 cpp_quote
(" PID_ATT_NORMSUBJ = 49,")
126 cpp_quote
(" PID_ATT_ILLEGAL = 50,")
127 cpp_quote
(" PID_ATT_RENDERED = 51,")
128 cpp_quote
(" PID_ATT_SENTTIME = 52,")
129 cpp_quote
(" PID_ATT_RECVTIME = 53,")
130 cpp_quote
(" PID_ATT_PRIORITY = 54,")
131 cpp_quote
(" PID_HDR_COMMENT = 55,")
132 cpp_quote
(" PID_HDR_ENCODING = 56,")
133 cpp_quote
(" PID_HDR_ENCRYPTED = 57,")
134 cpp_quote
(" PID_HDR_OFFSETS = 58,")
135 cpp_quote
(" PID_HDR_XUNSENT = 59,")
136 cpp_quote
(" PID_HDR_ARTICLEID = 60,")
137 cpp_quote
(" PID_HDR_SENDER = 61,")
138 cpp_quote
(" PID_ATT_SERVER = 62,")
139 cpp_quote
(" PID_ATT_ACCOUNT = 63,")
140 cpp_quote
(" PID_ATT_UIDL = 64,")
141 cpp_quote
(" PID_ATT_STOREMSGID = 65,")
142 cpp_quote
(" PID_ATT_USERNAME = 66,")
143 cpp_quote
(" PID_ATT_FORWARDTO = 67,")
144 cpp_quote
(" PID_ATT_STOREFOLDERID = 68,")
145 cpp_quote
(" PID_ATT_GHOSTED = 69,")
146 cpp_quote
(" PID_ATT_UNCACHEDSIZE = 70,")
147 cpp_quote
(" PID_ATT_COMBINED = 71,")
148 cpp_quote
(" PID_ATT_AUTOINLINED = 72,")
149 cpp_quote
(" PID_HDR_DISP_NOTIFICATION_TO = 73,")
150 cpp_quote
(" PID_PAR_REPLYTYPE = 74,")
151 cpp_quote
(" PID_PAR_FORMAT = 75,")
152 cpp_quote
(" PID_ATT_FORMAT = 76,")
153 cpp_quote
(" PID_HDR_INREPLYTO = 77,")
154 cpp_quote
(" PID_ATT_ACCOUNTNAME = 78,")
155 cpp_quote
(" PID_LAST = 79,")
156 cpp_quote
("} MIMEPROPID;")
158 cpp_quote
("#define ISPIDSTR(_name) (((DWORD_PTR)(_name) >> 16) == 0)")
159 cpp_quote
("#define STRTOPID(_name) ((DWORD)((DWORD_PTR)((LPCSTR)(_name))))")
160 cpp_quote
("#define PIDTOSTR(_id) ((LPCSTR)((DWORD_PTR)(_id)))")
162 cpp_quote
("#define TYPEDID_ID(_typedid) (((ULONG)(_typedid))>>16)")
163 cpp_quote
("#define TYPEDID_MASK ((ULONG)0xffff)")
164 cpp_quote
("#define TYPEDID_TYPE(t) ((VARTYPE)((t) & TYPEDID_MASK))")
166 cpp_quote
("#define OID_ALLOW_8BIT_HEADER (0x00010000 | VT_BOOL)")
167 cpp_quote
("#define OID_CBMAX_HEADER_LINE (0x00020000 | VT_UI4)")
168 cpp_quote
("#define OID_SAVE_FORMAT (0x00030000 | VT_UI4)")
169 cpp_quote
("#define OID_WRAP_BODY_TEXT (0x00040000 | VT_BOOL)")
170 cpp_quote
("#define OID_CBMAX_BODY_LINE (0x00050000 | VT_UI4)")
171 cpp_quote
("#define OID_TRANSMIT_BODY_ENCODING (0x00060000 | VT_UI4)")
172 cpp_quote
("#define OID_TRANSMIT_TEXT_ENCODING (0x00070000 | VT_UI4)")
173 cpp_quote
("#define OID_GENERATE_MESSAGE_ID (0x00080000 | VT_BOOL)")
174 cpp_quote
("#define OID_HIDE_TNEF_ATTACHMENTS (0x000e0000 | VT_BOOL)")
175 cpp_quote
("#define OID_CLEANUP_TREE_ON_SAVE (0x000f0000 | VT_BOOL)")
176 cpp_quote
("#define OID_BODY_REMOVE_NBSP (0x00140000 | VT_BOOL)")
177 cpp_quote
("#define OID_DEFAULT_BODY_CHARSET (0x00150000 | VT_UI4)")
178 cpp_quote
("#define OID_DEFAULT_HEADER_CHARSET (0x00160000 | VT_UI4)")
179 cpp_quote
("#define OID_DBCS_ESCAPE_IS_8BIT (0x00170000 | VT_BOOL)")
180 cpp_quote
("#define OID_SECURITY_TYPE (0x00180000 | VT_UI4)")
181 cpp_quote
("#define OID_SECURITY_HWND_OWNER (0x00320000 | VT_UI4)")
182 cpp_quote
("#define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4)")
183 cpp_quote
("#define OID_CAN_INLINE_TEXT_BODIES (0x00380000 | VT_BOOL)")
184 cpp_quote
("#define OID_SHOW_MACBINARY (0x00390000 | VT_BOOL)")
185 cpp_quote
("#define OID_SAVEBODY_KEEPBOUNDARY (0x00400000 | VT_BOOL)")
187 cpp_quote
("#define OID_SECURITY_2KEY_CERT_BAG (0x00590000 | VT_VECTOR | VT_UI4)")
188 cpp_quote
("#define OID_SECURITY_2KEY_CERT_BAG_64 (0x00590000 | VT_VECTOR | VT_UI8)")
191 uuid(e4b28371
-83b0
-11d0
-8259-00c04fd85ab4
),
196 importlib
("stdole2.tlb");
198 DECLARE_HANDLE
(HCHARSET
);
199 DECLARE_HANDLE
(HBODY
);
200 DECLARE_HANDLE
(HHEADERROW
);
202 typedef HCHARSET
*LPHCHARSET
;
203 typedef HBODY
*LPHBODY
;
204 typedef HHEADERROW
*LPHHEADERROW
;
205 typedef DWORD TYPEDID
;
206 typedef const PROPVARIANT
*LPCPROPVARIANT
;
207 typedef const BLOB
*LPCBLOB
;
209 typedef enum tagRELOADTYPE
213 RELOAD_HEADER_APPEND
,
214 RELOAD_HEADER_REPLACE
,
217 typedef enum tagMIMESAVETYPE
223 typedef enum tagCSETAPPLYTYPE
230 typedef enum tagENCODINGTYPE
248 const SHORT IET_DECODED
= IET_BINARY
;
250 const SHORT CCHMAX_HEADER_LINE
= 1000;
253 uuid(c5588349
-7f86
-11d0
-8252-00c04fd85ab4
),
256 interface IMimeInternational
: IUnknown
258 typedef [unique] IMimeInternational
*LPMIMEINTERNATIONAL
;
259 typedef DWORD CODEPAGEID
;
261 const CODEPAGEID CP_USASCII
= 1252;
262 const CODEPAGEID CP_UNICODE
= 1200;
263 const CODEPAGEID CP_JAUTODETECT
= 50932;
264 const CODEPAGEID CP_KAUTODETECT
= 50949;
265 const CODEPAGEID CP_ISO2022JPESC
= 50221;
266 const CODEPAGEID CP_ISO2022JPSIO
= 50222;
268 const SHORT CCHMAX_CSET_NAME
= 128;
269 const SHORT CCHMAX_LANG_NAME
= 128;
270 const SHORT CCHMAX_FACE_NAME
= 128;
272 typedef struct tagINETCSETINFO
274 CHAR szName
[CCHMAX_CSET_NAME
];
276 CODEPAGEID cpiWindows
;
277 CODEPAGEID cpiInternet
;
279 } INETCSETINFO
, *LPINETCSETINFO
;
281 typedef enum tagINETLANGMASK
286 ILM_HEADERCSET
= 0x08,
288 ILM_FIXEDFONT
= 0x20,
289 ILM_VARIABLEFONT
= 0x40,
292 typedef struct tagCODEPAGEINFO
295 CODEPAGEID cpiCodePage
;
296 BOOL fIsValidCodePage
;
299 CODEPAGEID cpiFamily
;
300 CHAR szName
[CCHMAX_LANG_NAME
];
301 CHAR szBodyCset
[CCHMAX_CSET_NAME
];
302 CHAR szHeaderCset
[CCHMAX_CSET_NAME
];
303 CHAR szWebCset
[CCHMAX_CSET_NAME
];
304 CHAR szFixedFont
[CCHMAX_FACE_NAME
];
305 CHAR szVariableFont
[CCHMAX_FACE_NAME
];
306 ENCODINGTYPE ietNewsDefault
;
307 ENCODINGTYPE ietMailDefault
;
309 } CODEPAGEINFO
, *LPCODEPAGEINFO
;
311 typedef struct tagRFC1522INFO
313 BOOL fRfc1522Allowed
;
316 HCHARSET hRfc1522Cset
;
317 } RFC1522INFO
, *LPRFC1522INFO
;
319 typedef enum tagCHARSETTYPE
327 HRESULT SetDefaultCharset
(
328 [in] HCHARSET hCharset
);
329 HRESULT GetDefaultCharset
(
330 [out] LPHCHARSET phCharset
);
331 HRESULT GetCodePageCharset
(
332 [in] CODEPAGEID cpiCodePage
,
333 [in] CHARSETTYPE ctCsetType
,
334 [out] LPHCHARSET phCharset
);
336 [in] LPCSTR pszCharset
,
337 [out] LPHCHARSET phCharset
);
338 HRESULT GetCharsetInfo
(
339 [in] HCHARSET hCharset
,
340 [in, out] LPINETCSETINFO pCsetInfo
);
341 HRESULT GetCodePageInfo
(
342 [in] CODEPAGEID cpiCodePage
,
343 [in, out] LPCODEPAGEINFO pCodePageInfo
);
344 HRESULT CanConvertCodePages
(
345 [in] CODEPAGEID cpiSource
,
346 [in] CODEPAGEID cpiDest
);
347 HRESULT DecodeHeader
(
348 [in] HCHARSET hCharset
,
350 [in, out] LPPROPVARIANT pDecoded
,
351 [in, out] LPRFC1522INFO pRfc1522Info
);
352 HRESULT EncodeHeader
(
353 [in] HCHARSET hCharset
,
354 [in] LPPROPVARIANT pData
,
355 [out] LPSTR
*ppszEncoded
,
356 [in, out] LPRFC1522INFO pRfc1522Info
);
357 HRESULT ConvertBuffer
(
358 [in] CODEPAGEID cpiSource
,
359 [in] CODEPAGEID cpiDest
,
361 [in, out] LPBLOB pOut
,
362 [out] ULONG
*pcbRead
);
363 HRESULT ConvertString
(
364 [in] CODEPAGEID cpiSource
,
365 [in] CODEPAGEID cpiDest
,
366 [in] LPPROPVARIANT pIn
,
367 [in, out] LPPROPVARIANT pOut
);
368 HRESULT MLANG_ConvertInetReset
(void);
369 HRESULT MLANG_ConvertInetString
(
370 [in] CODEPAGEID cpiSource
,
371 [in] CODEPAGEID cpiDest
,
373 [in] int *pnSizeOfSource
,
374 [in,out,unique] LPSTR pDestination
,
375 [in] int *pnDstSize
);
376 HRESULT Rfc1522Decode
(
377 [in] LPCSTR pszValue
,
378 [in,ref] LPSTR pszCharset
,
380 [out] LPSTR
*ppszDecoded
);
381 HRESULT Rfc1522Encode
(
382 [in] LPCSTR pszValue
,
383 [in] HCHARSET hCharset
,
384 [out] LPSTR
*ppszEncoded
);
388 uuid(c5588353
-7f86
-11d0
-8252-00c04fd85ab4
),
391 interface IMimeSecurity
: IUnknown
393 typedef [unique] IMimeSecurity
*LPMIMESECURITY
;
395 cpp_quote
("#ifdef __WINE_WINCRYPT_H")
396 cpp_quote
("typedef PCCERT_CONTEXT PCX509CERT;")
398 typedef const void *PCX509CERT
;
399 typedef void *HCERTSTORE
;
402 typedef BLOB THUMBBLOB
;
403 typedef void *HCAPICERTSTORE
;
405 cpp_quote
("#define MST_NONE 0x00000000")
406 cpp_quote
("#define MST_THIS_SIGN 0x00000001")
407 cpp_quote
("#define MST_THIS_ENCRYPT 0x00000002")
408 cpp_quote
("#define MST_BLOB_FLAG 0x00000004")
409 cpp_quote
("#define MST_THIS_BLOBSIGN (MST_BLOB_FLAG | MST_THIS_SIGN)")
410 cpp_quote
("#define MST_CHILD_SIGN 0x00000100")
411 cpp_quote
("#define MST_CHILD_ENCRYPT 0x00000200")
412 cpp_quote
("#define MST_SUBMSG_SIGN 0x00001000")
413 cpp_quote
("#define MST_SUBMSG_ENCRYPT 0x00002000")
414 cpp_quote
("#define MST_RECEIPT_REQUEST 0x00010000")
415 cpp_quote
("#define MST_CLASS_SMIME_V1 0x00000000")
416 cpp_quote
("#define MST_CLASS_PGP 0x01000000")
418 typedef enum tagCERTSTATE
421 CERTIFICATE_NOT_PRESENT
,
423 CERTIFICATE_CHAIN_TOO_LONG
,
424 CERTIFICATE_MISSING_ISSUER
,
425 CERTIFICATE_CRL_LISTED
,
426 CERTIFICATE_NOT_TRUSTED
,
433 typedef enum tagCERTNAMETYPE
440 typedef enum tagCERTDATAID
446 typedef struct tagX509CERTRESULT
451 } X509CERTRESULT
, *PX509CERTRESULT
;
452 typedef const X509CERTRESULT
*PCX509CERTRESULT
;
454 HRESULT InitNew
(void);
456 HRESULT CheckInit
(void);
458 HRESULT EncodeMessage
(
459 [in] IMimeMessageTree */
*const*/ pTree
,
463 [in] IMimeMessageTree */
*const*/ pTree
,
464 [in] HBODY hEncodeRoot
,
467 HRESULT DecodeMessage
(
468 [in] IMimeMessageTree */
*const*/ pTree
,
472 [in] IMimeMessageTree */
*const*/ pTree
,
473 [in] HBODY hDecodeRoot
,
476 HRESULT EnumCertificates
(
477 [in] HCAPICERTSTORE hc
,
479 [in] PCX509CERT pPrev
,
480 [out] PCX509CERT
*ppCert
);
482 HRESULT GetCertificateName
(
483 [in] const PCX509CERT pX509Cert
,
484 [in] const CERTNAMETYPE cn
,
485 [out] LPSTR
*ppszName
);
487 HRESULT GetMessageType
(
488 [in] const HWND hwndParent
,
489 [in] IMimeBody */
*const*/ pBody
,
490 [out] DWORD */
*const*/ pdwSecType
);
493 [in] const PCX509CERT pX509Cert
,
494 [in] const CERTDATAID dataid
,
495 [out, ref] LPPROPVARIANT pValue
);
499 uuid(fd853cd1
-7f86
-11d0
-8252-00c04fd85ab4
),
502 interface IMimeHeaderTable
: IPersistStream
504 /* FIXME: fill this in */
508 uuid(fd853cec
-7f86
-11d0
-8252-00c04fd85ab4
),
511 interface IMimePropertySchema
: IUnknown
513 typedef [unique] IMimePropertySchema
*LPMIMEPROPERTYSCHEMA
;
515 typedef enum tagMIMEPROPFLAGS
520 MPF_HASPARAMS
= 0x08,
525 HRESULT RegisterProperty
(
526 [in] const char *name
,
528 [in] DWORD rownumber
,
529 [in] VARTYPE vtdefault
,
530 [out] DWORD
*propid
);
532 HRESULT ModifyProperty
(
533 [in] const char *name
,
535 [in] DWORD rownumber
,
536 [in] VARTYPE vtdefault
);
538 HRESULT GetPropertyId
(
539 [in] const char *name
,
540 [out] DWORD
*propid
);
542 HRESULT GetPropertyName
(
546 HRESULT RegisterAddressType
(
547 [in] const char *name
,
548 [out] DWORD
*adrtype
);
552 uuid(fd853cd3
-7f86
-11d0
-8252-00c04fd85ab4
),
555 interface IMimePropertySet
: IPersistStreamInit
557 typedef [unique] IMimePropertySet
*LPMIMEPROPERTYSET
;
559 cpp_quote
("#define PDF_ENCODED 0x00000001")
560 cpp_quote
("#define PDF_NAMEINDATA 0x00000002")
561 cpp_quote
("#define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED)")
562 cpp_quote
("#define PDF_NOCOMMENTS 0x00000008")
563 cpp_quote
("#define PDF_SAVENOENCODE 0x00000010")
564 cpp_quote
("#define PDF_VECTOR 0x00000020")
566 typedef struct tagMIMEPARAMINFO
570 } MIMEPARAMINFO
, *LPMIMEPARAMINFO
;
572 typedef enum tagPROPINFOMASK
575 PIM_ENCODINGTYPE
= 0x02,
576 PIM_ROWNUMBER
= 0x04,
580 PIM_VTDEFAULT
= 0x40,
584 typedef struct tagMIMEPROPINFO
588 ENCODINGTYPE ietEncoding
;
595 } MIMEPROPINFO
, *LPMIMEPROPINFO
;
596 typedef const MIMEPROPINFO
*LPCMIMEPROPINFO
;
600 [in,out] LPMIMEPROPINFO pInfo
);
604 [in] LPCMIMEPROPINFO pInfo
);
606 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
607 cpp_quote
("#undef GetProp")
608 cpp_quote
("#undef SetProp")
609 cpp_quote
("#undef EnumProps")
614 [in,out] LPPROPVARIANT pValue
);
619 [in] LPCPROPVARIANT pValue
);
624 [in] LPPROPVARIANT pValue
);
627 [in] LPCSTR pszName
);
631 [in,unique] LPCSTR
*prgszName
,
632 [in] IMimePropertySet
*pPropertySet
);
636 [in] LPCSTR
*prgszName
,
637 [in] IMimePropertySet
*pPropertySet
);
639 HRESULT DeleteExcept
(
641 [in] LPCSTR
*prgszName
);
645 [in] LPCSTR pszCriteria
,
646 [in] boolean fSubString
,
647 [in] boolean fCaseSensitive
);
650 [out] LPHCHARSET phCharset
);
653 [in] HCHARSET hCharset
,
654 [in] CSETAPPLYTYPE applytype
);
656 HRESULT GetParameters
(
658 [out] ULONG
*pcParams
,
659 [out] LPMIMEPARAMINFO
*pprgParam
);
661 HRESULT IsContentType
(
662 [in] LPCSTR pszPriType
,
663 [in,unique] LPCSTR pszSubType
);
665 HRESULT BindToObject
(
667 [out,iid_is(riid
)] void **ppvObject
);
670 [out] IMimePropertySet
**ppPropertySet
);
673 [in] const TYPEDID oid
,
674 [in] LPCPROPVARIANT pValue
);
677 [in] const TYPEDID oid
,
678 [in,out] LPPROPVARIANT pValue
);
680 cpp_quote
("#define EPF_NONAME 0x00000001")
684 [out] IMimeEnumProperties
**ppEnum
);
689 uuid(c558834a
-7f86
-11d0
-8252-00c04fd85ab4
),
692 interface IMimeAddressTable
: IUnknown
694 typedef [unique] IMimeAddressTable
*LPMIMEADDRESSTABLE
;
696 DECLARE_HANDLE
(HADDRESS
);
697 typedef HADDRESS
*LPHADDRESS
;
698 typedef DWORD IADDRESSTYPE
;
700 typedef enum tagADDRESSFORMAT
702 AFT_DISPLAY_FRIENDLY
,
710 cpp_quote
("#define IAT_UNKNOWN 0x00000000")
711 cpp_quote
("#define IAT_FROM 0x00000001")
712 cpp_quote
("#define IAT_SENDER 0x00000002")
713 cpp_quote
("#define IAT_TO 0x00000004")
714 cpp_quote
("#define IAT_CC 0x00000008")
715 cpp_quote
("#define IAT_BCC 0x00000010")
716 cpp_quote
("#define IAT_REPLYTO 0x00000020")
717 cpp_quote
("#define IAT_RETURNPATH 0x00000040")
718 cpp_quote
("#define IAT_RETRCPTTO 0x00000080")
719 cpp_quote
("#define IAT_RR 0x00000100")
720 cpp_quote
("#define IAT_APPARTO 0x00000200")
721 cpp_quote
("#define IAT_DISP_NOTIFICATION_TO 0x00000400")
722 cpp_quote
("#define IAT_ALL 0xffffffff")
723 cpp_quote
("#define IAT_KNOWN (IAT_FROM | IAT_TO | IAT_CC | IAT_BCC | IAT_REPLYTO | IAT_SENDER)")
724 cpp_quote
("#define IAT_RECIPS (IAT_TO | IAT_CC | IAT_BCC)")
726 typedef struct tagADDRESSPROPS
730 ENCODINGTYPE ietFriendly
;
738 THUMBBLOB tbEncryption
;
742 } ADDRESSPROPS
, *LPADDRESSPROPS
;
744 cpp_quote
("#define IAP_CHARSET 0x00000001")
745 cpp_quote
("#define IAP_HANDLE 0x00000002")
746 cpp_quote
("#define IAP_ADRTYPE 0x00000004")
747 cpp_quote
("#define IAP_FRIENDLY 0x00000008")
748 cpp_quote
("#define IAP_EMAIL 0x00000020")
749 cpp_quote
("#define IAP_CERTSTATE 0x00000100")
750 cpp_quote
("#define IAP_SIGNING_PRINT 0x00000200")
751 cpp_quote
("#define IAP_ENCRYPTION_PRINT 0x00000400")
752 cpp_quote
("#define IAP_ENCODING 0x00000800")
753 cpp_quote
("#define IAP_COOKIE 0x00001000")
754 cpp_quote
("#define IAP_FRIENDLYW 0x00002000")
755 cpp_quote
("#define IAP_ALL 0xffffffff")
757 typedef struct tagADDRESSLIST
760 LPADDRESSPROPS prgAdr
;
761 } ADDRESSLIST
, *LPADDRESSLIST
;
765 [in] ENCODINGTYPE encoding
,
766 [in] const char *friendly
,
767 [in,unique] const char *email
,
768 [in,out,unique] HADDRESS
*address
);
771 [in] ADDRESSPROPS
*addressprop
,
772 [in,out,unique] HADDRESS
*address
);
775 [in] HADDRESS address
,
776 [in] ADDRESSPROPS
*addressprop
);
779 [in] HADDRESS address
,
780 [in] ADDRESSPROPS
*addressprop
);
783 [in,out] ADDRESSPROPS
*addressprop
);
792 [in,out] ADDRESSLIST
*list
);
797 [out] IMimeEnumAddressTypes
**types
);
800 [in] HADDRESS hAddress
);
803 [in] DWORD addrtype
);
807 [in] ADDRESSFORMAT addrformat
,
808 [out] char **format
);
810 HRESULT AppendRfc822
(
812 [in] ENCODINGTYPE encoding
,
813 [in] const char *rfcaddr
);
817 [in] ENCODINGTYPE encoding
,
818 [in] const char *rfcaddr
,
819 [in,out] ADDRESSLIST
*list
);
822 [out] IMimeAddressTable
**table
);
824 HRESULT BindToObject
(
826 [out, iid_is(riid
)] void **obj
);
830 uuid(ee519f11
-851a
-11d0
-8252-00c04fd85ab4
),
833 interface IMimeWebDocument
: IUnknown
835 /* FIXME: fill this in */
839 uuid(c558834c
-7f86
-11d0
-8252-00c04fd85ab4
),
842 interface IMimeBody
: IMimePropertySet
844 typedef [unique] IMimeBody
*LPMIMEBODY
;
846 typedef enum tagIMSGBODYTYPE
855 typedef struct tagBODYOFFSETS
857 DWORD cbBoundaryStart
;
861 } BODYOFFSETS
, *LPBODYOFFSETS
;
863 typedef struct tagTRANSMITINFO
865 ENCODINGTYPE ietCurrent
;
866 ENCODINGTYPE ietXmitMime
;
867 ENCODINGTYPE ietXmit822
;
873 } TRANSMITINFO
, *LPTRANSMITINFO
;
876 [in] IMSGBODYTYPE bodytype
);
878 HRESULT SetDisplayName
(
879 [in] LPCSTR pszDisplay
);
881 HRESULT GetDisplayName
(
882 [out] LPSTR
*ppszDisplay
);
885 [out] LPBODYOFFSETS pOffsets
);
887 HRESULT GetCurrentEncoding
(
888 [out] ENCODINGTYPE
*pietEncoding
);
890 HRESULT SetCurrentEncoding
(
891 [in] ENCODINGTYPE ietEncoding
);
893 HRESULT GetEstimatedSize
(
894 [in] ENCODINGTYPE ietEncoding
,
895 [out] ULONG
*pcbSize
);
898 [in] ENCODINGTYPE ietEncoding
,
899 [in] IStream
*pStream
);
902 [in] ENCODINGTYPE ietEncoding
,
903 [out] IStream
**ppStream
);
906 [in] ENCODINGTYPE ietEncoding
,
907 [in,unique] LPCSTR pszPriType
,
908 [in,unique] LPCSTR pszSubType
,
910 [in,iid_is(riid
)] LPVOID pvObject
);
912 HRESULT EmptyData
(void);
915 [in] IMimeBody
*pBody
);
917 HRESULT GetTransmitInfo
(
918 [in,out] LPTRANSMITINFO pTransmitInfo
);
921 [in] ENCODINGTYPE ietEncoding
,
922 [in] LPCSTR pszFilePath
);
925 [out] LPHBODY phBody
);
930 uuid(fd853cd4
-7f86
-11d0
-8252-00c04fd85ab4
),
933 interface IMimeMessageTree
: IPersistStreamInit
935 typedef [unique] IMimeMessageTree
*LPMIMEMESSAGETREE
;
937 const HBODY HBODY_ROOT
= (HBODY
)-1;
939 typedef enum tagBODYLOCATION
949 typedef struct tagFINDBODY
954 } FINDBODY
, *LPFINDBODY
;
956 HRESULT GetMessageSource
(
957 [out] IStream
**ppStream
,
960 HRESULT GetMessageSize
(
961 [out] ULONG
*pcbSize
,
964 HRESULT LoadOffsetTable
(
965 [in] IStream
*pStream
);
967 HRESULT SaveOffsetTable
(
968 [in] IStream
*pStream
,
972 [out] DWORD
*pdwFlags
);
977 HRESULT HandsOffStorage
();
979 HRESULT BindToObject
(
980 [in] const HBODY hBody
,
982 [out, iid_is(riid
)] void **ppvObject
);
987 [in] IStream
*pStream
);
990 [in] BODYLOCATION location
,
992 [out] LPHBODY phBody
);
995 [in] BODYLOCATION location
,
997 [out] LPHBODY phBody
);
1001 [in] DWORD dwFlags
);
1005 [in] BODYLOCATION location
);
1007 HRESULT CountBodies
(
1009 [in] boolean fRecurse
,
1010 [out] ULONG
*pcBodies
);
1013 [in, out] LPFINDBODY pFindBody
,
1014 [out] LPHBODY phBody
);
1017 [in, out] LPFINDBODY pFindBody
,
1018 [out] LPHBODY phBody
);
1021 [in] HBODY hRelated
,
1022 [in] LPCSTR pszBase
,
1025 [out] LPHBODY phBody
);
1027 HRESULT ToMultipart
(
1029 [in] LPCSTR pszSubType
,
1030 [out] LPHBODY phMultipart
);
1032 HRESULT GetBodyOffsets
(
1034 [in, out] LPBODYOFFSETS pOffsets
);
1037 [out] LPHCHARSET phCharset
);
1040 [in] HCHARSET hCharset
,
1041 [in] CSETAPPLYTYPE applytype
);
1045 [in] IMSGBODYTYPE bodytype
);
1047 HRESULT IsContentType
(
1049 [in] LPCSTR pszPriType
,
1050 [in] LPCSTR pszSubType
);
1052 HRESULT QueryBodyProp
(
1054 [in] LPCSTR pszName
,
1055 [in] LPCSTR pszCriteria
,
1056 [in] boolean fSubString
,
1057 [in] boolean fCaseSensitive
);
1059 HRESULT GetBodyProp
(
1061 [in] LPCSTR pszName
,
1063 [in, out] LPPROPVARIANT pValue
);
1065 HRESULT SetBodyProp
(
1067 [in] LPCSTR pszName
,
1069 [in] LPCPROPVARIANT pValue
);
1071 HRESULT DeleteBodyProp
(
1073 [in] LPCSTR pszName
);
1076 [in] const TYPEDID oid
,
1077 [in] LPCPROPVARIANT pValue
);
1080 [in] const TYPEDID oid
,
1081 [in, out] LPPROPVARIANT pValue
);
1085 uuid(fd853cd5
-7f86
-11d0
-8252-00c04fd85ab4
),
1088 interface IMimeMessage
: IMimeMessageTree
1090 typedef [unique] IMimeMessage
*LPMIMEMESSAGE
;
1092 typedef DWORD TEXTTYPE
;
1094 typedef enum tagIMSGFLAGS
1096 IMF_ATTACHMENTS
= 0x00000001,
1097 IMF_MULTIPART
= 0x00000002,
1098 IMF_SUBMULTIPART
= 0x00000004,
1099 IMF_MIME
= 0x00000008,
1100 IMF_HTML
= 0x00000010,
1101 IMF_PLAIN
= 0x00000020,
1102 IMF_PARTIAL
= 0x00000040,
1103 IMF_SIGNED
= 0x00000080,
1104 IMF_ENCRYPTED
= 0x00000100,
1105 IMF_TNEF
= 0x00000200,
1106 IMF_MHTML
= 0x00000400,
1107 IMF_SECURE
= 0x00000800,
1108 IMF_TEXT
= 0x00001000,
1109 IMF_CSETTAGGED
= 0x00002000,
1110 IMF_NEWS
= 0x00004000,
1111 IMF_VOICEMAIL
= 0x00008000,
1112 IMF_HASVCARD
= 0x00010000,
1113 IMF_RFC1154
= 0x00020000,
1116 typedef enum tagIMSGPRIORITY
1119 IMSG_PRI_NORMAL
= 3,
1123 cpp_quote
("#define WPF_HTML 0x00000001")
1124 cpp_quote
("#define WPF_AUTOINLINE 0x00000002")
1125 cpp_quote
("#define WPF_SLIDESHOW 0x00000004")
1126 cpp_quote
("#define WPF_ATTACHLINKS 0x00000008")
1127 cpp_quote
("#define WPF_IMAGESONLY 0x00000010")
1128 cpp_quote
("#define WPF_NOMETACHARSET 0x00000020")
1130 typedef struct tagWEPAGEOPTIONS
1136 } WEBPAGEOPTIONS
, *LPWEBPAGEOPTIONS
;
1138 cpp_quote
("#define TXT_PLAIN 1")
1139 cpp_quote
("#define TXT_HTML 2")
1141 HRESULT CreateWebPage
(
1142 [in] IStream
*pRootStm
,
1143 [in] LPWEBPAGEOPTIONS pOptions
,
1144 [in] IMimeMessageCallback
*pCallback
,
1145 [out] IMoniker
**ppMoniker
);
1148 [in] LPCSTR pszName
,
1150 [in,out] LPPROPVARIANT pValue
);
1153 [in] LPCSTR pszName
,
1155 [in] LPCPROPVARIANT pValue
);
1158 [in] LPCSTR pszName
);
1161 [in] LPCSTR pszName
,
1162 [in] LPCSTR pszCriteria
,
1163 [in] boolean fSubString
,
1164 [in] boolean fCaseSensitive
);
1166 HRESULT GetTextBody
(
1167 [in] DWORD dwTxtType
,
1168 [in] ENCODINGTYPE ietEncoding
,
1169 [out] IStream
**pStream
,
1170 [out] LPHBODY phBody
);
1172 HRESULT SetTextBody
(
1173 [in] DWORD dwTxtType
,
1174 [in] ENCODINGTYPE ietEncoding
,
1175 [in] HBODY hAlternative
,
1176 [in] IStream
*pStream
,
1177 [out] LPHBODY phBody
);
1179 HRESULT AttachObject
(
1181 [in, iid_is(riid
)] void *pvObject
,
1182 [out] LPHBODY phBody
);
1185 [in] LPCSTR pszFilePath
,
1186 [in] IStream
*pstmFile
,
1187 [out] LPHBODY phBody
);
1190 [in] LPCSTR pszBase
,
1193 [in] IStream
*pstmURL
,
1194 [out] LPSTR
*ppszCIDURL
,
1195 [out] LPHBODY phBody
);
1197 HRESULT GetAttachments
(
1198 [out] ULONG
*pcAttach
,
1199 [out] LPHBODY
*pprghAttach
);
1201 HRESULT GetAddressTable
(
1202 [out] IMimeAddressTable
**ppTable
);
1205 [in, out] LPADDRESSPROPS pAddress
);
1207 HRESULT GetAddressTypes
(
1208 [in] DWORD dwAdrTypes
,
1210 [in, out] LPADDRESSLIST pList
);
1212 HRESULT GetAddressFormat
(
1213 [in] DWORD dwAdrTypes
,
1214 [in] ADDRESSFORMAT format
,
1215 [out] LPSTR
*ppszFormat
);
1217 HRESULT EnumAddressTypes
(
1218 [in] DWORD dwAdrTypes
,
1220 [out] IMimeEnumAddressTypes
**ppEnum
);
1222 HRESULT SplitMessage
(
1223 [in] ULONG cbMaxPart
,
1224 [out] IMimeMessageParts
**ppParts
);
1226 HRESULT GetRootMoniker
(
1227 [out] IMoniker
**ppMoniker
);
1231 uuid(761aa741
-7bda
-11d1
-8aa9
-00c04fb951f3
),
1234 interface IMimeMessageCallback
: IUnknown
1236 HRESULT OnWebPageSplitter
(
1237 [in] DWORD cInlined
,
1238 [in] IStream
*ppStream
);
1242 uuid(de4ad8da
-555f
-11d1
-8dd0
-00c04fb951f9
),
1245 interface IPersistMime
: IPersist
1247 /* FIXME: fill this in */
1251 uuid(c558834f
-7f86
-11d0
-8252-00c04fd85ab4
),
1254 interface IMimeMessageParts
: IUnknown
1256 /* FIXME: fill this in */
1260 uuid(c558834d
-7f86
-11d0
-8252-00c04fd85ab4
),
1263 interface IMimeEnumHeaderRows
: IUnknown
1265 typedef struct tagENUMHEADERROW
1271 DWORD_PTR dwReserved
;
1272 } ENUMHEADERROW
, *LPENUMHEADERROW
;
1274 /* FIXME: fill this in */
1278 uuid(fd853cee
-7f86
-11d0
-8252-00c04fd85ab4
),
1281 interface IMimeEnumProperties
: IUnknown
1283 typedef [unique] IMimeEnumProperties
*LPMIMEENUMPROPERTIES
;
1285 typedef struct tagENUMPROPERTY
1290 } ENUMPROPERTY
, *LPENUMPROPERTY
;
1294 [in, out] LPENUMPROPERTY prgProp
,
1295 [out] ULONG
*pcFetched
);
1300 HRESULT Reset
(void);
1303 [out] IMimeEnumProperties
**ppEnum
);
1306 [out] ULONG
*pcItems
);
1311 uuid(c5588354
-7f86
-11d0
-8252-00c04fd85ab4
),
1314 interface IMimeEnumAddressTypes
: IUnknown
1316 /* FIXME: fill this in */
1320 uuid(c5588350
-7f86
-11d0
-8252-00c04fd85ab4
),
1323 interface IMimeEnumMessageParts
: IUnknown
1325 /* FIXME: fill this in */
1329 uuid(64577981-86d7
-11d1
-bdfc
-00c04fa31009
),
1332 interface IHashTable
: IUnknown
1334 /* FIXME: fill this in */
1338 uuid(c5588351
-7f86
-11d0
-8252-00c04fd85ab4
),
1341 interface IMimeAllocator
: IMalloc
1343 typedef [unique] IMimeAllocator
*LPMIMEALLOCATOR
;
1345 HRESULT FreeParamInfoArray
(
1347 [in] LPMIMEPARAMINFO prgParam
,
1348 [in] boolean fFreeArray
);
1350 HRESULT FreeAddressList
(
1351 [in,out] LPADDRESSLIST pList
);
1353 HRESULT FreeAddressProps
(
1354 [in,out] LPADDRESSPROPS pAddress
);
1356 HRESULT ReleaseObjects
(
1357 [in] ULONG cObjects
,
1358 [in] IUnknown
**prgpUnknown
,
1359 [in] boolean fFreeArray
);
1361 HRESULT FreeEnumHeaderRowArray
(
1363 [in] LPENUMHEADERROW prgRow
,
1364 [in] boolean fFreeArray
);
1366 HRESULT FreeEnumPropertyArray
(
1368 [in] LPENUMPROPERTY prgProp
,
1369 [in] boolean fFreeArray
);
1371 HRESULT FreeThumbprint
(
1372 [in] THUMBBLOB
*pthumbprint
);
1374 HRESULT PropVariantClear
(
1375 [in] LPPROPVARIANT pProp
);
1380 uuid(feceaffd
-c441
-11d1
-960e-00c04fbd7c09
),
1383 interface IMimeObjResolver
: IUnknown
1385 /* FIXME: fill this in */
1389 uuid(b0d17fc2
-7bc4
-11d1
-bdfa
-00c04fa31009
),
1392 interface IFontCache
: IUnknown
1394 /* FIXME: fill this in */
1398 uuid(b0d17fc5
-7bc4
-11d1
-bdfa
-00c04fa31009
),
1401 interface IFontCacheNotify
: IUnknown
1403 /* FIXME: fill this in */
1407 uuid(70183210-7b36
-11d2
-8c12
-00c04fa31009
),
1410 interface IMimeEditTag
: IUnknown
1412 /* FIXME: fill this in */
1416 uuid(d09ee528
-7b38
-11d2
-8c12
-00c04fa31009
),
1419 interface IMimeEditTagCollection
: IUnknown
1421 /* FIXME: fill this in */
1425 uuid(ba715ae0
-a740
-11d2
-8b22
-0080c76b34c6
),
1428 interface IMimeSecurityCallback
: IUnknown
1430 /* FIXME: fill this in */
1432 cpp_quote
("#define CMS_RECIPIENT_INFO_TYPE_UNKNOWN 0")
1433 cpp_quote
("#define CMS_RECIPIENT_INFO_TYPE_KEYTRANS 1")
1434 cpp_quote
("#define CMS_RECIPIENT_INFO_TYPE_KEYAGREE 2")
1435 cpp_quote
("#define CMS_RECIPIENT_INFO_TYPE_MAIL_LIST 3")
1437 cpp_quote
("#define CMS_RECIPIENT_INFO_PUBKEY_CERTIFICATE 0")
1438 cpp_quote
("#define CMS_RECIPIENT_INFO_PUBKEY_KEYTRANS 1")
1439 cpp_quote
("#define CMS_RECIPIENT_INFO_PUBKEY_PROVIDER 2")
1440 cpp_quote
("#define CMS_RECIPIENT_INFO_PUBKEY_EPHEMERAL_KEYAGREE 3")
1441 cpp_quote
("#define CMS_RECIPIENT_INFO_PUBKEY_STATIC_KEYAGREE 4")
1443 cpp_quote
("#define CMS_RECIPIENT_INFO_KEYID_CERTIFICATE 0")
1444 cpp_quote
("#define CMS_RECIPIENT_INFO_KEYID_ISSUERSERIAL 1")
1445 cpp_quote
("#define CMS_RECIPIENT_INFO_KEYID_KEY_ID 2")
1450 cpp_quote
("#ifdef __cplusplus")
1451 cpp_quote
(" extern \"C\" {")
1455 cpp_quote
("HRESULT WINAPI MimeOleSetCompatMode(DWORD);")
1456 cpp_quote
("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);")
1457 cpp_quote
("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);")
1458 cpp_quote
("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);")
1459 cpp_quote
("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);")
1460 cpp_quote
("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);")
1461 cpp_quote
("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);")
1462 cpp_quote
("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);")
1463 cpp_quote
("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1464 cpp_quote
("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1465 cpp_quote
("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);")
1466 cpp_quote
("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);")
1467 cpp_quote
("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);")
1468 cpp_quote
("HRESULT WINAPI MimeOleCreateByteStream(IStream**);")
1469 cpp_quote
("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);")
1470 cpp_quote
("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);")
1471 cpp_quote
("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);")
1472 cpp_quote
("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);")
1473 cpp_quote
("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);")
1474 cpp_quote
("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);")
1475 cpp_quote
("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);")
1476 cpp_quote
("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);")
1477 cpp_quote
("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);")
1478 cpp_quote
("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);")
1479 cpp_quote
("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);")
1480 cpp_quote
("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);")
1481 cpp_quote
("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);")
1482 cpp_quote
("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);")
1483 cpp_quote
("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);")
1484 cpp_quote
("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);")
1485 cpp_quote
("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);")
1486 cpp_quote
("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);")
1487 cpp_quote
("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);")
1488 cpp_quote
("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);")
1489 cpp_quote
("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);")
1490 cpp_quote
("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);")
1491 cpp_quote
("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);")
1492 cpp_quote
("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);")
1493 cpp_quote
("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);")
1494 cpp_quote
("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);")
1495 cpp_quote
("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);")
1496 cpp_quote
("HRESULT WINAPI MimeOleIsTnefStream(IStream*);")
1497 cpp_quote
("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);")
1498 cpp_quote
("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);")
1499 cpp_quote
("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);")
1500 cpp_quote
("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);")
1501 cpp_quote
("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);")
1502 cpp_quote
("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);")
1503 cpp_quote
("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);")
1504 cpp_quote
("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);")
1505 cpp_quote
("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);")
1506 cpp_quote
("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);")
1507 cpp_quote
("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);")
1508 cpp_quote
("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);")
1509 cpp_quote
("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);")
1510 cpp_quote
("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);")
1511 cpp_quote
("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);")
1512 cpp_quote
("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);")
1513 cpp_quote
("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);")
1514 cpp_quote
("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);")
1515 cpp_quote
("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);")
1516 cpp_quote
("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);")
1517 cpp_quote
("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);")
1518 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);")
1519 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);")
1520 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);")
1521 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);")
1522 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);")
1523 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1524 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1525 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);")
1526 cpp_quote
("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);")
1527 cpp_quote
("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);")
1528 cpp_quote
("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);")
1529 cpp_quote
("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);")
1530 cpp_quote
("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);")
1532 cpp_quote
("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);")
1533 cpp_quote
("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);")
1534 cpp_quote
("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);")
1535 cpp_quote
("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);")
1536 cpp_quote
("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);")
1537 cpp_quote
("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);")
1539 cpp_quote
("HRESULT WINAPI MimeOleGetPropertySchema(IMimePropertySchema**);")
1540 cpp_quote
("HRESULT WINAPI MimeGetAddressFormatW(REFIID,void*,DWORD,ADDRESSFORMAT,WCHAR**);")
1541 cpp_quote
("#ifdef __cplusplus")