user32/tests: Copy/paste fix.
[wine/gsoc_dplay.git] / include / mimeole.idl
blob9d4f45bc0cd64eb17628924276eab9a4c87f1a2b
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("#define MIME_E_INVALID_TEXT_TYPE 0x800cce38")
46 cpp_quote("typedef enum tagMIMEPROPID {")
47 cpp_quote(" PID_HDR_NEWSGROUP = 2,")
48 cpp_quote(" PID_HDR_NEWSGROUPS = 3,")
49 cpp_quote(" PID_HDR_REFS = 4,")
50 cpp_quote(" PID_HDR_SUBJECT = 5,")
51 cpp_quote(" PID_HDR_FROM = 6,")
52 cpp_quote(" PID_HDR_MESSAGEID = 7,")
53 cpp_quote(" PID_HDR_RETURNPATH = 8,")
54 cpp_quote(" PID_HDR_RR = 9,")
55 cpp_quote(" PID_HDR_RETRCPTO = 10,")
56 cpp_quote(" PID_HDR_APPARTO = 11,")
57 cpp_quote(" PID_HDR_DATE = 12,")
58 cpp_quote(" PID_HDR_RECEIVED = 13,")
59 cpp_quote(" PID_HDR_REPLYTO = 14,")
60 cpp_quote(" PID_HDR_XMAILER = 15,")
61 cpp_quote(" PID_HDR_BCC = 16,")
62 cpp_quote(" PID_HDR_MIMEVER = 17,")
63 cpp_quote(" PID_HDR_CNTTYPE = 18,")
64 cpp_quote(" PID_HDR_CNTXFER = 19,")
65 cpp_quote(" PID_HDR_CNTID = 20,")
66 cpp_quote(" PID_HDR_CNTDESC = 21,")
67 cpp_quote(" PID_HDR_CNTDISP = 22,")
68 cpp_quote(" PID_HDR_CNTBASE = 23,")
69 cpp_quote(" PID_HDR_CNTLOC = 24,")
70 cpp_quote(" PID_HDR_TO = 25,")
71 cpp_quote(" PID_HDR_PATH = 26,")
72 cpp_quote(" PID_HDR_FOLLOWUPTO = 27,")
73 cpp_quote(" PID_HDR_EXPIRES = 28,")
74 cpp_quote(" PID_HDR_CC = 29,")
76 cpp_quote(" PID_HDR_SENDER = 61,")
78 cpp_quote(" PID_HDR_INREPLYTO = 77,")
79 cpp_quote("} MIMEPROPID;")
81 cpp_quote("#define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4)")
85 uuid(e4b28371-83b0-11d0-8259-00c04fd85ab4),
86 version(1.0)
88 library MIMEOLE
90 importlib("stdole2.tlb");
92 DECLARE_HANDLE(HCHARSET);
93 DECLARE_HANDLE(HBODY);
94 DECLARE_HANDLE(HHEADERROW);
96 typedef HCHARSET *LPHCHARSET;
97 typedef HBODY *LPHBODY;
98 typedef HHEADERROW *LPHHEADERROW;
99 typedef DWORD TYPEDID;
100 typedef const PROPVARIANT *LPCPROPVARIANT;
101 typedef const BLOB *LPCBLOB;
103 typedef enum tagRELOADTYPE
105 RELOAD_HEADER_NONE,
106 RELOAD_HEADER_RESET,
107 RELOAD_HEADER_APPEND,
108 RELOAD_HEADER_REPLACE,
109 } RELOADTYPE;
111 typedef enum tagMIMESAVETYPE
113 SAVE_RFC822,
114 SAVE_RFC1521,
115 } MIMESAVETYPE;
117 typedef enum tagCSETAPPLYTYPE
119 CSET_APPLY_UNTAGGED,
120 CSET_APPLY_ALL,
121 CSET_APPLY_TAG_ALL,
122 } CSETAPPLYTYPE;
124 typedef enum tagENCODINGTYPE
126 IET_BINARY,
127 IET_BASE64,
128 IET_UUENCODE,
129 IET_QP,
130 IET_7BIT,
131 IET_8BIT,
132 IET_INETCSET,
133 IET_UNICODE,
134 IET_RFC1522,
135 IET_ENCODED,
136 IET_CURRENT,
137 IET_UNKNOWN,
138 IET_BINHEX40,
139 IET_LAST
140 } ENCODINGTYPE;
142 const SHORT IET_DECODED = IET_BINARY;
144 const SHORT CCHMAX_HEADER_LINE = 1000;
147 uuid(c5588349-7f86-11d0-8252-00c04fd85ab4),
148 object
150 interface IMimeInternational : IUnknown
152 typedef [unique] IMimeInternational *LPMIMEINTERNATIONAL;
153 typedef DWORD CODEPAGEID;
155 const CODEPAGEID CP_USASCII = 1252;
156 const CODEPAGEID CP_UNICODE = 1200;
157 const CODEPAGEID CP_JAUTODETECT = 50932;
158 const CODEPAGEID CP_KAUTODETECT = 50949;
159 const CODEPAGEID CP_ISO2022JPESC = 50221;
160 const CODEPAGEID CP_ISO2022JPSIO = 50222;
162 const SHORT CCHMAX_CSET_NAME = 128;
163 const SHORT CCHMAX_LANG_NAME = 128;
164 const SHORT CCHMAX_FACE_NAME = 128;
166 typedef struct tagINETCSETINFO
168 CHAR szName[CCHMAX_CSET_NAME];
169 HCHARSET hCharset;
170 CODEPAGEID cpiWindows;
171 CODEPAGEID cpiInternet;
172 DWORD dwReserved1;
173 } INETCSETINFO, *LPINETCSETINFO;
175 typedef enum tagINETLANGMASK
177 ILM_FAMILY = 0x01,
178 ILM_NAME = 0x02,
179 ILM_BODYCSET = 0x04,
180 ILM_HEADERCSET = 0x08,
181 ILM_WEBCSET = 0x10,
182 ILM_FIXEDFONT = 0x20,
183 ILM_VARIABLEFONT = 0x40,
184 } INETLANGMASK;
186 typedef struct tagCODEPAGEINFO
188 DWORD dwMask;
189 CODEPAGEID cpiCodePage;
190 BOOL fIsValidCodePage;
191 ULONG ulMaxCharSize;
192 BOOL fInternetCP;
193 CODEPAGEID cpiFamily;
194 CHAR szName[CCHMAX_LANG_NAME];
195 CHAR szBodyCset[CCHMAX_CSET_NAME];
196 CHAR szHeaderCset[CCHMAX_CSET_NAME];
197 CHAR szWebCset[CCHMAX_CSET_NAME];
198 CHAR szFixedFont[CCHMAX_FACE_NAME];
199 CHAR szVariableFont[CCHMAX_FACE_NAME];
200 ENCODINGTYPE ietNewsDefault;
201 ENCODINGTYPE ietMailDefault;
202 DWORD dwReserved1;
203 } CODEPAGEINFO, *LPCODEPAGEINFO;
205 typedef struct tagRFC1522INFO
207 BOOL fRfc1522Allowed;
208 BOOL fRfc1522Used;
209 BOOL fAllow8bit;
210 HCHARSET hRfc1522Cset;
211 } RFC1522INFO, *LPRFC1522INFO;
213 typedef enum tagCHARSETTYPE
215 CHARSET_BODY,
216 CHARSET_HEADER,
217 CHARSET_WEB,
218 } CHARSETTYPE;
221 HRESULT SetDefaultCharset(
222 [in] HCHARSET hCharset);
223 HRESULT GetDefaultCharset(
224 [out] LPHCHARSET phCharset);
225 HRESULT GetCodePageCharset(
226 [in] CODEPAGEID cpiCodePage,
227 [in] CHARSETTYPE ctCsetType,
228 [out] LPHCHARSET phCharset);
229 HRESULT FindCharset(
230 [in] LPCSTR pszCharset,
231 [out] LPHCHARSET phCharset);
232 HRESULT GetCharsetInfo(
233 [in] HCHARSET hCharset,
234 [in, out] LPINETCSETINFO pCsetInfo);
235 HRESULT GetCodePageInfo(
236 [in] CODEPAGEID cpiCodePage,
237 [in, out] LPCODEPAGEINFO pCodePageInfo);
238 HRESULT DecodeHeader(
239 [in] HCHARSET hCharset,
240 [in] LPCSTR pszData,
241 [in, out] LPPROPVARIANT pDecoded,
242 [in, out] LPRFC1522INFO pRfc1522Info);
243 HRESULT EncodeHeader(
244 [in] HCHARSET hCharset,
245 [in] LPPROPVARIANT pData,
246 [out] LPSTR *ppszEncoded,
247 [in, out] LPRFC1522INFO pRfc1522Info);
248 HRESULT ConvertBuffer(
249 [in] CODEPAGEID cpiSource,
250 [in] CODEPAGEID cpiDest,
251 [in] LPBLOB pIn,
252 [in, out] LPBLOB pOut,
253 [out] ULONG *pcbRead);
254 HRESULT ConvertString(
255 [in] CODEPAGEID cpiSource,
256 [in] CODEPAGEID cpiDest,
257 [in] LPPROPVARIANT pIn,
258 [in, out] LPPROPVARIANT pOut);
259 HRESULT MLANG_ConvertInetReset();
260 HRESULT MLANG_ConvertInetString(
261 [in] CODEPAGEID cpiSource,
262 [in] CODEPAGEID cpiDest,
263 [in] LPCSTR pSource,
264 [in] int *pnSizeOfSource,
265 [out] LPSTR pDestination,
266 [in] int *pnDstSize);
267 HRESULT Rfc1522Decode(
268 [in] LPCSTR pszValue,
269 [in] LPCSTR pszCharset,
270 [in] ULONG cchmax,
271 [out] LPSTR *ppszDecoded);
272 HRESULT Rfc1522Encode(
273 [in] LPCSTR pszValue,
274 [in] HCHARSET hCharset,
275 [out] LPSTR *ppszEncoded);
279 uuid(c5588353-7f86-11d0-8252-00c04fd85ab4),
280 object
282 interface IMimeSecurity : IUnknown
284 typedef [unique] IMimeSecurity *LPMIMESECURITY;
286 cpp_quote("#ifdef __WINE_WINCRYPT_H")
287 cpp_quote("typedef PCCERT_CONTEXT PCX509CERT;")
288 cpp_quote("#else")
289 typedef const void *PCX509CERT;
290 typedef void *HCERTSTORE;
291 cpp_quote("#endif")
293 typedef BLOB THUMBBLOB;
294 typedef void *HCAPICERTSTORE;
296 typedef enum tagCERTSTATE
298 CERTIFICATE_OK,
299 CERTIFICATE_NOT_PRESENT,
300 CERTIFICATE_EXPIRED,
301 CERTIFICATE_CHAIN_TOO_LONG,
302 CERTIFICATE_MISSING_ISSUER,
303 CERTIFICATE_CRL_LISTED,
304 CERTIFICATE_NOT_TRUSTED,
305 CERTIFICATE_INVALID,
306 CERTIFICATE_ERROR,
307 CERTIFICATE_NOPRINT,
308 CERTIFICATE_UNKNOWN
309 } CERTSTATE;
311 typedef enum tagCERTNAMETYPE
313 SIMPLE,
314 OID,
315 X500,
316 } CERTNAMETYPE;
318 typedef enum tagCERTDATAID
320 CDID_EMAIL,
321 CDID_MAX
322 } CERTDATAID;
324 typedef struct tagX509CERTRESULT
326 DWORD cEntries;
327 CERTSTATE *rgcs;
328 PCX509CERT *rgpCert;
329 } X509CERTRESULT, *PX509CERTRESULT;
330 typedef const X509CERTRESULT *PCX509CERTRESULT;
332 HRESULT InitNew(void);
334 HRESULT CheckInit(void);
336 HRESULT EncodeMessage(
337 [in] IMimeMessageTree */*const*/ pTree,
338 [in] DWORD dwFlags);
340 HRESULT EncodeBody(
341 [in] IMimeMessageTree */*const*/ pTree,
342 [in] HBODY hEncodeRoot,
343 [in] DWORD dwFlags);
345 HRESULT DecodeMessage(
346 [in] IMimeMessageTree */*const*/ pTree,
347 [in] DWORD dwFlags);
349 HRESULT DecodeBody(
350 [in] IMimeMessageTree */*const*/ pTree,
351 [in] HBODY hDecodeRoot,
352 [in] DWORD dwFlags);
354 HRESULT EnumCertificates(
355 [in] HCAPICERTSTORE hc,
356 [in] DWORD dwUsage,
357 [in] PCX509CERT pPrev,
358 [out] PCX509CERT *ppCert);
360 HRESULT GetCertificateName(
361 [in] const PCX509CERT pX509Cert,
362 [in] const CERTNAMETYPE cn,
363 [out] LPSTR *ppszName);
365 HRESULT GetMessageType(
366 [in] const HWND hwndParent,
367 [in] IMimeBody */*const*/ pBody,
368 [out] DWORD */*const*/ pdwSecType);
370 HRESULT GetCertData(
371 [in] const PCX509CERT pX509Cert,
372 [in] const CERTDATAID dataid,
373 [out, ref] LPPROPVARIANT pValue);
377 uuid(fd853cd1-7f86-11d0-8252-00c04fd85ab4),
378 object
380 interface IMimeHeaderTable : IPersistStream
382 /* FIXME: fill this in */
386 uuid(fd853cec-7f86-11d0-8252-00c04fd85ab4),
387 object
389 interface IMimePropertySchema : IUnknown
391 typedef enum tagMIMEPROPFLAGS
393 MPF_INETCSET = 0x01,
394 MPF_RFC1522 = 0x02,
395 MPF_ADDRESS = 0x04,
396 MPF_HASPARAMS = 0x08,
397 MPF_MIME = 0x10,
398 MPF_READONLY = 0x20
399 } MIMEPROPFLAGS;
401 /* FIXME: fill this in */
405 uuid(fd853cd3-7f86-11d0-8252-00c04fd85ab4),
406 object
408 interface IMimePropertySet : IPersistStreamInit
410 typedef [unique] IMimePropertySet *LPMIMEPROPERTYSET;
412 cpp_quote("#define PDF_ENCODED 0x00000001")
413 cpp_quote("#define PDF_NAMEINDATA 0x00000002")
414 cpp_quote("#define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED)")
415 cpp_quote("#define PDF_NOCOMMENTS 0x00000008")
416 cpp_quote("#define PDF_SAVENOENCODE 0x00000010")
417 cpp_quote("#define PDF_VECTOR 0x00000020")
419 typedef struct tagMIMEPARAMINFO
421 LPSTR pszName;
422 LPSTR pszData;
423 } MIMEPARAMINFO, *LPMIMEPARAMINFO;
425 typedef enum tagPROPINFOMASK
427 PIM_CHARSET = 0x01,
428 PIM_ENCODINGTYPE = 0x02,
429 PIM_ROWNUMBER = 0x04,
430 PIM_FLAGS = 0x08,
431 PIM_PROPID = 0x10,
432 PIM_VALUES = 0x20,
433 PIM_VTDEFAULT = 0x40,
434 PIM_VTCURRENT = 0x80
435 } PROPINFOMASK;
437 typedef struct tagMIMEPROPINFO
439 DWORD dwMask;
440 HCHARSET hCharset;
441 ENCODINGTYPE ietEncoding;
442 DWORD dwRowNumber;
443 DWORD dwFlags;
444 DWORD dwPropId;
445 DWORD cValues;
446 VARTYPE vtDefault;
447 VARTYPE vtCurrent;
448 } MIMEPROPINFO, *LPMIMEPROPINFO;
449 typedef const MIMEPROPINFO *LPCMIMEPROPINFO;
451 HRESULT GetPropInfo(
452 [in] LPCSTR pszName,
453 [in,out] LPMIMEPROPINFO pInfo);
455 HRESULT SetPropInfo(
456 [in] LPCSTR pszName,
457 [in] LPCMIMEPROPINFO pInfo);
459 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
460 cpp_quote("#undef GetProp")
461 cpp_quote("#undef SetProp")
462 cpp_quote("#undef EnumProps")
463 cpp_quote("#endif")
464 HRESULT GetProp(
465 [in] LPCSTR pszName,
466 [in] DWORD dwFlags,
467 [in,out] LPPROPVARIANT pValue);
469 HRESULT SetProp(
470 [in] LPCSTR pszName,
471 [in] DWORD dwFlags,
472 [in] LPCPROPVARIANT pValue);
474 HRESULT AppendProp(
475 [in] LPCSTR pszName,
476 [in] DWORD dwFlags,
477 [in] LPPROPVARIANT pValue);
479 HRESULT DeleteProp(
480 [in] LPCSTR pszName);
482 HRESULT CopyProps(
483 [in] ULONG cNames,
484 [in,unique] LPCSTR *prgszName,
485 [in] IMimePropertySet *pPropertySet);
487 HRESULT MoveProps(
488 [in] ULONG cNames,
489 [in] LPCSTR *prgszName,
490 [in] IMimePropertySet *pPropertySet);
492 HRESULT DeleteExcept(
493 [in] ULONG cNames,
494 [in] LPCSTR *prgszName);
496 HRESULT QueryProp(
497 [in] LPCSTR pszName,
498 [in] LPCSTR pszCriteria,
499 [in] boolean fSubString,
500 [in] boolean fCaseSensitive);
502 HRESULT GetCharset(
503 [out] LPHCHARSET phCharset);
505 HRESULT SetCharset(
506 [in] HCHARSET hCharset,
507 [in] CSETAPPLYTYPE applytype);
509 HRESULT GetParameters(
510 [in] LPCSTR pszName,
511 [out] ULONG *pcParams,
512 [out] LPMIMEPARAMINFO *pprgParam);
514 HRESULT IsContentType(
515 [in] LPCSTR pszPriType,
516 [in,unique] LPCSTR pszSubType);
518 HRESULT BindToObject(
519 [in] REFIID riid,
520 [out,iid_is(riid)] void **ppvObject);
522 HRESULT Clone(
523 [out] IMimePropertySet **ppPropertySet);
525 HRESULT SetOption(
526 [in] const TYPEDID oid,
527 [in] LPCPROPVARIANT pValue);
529 HRESULT GetOption(
530 [in] const TYPEDID oid,
531 [in,out] LPPROPVARIANT pValue);
533 cpp_quote("#define EPF_NONAME 0x00000001")
535 HRESULT EnumProps(
536 [in] DWORD dwFlags,
537 [out] IMimeEnumProperties **ppEnum);
542 uuid(c558834a-7f86-11d0-8252-00c04fd85ab4),
543 object
545 interface IMimeAddressTable : IUnknown
547 typedef [unique] IMimeAddressTable *LPMIMEADDRESSTABLE;
549 DECLARE_HANDLE(HADDRESS);
550 typedef HADDRESS *LPHADDRESS;
551 typedef DWORD IADDRESSTYPE;
553 typedef enum tagADDRESSFORMAT
555 AFT_DISPLAY_FRIENDLY,
556 AFT_DISPLAY_EMAIL,
557 AFT_DISPLAY_BOTH,
558 AFT_RFC822_DECODED,
559 AFT_RFC822_ENCODED,
560 AFT_RFC822_TRANSMIT,
561 } ADDRESSFORMAT;
563 typedef struct tagADDRESSPROPS
565 DWORD dwProps;
566 HADDRESS hAddress;
567 ENCODINGTYPE ietFriendly;
568 HCHARSET hCharset;
569 DWORD dwAdrType;
570 LPSTR pszFriendly;
571 LPWSTR pwszReserved;
572 LPSTR pszEmail;
573 CERTSTATE certstate;
574 THUMBBLOB tbSigning;
575 THUMBBLOB tbEncryption;
576 DWORD dwCookie;
577 DWORD dwReserved1;
578 DWORD dwReserved2;
579 } ADRESSPROPS, *LPADDRESSPROPS;
581 typedef struct tagADDRESSLIST
583 ULONG cAdrs;
584 LPADDRESSPROPS prgAdr;
585 } ADDRESSLIST, *LPADDRESSLIST;
587 /* FIXME: fill this in */
591 uuid(ee519f11-851a-11d0-8252-00c04fd85ab4),
592 object
594 interface IMimeWebDocument : IUnknown
596 /* FIXME: fill this in */
600 uuid(c558834c-7f86-11d0-8252-00c04fd85ab4),
601 object
603 interface IMimeBody : IMimePropertySet
605 typedef [unique] IMimeBody *LPMIMEBODY;
607 typedef enum tagIMSGBODYTYPE
609 IBT_SECURE,
610 IBT_ATTACHMENT,
611 IBT_EMPTY,
612 IBT_CSETTAGGED,
613 IBT_AUTOATTACH,
614 } IMSGBODYTYPE;
616 typedef struct tagBODYOFFSETS
618 DWORD cbBoundaryStart;
619 DWORD cbHeaderStart;
620 DWORD cbBodyStart;
621 DWORD cbBodyEnd;
622 } BODYOFFSETS, *LPBODYOFFSETS;
624 typedef struct tagTRANSMITINFO
626 ENCODINGTYPE ietCurrent;
627 ENCODINGTYPE ietXmitMime;
628 ENCODINGTYPE ietXmit822;
629 ULONG cbLongestLine;
630 ULONG cExtended;
631 ULONG ulPercentExt;
632 ULONG cbSize;
633 ULONG cLines;
634 } TRANSMITINFO, *LPTRANSMITINFO;
636 HRESULT IsType(
637 [in] IMSGBODYTYPE bodytype);
639 HRESULT SetDisplayName(
640 [in] LPCSTR pszDisplay);
642 HRESULT GetDisplayName(
643 [out] LPSTR *ppszDisplay);
645 HRESULT GetOffsets(
646 [out] LPBODYOFFSETS pOffsets);
648 HRESULT GetCurrentEncoding(
649 [out] ENCODINGTYPE *pietEncoding);
651 HRESULT SetCurrentEncoding(
652 [in] ENCODINGTYPE ietEncoding);
654 HRESULT GetEstimatedSize(
655 [in] ENCODINGTYPE ietEncoding,
656 [out] ULONG *pcbSize);
658 HRESULT GetDataHere(
659 [in] ENCODINGTYPE ietEncoding,
660 [in] IStream *pStream);
662 HRESULT GetData(
663 [in] ENCODINGTYPE ietEncoding,
664 [out] IStream **ppStream);
666 HRESULT SetData(
667 [in] ENCODINGTYPE ietEncoding,
668 [in,unique] LPCSTR pszPriType,
669 [in,unique] LPCSTR pszSubType,
670 [in] REFIID riid,
671 [in,iid_is(riid)] LPVOID pvObject);
673 HRESULT EmptyData(void);
675 HRESULT CopyTo(
676 [in] IMimeBody *pBody);
678 HRESULT GetTransmitInfo(
679 [in,out] LPTRANSMITINFO pTransmitInfo);
681 HRESULT SaveToFile(
682 [in] ENCODINGTYPE ietEncoding,
683 [in] LPCSTR pszFilePath);
685 HRESULT GetHandle(
686 [out] LPHBODY phBody);
691 uuid(fd853cd4-7f86-11d0-8252-00c04fd85ab4),
692 object
694 interface IMimeMessageTree : IPersistStreamInit
696 typedef [unique] IMimeMessageTree *LPMIMEMESSAGETREE;
698 const HBODY HBODY_ROOT = (HBODY)-1;
700 typedef enum tagBODYLOCATION
702 IBL_ROOT,
703 IBL_PARENT,
704 IBL_FIRST,
705 IBL_LAST,
706 IBL_NEXT,
707 IBL_PREVIOUS,
708 } BODYLOCATION;
710 typedef struct tagFINDBODY
712 LPSTR pszPriType;
713 LPSTR pszSubType;
714 DWORD dwReserved;
715 } FINDBODY, *LPFINDBODY;
717 HRESULT GetMessageSource(
718 [out] IStream **ppStream,
719 [in] DWORD dwFlags);
721 HRESULT GetMessageSize(
722 [out] ULONG *pcbSize,
723 [in] DWORD dwFlags);
725 HRESULT LoadOffsetTable(
726 [in] IStream *pStream);
728 HRESULT SaveOffsetTable(
729 [in] IStream *pStream,
730 [in] DWORD dwFlags);
732 HRESULT GetFlags(
733 [out] DWORD *pdwFlags);
735 HRESULT Commit(
736 [in] DWORD dwFlags);
738 HRESULT HandsOffStorage();
740 HRESULT BindToObject(
741 [in] const HBODY hBody,
742 [in] REFIID riid,
743 [out, iid_is(riid)] void **ppvObject);
745 HRESULT SaveBody(
746 [in] HBODY hBody,
747 [in] DWORD dwFlags,
748 [in] IStream *pStream);
750 HRESULT InsertBody(
751 [in] BODYLOCATION location,
752 [in] HBODY hPivot,
753 [out] LPHBODY phBody);
755 HRESULT GetBody(
756 [in] BODYLOCATION location,
757 [in] HBODY hPivot,
758 [out] LPHBODY phBody);
760 HRESULT DeleteBody(
761 [in] HBODY hBody,
762 [in] DWORD dwFlags);
764 HRESULT MoveBody(
765 [in] HBODY hBody,
766 [in] BODYLOCATION location);
768 HRESULT CountBodies(
769 [in] HBODY hParent,
770 [in] boolean fRecurse,
771 [out] ULONG *pcBodies);
773 HRESULT FindFirst(
774 [in, out] LPFINDBODY pFindBody,
775 [out] LPHBODY phBody);
777 HRESULT FindNext(
778 [in, out] LPFINDBODY pFindBody,
779 [out] LPHBODY phBody);
781 HRESULT ResolveURL(
782 [in] HBODY hRelated,
783 [in] LPCSTR pszBase,
784 [in] LPCSTR pszURL,
785 [in] DWORD dwFlags,
786 [out] LPHBODY phBody);
788 HRESULT ToMultipart(
789 [in] HBODY hBody,
790 [in] LPCSTR pszSubType,
791 [out] LPHBODY phMultipart);
793 HRESULT GetBodyOffsets(
794 [in] HBODY hBody,
795 [in, out] LPBODYOFFSETS pOffsets);
797 HRESULT GetCharset(
798 [out] LPHCHARSET phCharset);
800 HRESULT SetCharset(
801 [in] HCHARSET hCharset,
802 [in] CSETAPPLYTYPE applytype);
804 HRESULT IsBodyType(
805 [in] HBODY hBody,
806 [in] IMSGBODYTYPE bodytype);
808 HRESULT IsContentType(
809 [in] HBODY hBody,
810 [in] LPCSTR pszPriType,
811 [in] LPCSTR pszSubType);
813 HRESULT QueryBodyProp(
814 [in] HBODY hBody,
815 [in] LPCSTR pszName,
816 [in] LPCSTR pszCriteria,
817 [in] boolean fSubString,
818 [in] boolean fCaseSensitive);
820 HRESULT GetBodyProp(
821 [in] HBODY hBody,
822 [in] LPCSTR pszName,
823 [in] DWORD dwFlags,
824 [in, out] LPPROPVARIANT pValue);
826 HRESULT SetBodyProp(
827 [in] HBODY hBody,
828 [in] LPCSTR pszName,
829 [in] DWORD dwFlags,
830 [in] LPCPROPVARIANT pValue);
832 HRESULT DeleteBodyProp(
833 [in] HBODY hBody,
834 [in] LPCSTR pszName);
836 HRESULT SetOption(
837 [in] const TYPEDID oid,
838 [in] LPCPROPVARIANT pValue);
840 HRESULT GetOption(
841 [in] const TYPEDID oid,
842 [in, out] LPPROPVARIANT pValue);
846 uuid(fd853cd5-7f86-11d0-8252-00c04fd85ab4),
847 object
849 interface IMimeMessage : IMimeMessageTree
851 typedef [unique] IMimeMessage *LPMIMEMESSAGE;
853 typedef DWORD TEXTTYPE;
855 typedef enum tagIMSGFLAGS
857 IMF_ATTACHMENTS = 0x00000001,
858 IMF_MULTIPART = 0x00000002,
859 IMF_SUBMULTIPART = 0x00000004,
860 IMF_MIME = 0x00000008,
861 IMF_HTML = 0x00000010,
862 IMF_PLAIN = 0x00000020,
863 IMF_PARTIAL = 0x00000040,
864 IMF_SIGNED = 0x00000080,
865 IMF_ENCRYPTED = 0x00000100,
866 IMF_TNEF = 0x00000200,
867 IMF_MHTML = 0x00000400,
868 IMF_SECURE = 0x00000800,
869 IMF_TEXT = 0x00001000,
870 IMF_CSETTAGGED = 0x00002000,
871 IMF_NEWS = 0x00004000,
872 IMF_VOICEMAIL = 0x00008000,
873 IMF_HASVCARD = 0x00010000,
874 IMF_RFC1154 = 0x00020000,
875 } IMSGFLAGS;
877 typedef enum tagIMSGPRIORITY
879 IMSG_PRI_LOW = 5,
880 IMSG_PRI_NORMAL = 3,
881 IMSG_PRI_HIGH = 1,
882 } IMSGPRIORITY;
884 cpp_quote("#define WPF_HTML 0x00000001")
885 cpp_quote("#define WPF_AUTOINLINE 0x00000002")
886 cpp_quote("#define WPF_SLIDESHOW 0x00000004")
887 cpp_quote("#define WPF_ATTACHLINKS 0x00000008")
888 cpp_quote("#define WPF_IMAGESONLY 0x00000010")
889 cpp_quote("#define WPF_NOMETACHARSET 0x00000020")
891 typedef struct tagWEPAGEOPTIONS
893 DWORD cbSize;
894 DWORD dwFlags;
895 DWORD dwDelay;
896 WCHAR wchQuote;
897 } WEBPAGEOPTIONS, *LPWEBPAGEOPTIONS;
899 cpp_quote("#define TXT_PLAIN 1")
900 cpp_quote("#define TXT_HTML 2")
902 HRESULT CreateWebPage(
903 [in] IStream *pRootStm,
904 [in] LPWEBPAGEOPTIONS pOptions,
905 [in] IMimeMessageCallback *pCallback,
906 [out] IMoniker **ppMoniker);
908 HRESULT GetProp(
909 [in] LPCSTR pszName,
910 [in] DWORD dwFlags,
911 [in,out] LPPROPVARIANT pValue);
913 HRESULT SetProp(
914 [in] LPCSTR pszName,
915 [in] DWORD dwFlags,
916 [in] LPCPROPVARIANT pValue);
918 HRESULT DeleteProp(
919 [in] LPCSTR pszName);
921 HRESULT QueryProp(
922 [in] LPCSTR pszName,
923 [in] LPCSTR pszCriteria,
924 [in] boolean fSubString,
925 [in] boolean fCaseSensitive);
927 HRESULT GetTextBody(
928 [in] DWORD dwTxtType,
929 [in] ENCODINGTYPE ietEncoding,
930 [out] IStream **pStream,
931 [out] LPHBODY phBody);
933 HRESULT SetTextBody(
934 [in] DWORD dwTxtType,
935 [in] ENCODINGTYPE ietEncoding,
936 [in] HBODY hAlternative,
937 [in] IStream *pStream,
938 [out] LPHBODY phBody);
940 HRESULT AttachObject(
941 [in] REFIID riid,
942 [in, iid_is(riid)] void *pvObject,
943 [out] LPHBODY phBody);
945 HRESULT AttachFile(
946 [in] LPCSTR pszFilePath,
947 [in] IStream *pstmFile,
948 [out] LPHBODY phBody);
950 HRESULT AttachURL(
951 [in] LPCSTR pszBase,
952 [in] LPCSTR pszURL,
953 [in] DWORD dwFlags,
954 [in] IStream *pstmURL,
955 [out] LPSTR *ppszCIDURL,
956 [out] LPHBODY phBody);
958 HRESULT GetAttachments(
959 [out] ULONG *pcAttach,
960 [out] LPHBODY *pprghAttach);
962 HRESULT GetAddressTable(
963 [out] IMimeAddressTable **ppTable);
965 HRESULT GetSender(
966 [in, out] LPADDRESSPROPS pAddress);
968 HRESULT GetAddressTypes(
969 [in] DWORD dwAdrTypes,
970 [in] DWORD dwProps,
971 [in, out] LPADDRESSLIST pList);
973 HRESULT GetAddressFormat(
974 [in] DWORD dwAdrTypes,
975 [in] ADDRESSFORMAT format,
976 [out] LPSTR *ppszFormat);
978 HRESULT EnumAddressTypes(
979 [in] DWORD dwAdrTypes,
980 [in] DWORD dwProps,
981 [out] IMimeEnumAddressTypes **ppEnum);
983 HRESULT SplitMessage(
984 [in] ULONG cbMaxPart,
985 [out] IMimeMessageParts **ppParts);
987 HRESULT GetRootMoniker(
988 [out] IMoniker **ppMoniker);
992 uuid(761aa741-7bda-11d1-8aa9-00c04fb951f3),
993 object
995 interface IMimeMessageCallback : IUnknown
997 HRESULT OnWebPageSplitter(
998 [in] DWORD cInlined,
999 [in] IStream *ppStream);
1003 uuid(de4ad8da-555f-11d1-8dd0-00c04fb951f9),
1004 object
1006 interface IPersistMime : IPersist
1008 /* FIXME: fill this in */
1012 uuid(c558834f-7f86-11d0-8252-00c04fd85ab4),
1013 object
1015 interface IMimeMessageParts : IUnknown
1017 /* FIXME: fill this in */
1021 uuid(c558834d-7f86-11d0-8252-00c04fd85ab4),
1022 object
1024 interface IMimeEnumHeaderRows : IUnknown
1026 typedef struct tagENUMHEADERROW
1028 HHEADERROW hRow;
1029 LPSTR pszHeader;
1030 LPSTR pszData;
1031 ULONG cchData;
1032 DWORD_PTR dwReserved;
1033 } ENUMHEADERROW, *LPENUMHEADERROW;
1035 /* FIXME: fill this in */
1039 uuid(fd853cee-7f86-11d0-8252-00c04fd85ab4),
1040 object
1042 interface IMimeEnumProperties : IUnknown
1044 typedef struct tagENUMPROPERTY
1046 LPSTR pszName;
1047 HHEADERROW hRow;
1048 DWORD dwPropId;
1049 } ENUMPROPERTY, *LPENUMPROPERTY;
1051 /* FIXME: fill this in */
1055 uuid(c5588354-7f86-11d0-8252-00c04fd85ab4),
1056 object
1058 interface IMimeEnumAddressTypes : IUnknown
1060 /* FIXME: fill this in */
1064 uuid(c5588350-7f86-11d0-8252-00c04fd85ab4),
1065 object
1067 interface IMimeEnumMessageParts : IUnknown
1069 /* FIXME: fill this in */
1073 uuid(64577981-86d7-11d1-bdfc-00c04fa31009),
1074 object
1076 interface IHashTable : IUnknown
1078 /* FIXME: fill this in */
1082 uuid(c5588351-7f86-11d0-8252-00c04fd85ab4),
1083 object
1085 interface IMimeAllocator : IMalloc
1087 typedef [unique] IMimeAllocator *LPMIMEALLOCATOR;
1089 HRESULT FreeParamInfoArray(
1090 [in] ULONG cParams,
1091 [in] LPMIMEPARAMINFO prgParam,
1092 [in] boolean fFreeArray);
1094 HRESULT FreeAddressList(
1095 [in,out] LPADDRESSLIST pList);
1097 HRESULT FreeAddressProps(
1098 [in,out] LPADDRESSPROPS pAddress);
1100 HRESULT ReleaseObjects(
1101 [in] ULONG cObjects,
1102 [in] IUnknown **prgpUnknown,
1103 [in] boolean fFreeArray);
1105 HRESULT FreeEnumHeaderRowArray(
1106 [in] ULONG cRows,
1107 [in] LPENUMHEADERROW prgRow,
1108 [in] boolean fFreeArray);
1110 HRESULT FreeEnumPropertyArray(
1111 [in] ULONG cProps,
1112 [in] LPENUMPROPERTY prgProp,
1113 [in] boolean fFreeArray);
1115 HRESULT FreeThumbprint(
1116 [in] THUMBBLOB *pthumbprint);
1118 HRESULT PropVariantClear(
1119 [in] LPPROPVARIANT pProp);
1124 uuid(feceaffd-c441-11d1-960e-00c04fbd7c09),
1125 object
1127 interface IMimeObjResolver : IUnknown
1129 /* FIXME: fill this in */
1133 uuid(b0d17fc2-7bc4-11d1-bdfa-00c04fa31009),
1134 object
1136 interface IFontCache : IUnknown
1138 /* FIXME: fill this in */
1142 uuid(b0d17fc5-7bc4-11d1-bdfa-00c04fa31009),
1143 object
1145 interface IFontCacheNotify : IUnknown
1147 /* FIXME: fill this in */
1151 uuid(70183210-7b36-11d2-8c12-00c04fa31009),
1152 object
1154 interface IMimeEditTag : IUnknown
1156 /* FIXME: fill this in */
1160 uuid(d09ee528-7b38-11d2-8c12-00c04fa31009),
1161 object
1163 interface IMimeEditTagCollection : IUnknown
1165 /* FIXME: fill this in */
1169 cpp_quote("#ifdef __cplusplus")
1170 cpp_quote(" extern \"C\" {")
1171 cpp_quote("#endif")
1173 cpp_quote("")
1174 cpp_quote("HRESULT WINAPI MimeOleSetCompatMode(DWORD);")
1175 cpp_quote("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);")
1176 cpp_quote("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);")
1177 cpp_quote("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);")
1178 cpp_quote("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);")
1179 cpp_quote("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);")
1180 cpp_quote("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);")
1181 cpp_quote("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);")
1182 cpp_quote("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1183 cpp_quote("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1184 cpp_quote("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);")
1185 cpp_quote("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);")
1186 cpp_quote("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);")
1187 cpp_quote("HRESULT WINAPI MimeOleCreateByteStream(IStream**);")
1188 cpp_quote("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);")
1189 cpp_quote("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);")
1190 cpp_quote("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);")
1191 cpp_quote("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);")
1192 cpp_quote("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);")
1193 cpp_quote("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);")
1194 cpp_quote("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);")
1195 cpp_quote("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);")
1196 cpp_quote("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);")
1197 cpp_quote("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);")
1198 cpp_quote("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);")
1199 cpp_quote("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);")
1200 cpp_quote("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);")
1201 cpp_quote("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);")
1202 cpp_quote("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);")
1203 cpp_quote("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);")
1204 cpp_quote("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);")
1205 cpp_quote("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);")
1206 cpp_quote("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);")
1207 cpp_quote("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);")
1208 cpp_quote("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);")
1209 cpp_quote("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);")
1210 cpp_quote("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);")
1211 cpp_quote("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);")
1212 cpp_quote("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);")
1213 cpp_quote("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);")
1214 cpp_quote("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);")
1215 cpp_quote("HRESULT WINAPI MimeOleIsTnefStream(IStream*);")
1216 cpp_quote("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);")
1217 cpp_quote("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);")
1218 cpp_quote("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);")
1219 cpp_quote("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);")
1220 cpp_quote("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);")
1221 cpp_quote("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);")
1222 cpp_quote("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);")
1223 cpp_quote("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);")
1224 cpp_quote("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);")
1225 cpp_quote("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);")
1226 cpp_quote("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);")
1227 cpp_quote("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);")
1228 cpp_quote("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);")
1229 cpp_quote("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);")
1230 cpp_quote("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);")
1231 cpp_quote("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);")
1232 cpp_quote("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);")
1233 cpp_quote("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);")
1234 cpp_quote("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);")
1235 cpp_quote("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);")
1236 cpp_quote("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);")
1237 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);")
1238 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);")
1239 cpp_quote("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);")
1240 cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);")
1241 cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);")
1242 cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1243 cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1244 cpp_quote("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);")
1245 cpp_quote("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);")
1246 cpp_quote("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);")
1247 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);")
1248 cpp_quote("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);")
1249 cpp_quote("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);")
1251 cpp_quote("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);")
1252 cpp_quote("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);")
1253 cpp_quote("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);")
1254 cpp_quote("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);")
1255 cpp_quote("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);")
1256 cpp_quote("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);")
1258 cpp_quote("#ifdef __cplusplus")
1259 cpp_quote("}")
1260 cpp_quote("#endif")