msxml3: previousSibling not supported for Attribute, Document and Document Fragment...
[wine/winequartzdrv.git] / include / mimeole.idl
blob171f0e90e449b0c3cb14011b86e420f69a40c5e5
1 /*
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
19 import "ocidl.idl";
20 import "objidl.idl";
21 import "propidl.idl";
23 #define DECLARE_HANDLE(name) typedef void *name
25 interface IMimeMessageCallback;
26 interface IMimeEnumAddressTypes;
27 interface IMimeMessageParts;
28 interface IMimeMessageTree;
29 interface IMimeBody;
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),
84 version(1.0)
86 library MIMEOLE
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
103 RELOAD_HEADER_NONE,
104 RELOAD_HEADER_RESET,
105 RELOAD_HEADER_APPEND,
106 RELOAD_HEADER_REPLACE,
107 } RELOADTYPE;
109 typedef enum tagMIMESAVETYPE
111 SAVE_RFC822,
112 SAVE_RFC1521,
113 } MIMESAVETYPE;
115 typedef enum tagCSETAPPLYTYPE
117 CSET_APPLY_UNTAGGED,
118 CSET_APPLY_ALL,
119 CSET_APPLY_TAG_ALL,
120 } CSETAPPLYTYPE;
122 typedef enum tagENCODINGTYPE
124 IET_BINARY,
125 IET_BASE64,
126 IET_UUENCODE,
127 IET_QP,
128 IET_7BIT,
129 IET_8BIT,
130 IET_INETCSET,
131 IET_UNICODE,
132 IET_RFC1522,
133 IET_ENCODED,
134 IET_CURRENT,
135 IET_UNKNOWN,
136 IET_BINHEX40,
137 IET_LAST
138 } ENCODINGTYPE;
140 const SHORT IET_DECODED = IET_BINARY;
142 const SHORT CCHMAX_HEADER_LINE = 1000;
145 uuid(c5588349-7f86-11d0-8252-00c04fd85ab4),
146 object
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];
167 HCHARSET hCharset;
168 CODEPAGEID cpiWindows;
169 CODEPAGEID cpiInternet;
170 DWORD dwReserved1;
171 } INETCSETINFO, *LPINETCSETINFO;
173 typedef enum tagINETLANGMASK
175 ILM_FAMILY = 0x01,
176 ILM_NAME = 0x02,
177 ILM_BODYCSET = 0x04,
178 ILM_HEADERCSET = 0x08,
179 ILM_WEBCSET = 0x10,
180 ILM_FIXEDFONT = 0x20,
181 ILM_VARIABLEFONT = 0x40,
182 } INETLANGMASK;
184 typedef struct tagCODEPAGEINFO
186 DWORD dwMask;
187 CODEPAGEID cpiCodePage;
188 BOOL fIsValidCodePage;
189 ULONG ulMaxCharSize;
190 BOOL fInternetCP;
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;
200 DWORD dwReserved1;
201 } CODEPAGEINFO, *LPCODEPAGEINFO;
203 typedef struct tagRFC1522INFO
205 BOOL fRfc1522Allowed;
206 BOOL fRfc1522Used;
207 BOOL fAllow8bit;
208 HCHARSET hRfc1522Cset;
209 } RFC1522INFO, *LPRFC1522INFO;
211 typedef enum tagCHARSETTYPE
213 CHARSET_BODY,
214 CHARSET_HEADER,
215 CHARSET_WEB,
216 } CHARSETTYPE;
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);
227 HRESULT FindCharset(
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,
238 [in] LPCSTR pszData,
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,
249 [in] LPBLOB pIn,
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,
261 [in] LPCSTR pSource,
262 [in] int *pnSizeOfSource,
263 [out] LPSTR pDestination,
264 [in] int *pnDstSize);
265 HRESULT Rfc1522Decode(
266 [in] LPCSTR pszValue,
267 [in] LPCSTR pszCharset,
268 [in] ULONG cchmax,
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),
278 object
280 interface IMimeSecurity : IUnknown
282 typedef [unique] IMimeSecurity *LPMIMESECURITY;
284 cpp_quote("#ifdef __WINE_WINCRYPT_H")
285 cpp_quote("typedef PCCERT_CONTEXT PCX509CERT;")
286 cpp_quote("#else")
287 typedef const void *PCX509CERT;
288 typedef void *HCERTSTORE;
289 cpp_quote("#endif")
291 typedef BLOB THUMBBLOB;
292 typedef void *HCAPICERTSTORE;
294 typedef enum tagCERTSTATE
296 CERTIFICATE_OK,
297 CERTIFICATE_NOT_PRESENT,
298 CERTIFICATE_EXPIRED,
299 CERTIFICATE_CHAIN_TOO_LONG,
300 CERTIFICATE_MISSING_ISSUER,
301 CERTIFICATE_CRL_LISTED,
302 CERTIFICATE_NOT_TRUSTED,
303 CERTIFICATE_INVALID,
304 CERTIFICATE_ERROR,
305 CERTIFICATE_NOPRINT,
306 CERTIFICATE_UNKNOWN
307 } CERTSTATE;
309 typedef enum tagCERTNAMETYPE
311 SIMPLE,
312 OID,
313 X500,
314 } CERTNAMETYPE;
316 typedef enum tagCERTDATAID
318 CDID_EMAIL,
319 CDID_MAX
320 } CERTDATAID;
322 typedef struct tagX509CERTRESULT
324 DWORD cEntries;
325 CERTSTATE *rgcs;
326 PCX509CERT *rgpCert;
327 } X509CERTRESULT, *PX509CERTRESULT;
328 typedef const X509CERTRESULT *PCX509CERTRESULT;
330 HRESULT InitNew(void);
332 HRESULT CheckInit(void);
334 HRESULT EncodeMessage(
335 [in] IMimeMessageTree */*const*/ pTree,
336 [in] DWORD dwFlags);
338 HRESULT EncodeBody(
339 [in] IMimeMessageTree */*const*/ pTree,
340 [in] HBODY hEncodeRoot,
341 [in] DWORD dwFlags);
343 HRESULT DecodeMessage(
344 [in] IMimeMessageTree */*const*/ pTree,
345 [in] DWORD dwFlags);
347 HRESULT DecodeBody(
348 [in] IMimeMessageTree */*const*/ pTree,
349 [in] HBODY hDecodeRoot,
350 [in] DWORD dwFlags);
352 HRESULT EnumCertificates(
353 [in] HCAPICERTSTORE hc,
354 [in] DWORD dwUsage,
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);
368 HRESULT GetCertData(
369 [in] const PCX509CERT pX509Cert,
370 [in] const CERTDATAID dataid,
371 [out, ref] LPPROPVARIANT pValue);
375 uuid(fd853cd1-7f86-11d0-8252-00c04fd85ab4),
376 object
378 interface IMimeHeaderTable : IPersistStream
380 /* FIXME: fill this in */
384 uuid(fd853cec-7f86-11d0-8252-00c04fd85ab4),
385 object
387 interface IMimePropertySchema : IUnknown
389 typedef enum tagMIMEPROPFLAGS
391 MPF_INETCSET = 0x01,
392 MPF_RFC1522 = 0x02,
393 MPF_ADDRESS = 0x04,
394 MPF_HASPARAMS = 0x08,
395 MPF_MIME = 0x10,
396 MPF_READONLY = 0x20
397 } MIMEPROPFLAGS;
399 /* FIXME: fill this in */
403 uuid(fd853cd3-7f86-11d0-8252-00c04fd85ab4),
404 object
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
419 LPSTR pszName;
420 LPSTR pszData;
421 } MIMEPARAMINFO, *LPMIMEPARAMINFO;
423 typedef enum tagPROPINFOMASK
425 PIM_CHARSET = 0x01,
426 PIM_ENCODINGTYPE = 0x02,
427 PIM_ROWNUMBER = 0x04,
428 PIM_FLAGS = 0x08,
429 PIM_PROPID = 0x10,
430 PIM_VALUES = 0x20,
431 PIM_VTDEFAULT = 0x40,
432 PIM_VTCURRENT = 0x80
433 } PROPINFOMASK;
435 typedef struct tagMIMEPROPINFO
437 DWORD dwMask;
438 HCHARSET hCharset;
439 ENCODINGTYPE ietEncoding;
440 DWORD dwRowNumber;
441 DWORD dwFlags;
442 DWORD dwPropId;
443 DWORD cValues;
444 VARTYPE vtDefault;
445 VARTYPE vtCurrent;
446 } MIMEPROPINFO, *LPMIMEPROPINFO;
447 typedef const MIMEPROPINFO *LPCMIMEPROPINFO;
449 HRESULT GetPropInfo(
450 [in] LPCSTR pszName,
451 [in,out] LPMIMEPROPINFO pInfo);
453 HRESULT SetPropInfo(
454 [in] LPCSTR pszName,
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")
461 cpp_quote("#endif")
462 HRESULT GetProp(
463 [in] LPCSTR pszName,
464 [in] DWORD dwFlags,
465 [in,out] LPPROPVARIANT pValue);
467 HRESULT SetProp(
468 [in] LPCSTR pszName,
469 [in] DWORD dwFlags,
470 [in] LPCPROPVARIANT pValue);
472 HRESULT AppendProp(
473 [in] LPCSTR pszName,
474 [in] DWORD dwFlags,
475 [in] LPPROPVARIANT pValue);
477 HRESULT DeleteProp(
478 [in] LPCSTR pszName);
480 HRESULT CopyProps(
481 [in] ULONG cNames,
482 [in,unique] LPCSTR *prgszName,
483 [in] IMimePropertySet *pPropertySet);
485 HRESULT MoveProps(
486 [in] ULONG cNames,
487 [in] LPCSTR *prgszName,
488 [in] IMimePropertySet *pPropertySet);
490 HRESULT DeleteExcept(
491 [in] ULONG cNames,
492 [in] LPCSTR *prgszName);
494 HRESULT QueryProp(
495 [in] LPCSTR pszName,
496 [in] LPCSTR pszCriteria,
497 [in] boolean fSubString,
498 [in] boolean fCaseSensitive);
500 HRESULT GetCharset(
501 [out] LPHCHARSET phCharset);
503 HRESULT SetCharset(
504 [in] HCHARSET hCharset,
505 [in] CSETAPPLYTYPE applytype);
507 HRESULT GetParameters(
508 [in] LPCSTR pszName,
509 [out] ULONG *pcParams,
510 [out] LPMIMEPARAMINFO *pprgParam);
512 HRESULT IsContentType(
513 [in] LPCSTR pszPriType,
514 [in,unique] LPCSTR pszSubType);
516 HRESULT BindToObject(
517 [in] REFIID riid,
518 [out,iid_is(riid)] void **ppvObject);
520 HRESULT Clone(
521 [out] IMimePropertySet **ppPropertySet);
523 HRESULT SetOption(
524 [in] const TYPEDID oid,
525 [in] LPCPROPVARIANT pValue);
527 HRESULT GetOption(
528 [in] const TYPEDID oid,
529 [in,out] LPPROPVARIANT pValue);
531 cpp_quote("#define EPF_NONAME 0x00000001")
533 HRESULT EnumProps(
534 [in] DWORD dwFlags,
535 [out] IMimeEnumProperties **ppEnum);
540 uuid(c558834a-7f86-11d0-8252-00c04fd85ab4),
541 object
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,
554 AFT_DISPLAY_EMAIL,
555 AFT_DISPLAY_BOTH,
556 AFT_RFC822_DECODED,
557 AFT_RFC822_ENCODED,
558 AFT_RFC822_TRANSMIT,
559 } ADDRESSFORMAT;
561 typedef struct tagADDRESSPROPS
563 DWORD dwProps;
564 HADDRESS hAddress;
565 ENCODINGTYPE ietFriendly;
566 HCHARSET hCharset;
567 DWORD dwAdrType;
568 LPSTR pszFriendly;
569 LPWSTR pwszReserved;
570 LPSTR pszEmail;
571 CERTSTATE certstate;
572 THUMBBLOB tbSigning;
573 THUMBBLOB tbEncryption;
574 DWORD dwCookie;
575 DWORD dwReserved1;
576 DWORD dwReserved2;
577 } ADRESSPROPS, *LPADDRESSPROPS;
579 typedef struct tagADDRESSLIST
581 ULONG cAdrs;
582 LPADDRESSPROPS prgAdr;
583 } ADDRESSLIST, *LPADDRESSLIST;
585 /* FIXME: fill this in */
589 uuid(ee519f11-851a-11d0-8252-00c04fd85ab4),
590 object
592 interface IMimeWebDocument : IUnknown
594 /* FIXME: fill this in */
598 uuid(c558834c-7f86-11d0-8252-00c04fd85ab4),
599 object
601 interface IMimeBody : IMimePropertySet
603 typedef [unique] IMimeBody *LPMIMEBODY;
605 typedef enum tagIMSGBODYTYPE
607 IBT_SECURE,
608 IBT_ATTACHMENT,
609 IBT_EMPTY,
610 IBT_CSETTAGGED,
611 IBT_AUTOATTACH,
612 } IMSGBODYTYPE;
614 typedef struct tagBODYOFFSETS
616 DWORD cbBoundaryStart;
617 DWORD cbHeaderStart;
618 DWORD cbBodyStart;
619 DWORD cbBodyEnd;
620 } BODYOFFSETS, *LPBODYOFFSETS;
622 typedef struct tagTRANSMITINFO
624 ENCODINGTYPE ietCurrent;
625 ENCODINGTYPE ietXmitMime;
626 ENCODINGTYPE ietXmit822;
627 ULONG cbLongestLine;
628 ULONG cExtended;
629 ULONG ulPercentExt;
630 ULONG cbSize;
631 ULONG cLines;
632 } TRANSMITINFO, *LPTRANSMITINFO;
634 HRESULT IsType(
635 [in] IMSGBODYTYPE bodytype);
637 HRESULT SetDisplayName(
638 [in] LPCSTR pszDisplay);
640 HRESULT GetDisplayName(
641 [out] LPSTR *ppszDisplay);
643 HRESULT GetOffsets(
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);
656 HRESULT GetDataHere(
657 [in] ENCODINGTYPE ietEncoding,
658 [in] IStream *pStream);
660 HRESULT GetData(
661 [in] ENCODINGTYPE ietEncoding,
662 [out] IStream **ppStream);
664 HRESULT SetData(
665 [in] ENCODINGTYPE ietEncoding,
666 [in,unique] LPCSTR pszPriType,
667 [in,unique] LPCSTR pszSubType,
668 [in] REFIID riid,
669 [in,iid_is(riid)] LPVOID pvObject);
671 HRESULT EmptyData(void);
673 HRESULT CopyTo(
674 [in] IMimeBody *pBody);
676 HRESULT GetTransmitInfo(
677 [in,out] LPTRANSMITINFO pTransmitInfo);
679 HRESULT SaveToFile(
680 [in] ENCODINGTYPE ietEncoding,
681 [in] LPCSTR pszFilePath);
683 HRESULT GetHandle(
684 [out] LPHBODY phBody);
689 uuid(fd853cd4-7f86-11d0-8252-00c04fd85ab4),
690 object
692 interface IMimeMessageTree : IPersistStreamInit
694 typedef [unique] IMimeMessageTree *LPMIMEMESSAGETREE;
696 const HBODY HBODY_ROOT = (HBODY)-1;
698 typedef enum tagBODYLOCATION
700 IBL_ROOT,
701 IBL_PARENT,
702 IBL_FIRST,
703 IBL_LAST,
704 IBL_NEXT,
705 IBL_PREVIOUS,
706 } BODYLOCATION;
708 typedef struct tagFINDBODY
710 LPSTR pszPriType;
711 LPSTR pszSubType;
712 DWORD dwReserved;
713 } FINDBODY, *LPFINDBODY;
715 HRESULT GetMessageSource(
716 [out] IStream **ppStream,
717 [in] DWORD dwFlags);
719 HRESULT GetMessageSize(
720 [out] ULONG *pcbSize,
721 [in] DWORD dwFlags);
723 HRESULT LoadOffsetTable(
724 [in] IStream *pStream);
726 HRESULT SaveOffsetTable(
727 [in] IStream *pStream,
728 [in] DWORD dwFlags);
730 HRESULT GetFlags(
731 [out] DWORD *pdwFlags);
733 HRESULT Commit(
734 [in] DWORD dwFlags);
736 HRESULT HandsOffStorage();
738 HRESULT BindToObject(
739 [in] const HBODY hBody,
740 [in] REFIID riid,
741 [out, iid_is(riid)] void **ppvObject);
743 HRESULT SaveBody(
744 [in] HBODY hBody,
745 [in] DWORD dwFlags,
746 [in] IStream *pStream);
748 HRESULT InsertBody(
749 [in] BODYLOCATION location,
750 [in] HBODY hPivot,
751 [out] LPHBODY phBody);
753 HRESULT GetBody(
754 [in] BODYLOCATION location,
755 [in] HBODY hPivot,
756 [out] LPHBODY phBody);
758 HRESULT DeleteBody(
759 [in] HBODY hBody,
760 [in] DWORD dwFlags);
762 HRESULT MoveBody(
763 [in] HBODY hBody,
764 [in] BODYLOCATION location);
766 HRESULT CountBodies(
767 [in] HBODY hParent,
768 [in] boolean fRecurse,
769 [out] ULONG *pcBodies);
771 HRESULT FindFirst(
772 [in, out] LPFINDBODY pFindBody,
773 [out] LPHBODY phBody);
775 HRESULT FindNext(
776 [in, out] LPFINDBODY pFindBody,
777 [out] LPHBODY phBody);
779 HRESULT ResolveURL(
780 [in] HBODY hRelated,
781 [in] LPCSTR pszBase,
782 [in] LPCSTR pszURL,
783 [in] DWORD dwFlags,
784 [out] LPHBODY phBody);
786 HRESULT ToMultipart(
787 [in] HBODY hBody,
788 [in] LPCSTR pszSubType,
789 [out] LPHBODY phMultipart);
791 HRESULT GetBodyOffsets(
792 [in] HBODY hBody,
793 [in, out] LPBODYOFFSETS pOffsets);
795 HRESULT GetCharset(
796 [out] LPHCHARSET phCharset);
798 HRESULT SetCharset(
799 [in] HCHARSET hCharset,
800 [in] CSETAPPLYTYPE applytype);
802 HRESULT IsBodyType(
803 [in] HBODY hBody,
804 [in] IMSGBODYTYPE bodytype);
806 HRESULT IsContentType(
807 [in] HBODY hBody,
808 [in] LPCSTR pszPriType,
809 [in] LPCSTR pszSubType);
811 HRESULT QueryBodyProp(
812 [in] HBODY hBody,
813 [in] LPCSTR pszName,
814 [in] LPCSTR pszCriteria,
815 [in] boolean fSubString,
816 [in] boolean fCaseSensitive);
818 HRESULT GetBodyProp(
819 [in] HBODY hBody,
820 [in] LPCSTR pszName,
821 [in] DWORD dwFlags,
822 [in, out] LPPROPVARIANT pValue);
824 HRESULT SetBodyProp(
825 [in] HBODY hBody,
826 [in] LPCSTR pszName,
827 [in] DWORD dwFlags,
828 [in] LPCPROPVARIANT pValue);
830 HRESULT DeleteBodyProp(
831 [in] HBODY hBody,
832 [in] LPCSTR pszName);
834 HRESULT SetOption(
835 [in] const TYPEDID oid,
836 [in] LPCPROPVARIANT pValue);
838 HRESULT GetOption(
839 [in] const TYPEDID oid,
840 [in, out] LPPROPVARIANT pValue);
844 uuid(fd853cd5-7f86-11d0-8252-00c04fd85ab4),
845 object
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,
873 } IMSGFLAGS;
875 typedef enum tagIMSGPRIORITY
877 IMSG_PRI_LOW = 5,
878 IMSG_PRI_NORMAL = 3,
879 IMSG_PRI_HIGH = 1,
880 } IMSGPRIORITY;
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
891 DWORD cbSize;
892 DWORD dwFlags;
893 DWORD dwDelay;
894 WCHAR wchQuote;
895 } WEBPAGEOPTIONS, *LPWEBPAGEOPTIONS;
897 HRESULT CreateWebPage(
898 [in] IStream *pRootStm,
899 [in] LPWEBPAGEOPTIONS pOptions,
900 [in] IMimeMessageCallback *pCallback,
901 [out] IMoniker **ppMoniker);
903 HRESULT GetProp(
904 [in] LPCSTR pszName,
905 [in] DWORD dwFlags,
906 [in,out] LPPROPVARIANT pValue);
908 HRESULT SetProp(
909 [in] LPCSTR pszName,
910 [in] DWORD dwFlags,
911 [in] LPCPROPVARIANT pValue);
913 HRESULT DeleteProp(
914 [in] LPCSTR pszName);
916 HRESULT QueryProp(
917 [in] LPCSTR pszName,
918 [in] LPCSTR pszCriteria,
919 [in] boolean fSubString,
920 [in] boolean fCaseSensitive);
922 HRESULT GetTextBody(
923 [in] DWORD dwTxtType,
924 [in] ENCODINGTYPE ietEncoding,
925 [out] IStream **pStream,
926 [out] LPHBODY phBody);
928 HRESULT SetTextBody(
929 [in] DWORD dwTxtType,
930 [in] ENCODINGTYPE ietEncoding,
931 [in] HBODY hAlternative,
932 [in] IStream *pStream,
933 [out] LPHBODY phBody);
935 HRESULT AttachObject(
936 [in] REFIID riid,
937 [in, iid_is(riid)] void *pvObject,
938 [out] LPHBODY phBody);
940 HRESULT AttachFile(
941 [in] LPCSTR pszFilePath,
942 [in] IStream *pstmFile,
943 [out] LPHBODY phBody);
945 HRESULT AttachURL(
946 [in] LPCSTR pszBase,
947 [in] LPCSTR pszURL,
948 [in] DWORD dwFlags,
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);
960 HRESULT GetSender(
961 [in, out] LPADDRESSPROPS pAddress);
963 HRESULT GetAddressTypes(
964 [in] DWORD dwAdrTypes,
965 [in] DWORD dwProps,
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,
975 [in] DWORD dwProps,
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),
988 object
990 interface IMimeMessageCallback : IUnknown
992 HRESULT OnWebPageSplitter(
993 [in] DWORD cInlined,
994 [in] IStream *ppStream);
998 uuid(de4ad8da-555f-11d1-8dd0-00c04fb951f9),
999 object
1001 interface IPersistMime : IPersist
1003 /* FIXME: fill this in */
1007 uuid(c558834f-7f86-11d0-8252-00c04fd85ab4),
1008 object
1010 interface IMimeMessageParts : IUnknown
1012 /* FIXME: fill this in */
1016 uuid(c558834d-7f86-11d0-8252-00c04fd85ab4),
1017 object
1019 interface IMimeEnumHeaderRows : IUnknown
1021 typedef struct tagENUMHEADERROW
1023 HHEADERROW hRow;
1024 LPSTR pszHeader;
1025 LPSTR pszData;
1026 ULONG cchData;
1027 DWORD_PTR dwReserved;
1028 } ENUMHEADERROW, *LPENUMHEADERROW;
1030 /* FIXME: fill this in */
1034 uuid(fd853cee-7f86-11d0-8252-00c04fd85ab4),
1035 object
1037 interface IMimeEnumProperties : IUnknown
1039 typedef struct tagENUMPROPERTY
1041 LPSTR pszName;
1042 HHEADERROW hRow;
1043 DWORD dwPropId;
1044 } ENUMPROPERTY, *LPENUMPROPERTY;
1046 /* FIXME: fill this in */
1050 uuid(c5588354-7f86-11d0-8252-00c04fd85ab4),
1051 object
1053 interface IMimeEnumAddressTypes : IUnknown
1055 /* FIXME: fill this in */
1059 uuid(c5588350-7f86-11d0-8252-00c04fd85ab4),
1060 object
1062 interface IMimeEnumMessageParts : IUnknown
1064 /* FIXME: fill this in */
1068 uuid(64577981-86d7-11d1-bdfc-00c04fa31009),
1069 object
1071 interface IHashTable : IUnknown
1073 /* FIXME: fill this in */
1077 uuid(c5588351-7f86-11d0-8252-00c04fd85ab4),
1078 object
1080 interface IMimeAllocator : IMalloc
1082 typedef [unique] IMimeAllocator *LPMIMEALLOCATOR;
1084 HRESULT FreeParamInfoArray(
1085 [in] ULONG cParams,
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(
1101 [in] ULONG cRows,
1102 [in] LPENUMHEADERROW prgRow,
1103 [in] boolean fFreeArray);
1105 HRESULT FreeEnumPropertyArray(
1106 [in] ULONG cProps,
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),
1120 object
1122 interface IMimeObjResolver : IUnknown
1124 /* FIXME: fill this in */
1128 uuid(b0d17fc2-7bc4-11d1-bdfa-00c04fa31009),
1129 object
1131 interface IFontCache : IUnknown
1133 /* FIXME: fill this in */
1137 uuid(b0d17fc5-7bc4-11d1-bdfa-00c04fa31009),
1138 object
1140 interface IFontCacheNotify : IUnknown
1142 /* FIXME: fill this in */
1146 uuid(70183210-7b36-11d2-8c12-00c04fa31009),
1147 object
1149 interface IMimeEditTag : IUnknown
1151 /* FIXME: fill this in */
1155 uuid(d09ee528-7b38-11d2-8c12-00c04fa31009),
1156 object
1158 interface IMimeEditTagCollection : IUnknown
1160 /* FIXME: fill this in */
1164 cpp_quote("#ifdef __cplusplus")
1165 cpp_quote(" extern \"C\" {")
1166 cpp_quote("#endif")
1168 cpp_quote("")
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")
1254 cpp_quote("}")
1255 cpp_quote("#endif")