kernel32: Fix the target buffer size.
[wine.git] / include / mimeole.idl
blobb94163dba86c3c781fcc02a7d0a298d355a1d319
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")
43 cpp_quote("#define MIME_E_INVALID_ITEM_FLAGS 0x800cce07")
44 cpp_quote("#define MIME_E_ONE_LINE_ITEME 0x800cce08")
45 cpp_quote("#define MIME_E_INVALID_HANDLE 0x800cce09")
46 cpp_quote("#define MIME_E_CHARSET_TRANSLATE 0x800cce0a")
47 cpp_quote("#define MIME_E_NOT_INITIALIZED 0x800cce0b")
49 cpp_quote("#define MIME_E_INVALID_CHARSET_TYPE 0x800cce31")
51 cpp_quote("#define MIME_E_INVALID_TEXT_TYPE 0x800cce38")
53 cpp_quote("#define MIME_E_SECURITY_NOOP 0x800cceb1")
54 cpp_quote("#define MIME_S_SECURITY_NOOP 0x000cceb1")
56 cpp_quote("typedef enum tagMIMEPROPID {")
57 cpp_quote(" PID_HDR_NEWSGROUP = 2,")
58 cpp_quote(" PID_HDR_NEWSGROUPS = 3,")
59 cpp_quote(" PID_HDR_REFS = 4,")
60 cpp_quote(" PID_HDR_SUBJECT = 5,")
61 cpp_quote(" PID_HDR_FROM = 6,")
62 cpp_quote(" PID_HDR_MESSAGEID = 7,")
63 cpp_quote(" PID_HDR_RETURNPATH = 8,")
64 cpp_quote(" PID_HDR_RR = 9,")
65 cpp_quote(" PID_HDR_RETRCPTO = 10,")
66 cpp_quote(" PID_HDR_APPARTO = 11,")
67 cpp_quote(" PID_HDR_DATE = 12,")
68 cpp_quote(" PID_HDR_RECEIVED = 13,")
69 cpp_quote(" PID_HDR_REPLYTO = 14,")
70 cpp_quote(" PID_HDR_XMAILER = 15,")
71 cpp_quote(" PID_HDR_BCC = 16,")
72 cpp_quote(" PID_HDR_MIMEVER = 17,")
73 cpp_quote(" PID_HDR_CNTTYPE = 18,")
74 cpp_quote(" PID_HDR_CNTXFER = 19,")
75 cpp_quote(" PID_HDR_CNTID = 20,")
76 cpp_quote(" PID_HDR_CNTDESC = 21,")
77 cpp_quote(" PID_HDR_CNTDISP = 22,")
78 cpp_quote(" PID_HDR_CNTBASE = 23,")
79 cpp_quote(" PID_HDR_CNTLOC = 24,")
80 cpp_quote(" PID_HDR_TO = 25,")
81 cpp_quote(" PID_HDR_PATH = 26,")
82 cpp_quote(" PID_HDR_FOLLOWUPTO = 27,")
83 cpp_quote(" PID_HDR_EXPIRES = 28,")
84 cpp_quote(" PID_HDR_CC = 29,")
86 cpp_quote(" PID_HDR_SENDER = 61,")
88 cpp_quote(" PID_HDR_INREPLYTO = 77,")
89 cpp_quote("} MIMEPROPID;")
91 cpp_quote("#define TYPEDID_MASK ((ULONG)0xffff)")
92 cpp_quote("#define TYPEDID_TYPE(t) ((VARTYPE)((t) & TYPEDID_MASK))")
94 cpp_quote("#define OID_HIDE_TNEF_ATTACHMENTS (0x000e0000 | VT_BOOL)")
95 cpp_quote("#define OID_SECURITY_TYPE (0x00180000 | VT_UI4)")
96 cpp_quote("#define OID_SECURITY_HWND_OWNER (0x00320000 | VT_UI4)")
97 cpp_quote("#define OID_HEADER_RELOAD_TYPE (0x00370000 | VT_UI4)")
98 cpp_quote("#define OID_SHOW_MACBINARY (0x00390000 | VT_BOOL)")
102 uuid(e4b28371-83b0-11d0-8259-00c04fd85ab4),
103 version(1.0)
105 library MIMEOLE
107 importlib("stdole2.tlb");
109 DECLARE_HANDLE(HCHARSET);
110 DECLARE_HANDLE(HBODY);
111 DECLARE_HANDLE(HHEADERROW);
113 typedef HCHARSET *LPHCHARSET;
114 typedef HBODY *LPHBODY;
115 typedef HHEADERROW *LPHHEADERROW;
116 typedef DWORD TYPEDID;
117 typedef const PROPVARIANT *LPCPROPVARIANT;
118 typedef const BLOB *LPCBLOB;
120 typedef enum tagRELOADTYPE
122 RELOAD_HEADER_NONE,
123 RELOAD_HEADER_RESET,
124 RELOAD_HEADER_APPEND,
125 RELOAD_HEADER_REPLACE,
126 } RELOADTYPE;
128 typedef enum tagMIMESAVETYPE
130 SAVE_RFC822,
131 SAVE_RFC1521,
132 } MIMESAVETYPE;
134 typedef enum tagCSETAPPLYTYPE
136 CSET_APPLY_UNTAGGED,
137 CSET_APPLY_ALL,
138 CSET_APPLY_TAG_ALL,
139 } CSETAPPLYTYPE;
141 typedef enum tagENCODINGTYPE
143 IET_BINARY,
144 IET_BASE64,
145 IET_UUENCODE,
146 IET_QP,
147 IET_7BIT,
148 IET_8BIT,
149 IET_INETCSET,
150 IET_UNICODE,
151 IET_RFC1522,
152 IET_ENCODED,
153 IET_CURRENT,
154 IET_UNKNOWN,
155 IET_BINHEX40,
156 IET_LAST
157 } ENCODINGTYPE;
159 const SHORT IET_DECODED = IET_BINARY;
161 const SHORT CCHMAX_HEADER_LINE = 1000;
164 uuid(c5588349-7f86-11d0-8252-00c04fd85ab4),
165 object
167 interface IMimeInternational : IUnknown
169 typedef [unique] IMimeInternational *LPMIMEINTERNATIONAL;
170 typedef DWORD CODEPAGEID;
172 const CODEPAGEID CP_USASCII = 1252;
173 const CODEPAGEID CP_UNICODE = 1200;
174 const CODEPAGEID CP_JAUTODETECT = 50932;
175 const CODEPAGEID CP_KAUTODETECT = 50949;
176 const CODEPAGEID CP_ISO2022JPESC = 50221;
177 const CODEPAGEID CP_ISO2022JPSIO = 50222;
179 const SHORT CCHMAX_CSET_NAME = 128;
180 const SHORT CCHMAX_LANG_NAME = 128;
181 const SHORT CCHMAX_FACE_NAME = 128;
183 typedef struct tagINETCSETINFO
185 CHAR szName[CCHMAX_CSET_NAME];
186 HCHARSET hCharset;
187 CODEPAGEID cpiWindows;
188 CODEPAGEID cpiInternet;
189 DWORD dwReserved1;
190 } INETCSETINFO, *LPINETCSETINFO;
192 typedef enum tagINETLANGMASK
194 ILM_FAMILY = 0x01,
195 ILM_NAME = 0x02,
196 ILM_BODYCSET = 0x04,
197 ILM_HEADERCSET = 0x08,
198 ILM_WEBCSET = 0x10,
199 ILM_FIXEDFONT = 0x20,
200 ILM_VARIABLEFONT = 0x40,
201 } INETLANGMASK;
203 typedef struct tagCODEPAGEINFO
205 DWORD dwMask;
206 CODEPAGEID cpiCodePage;
207 BOOL fIsValidCodePage;
208 ULONG ulMaxCharSize;
209 BOOL fInternetCP;
210 CODEPAGEID cpiFamily;
211 CHAR szName[CCHMAX_LANG_NAME];
212 CHAR szBodyCset[CCHMAX_CSET_NAME];
213 CHAR szHeaderCset[CCHMAX_CSET_NAME];
214 CHAR szWebCset[CCHMAX_CSET_NAME];
215 CHAR szFixedFont[CCHMAX_FACE_NAME];
216 CHAR szVariableFont[CCHMAX_FACE_NAME];
217 ENCODINGTYPE ietNewsDefault;
218 ENCODINGTYPE ietMailDefault;
219 DWORD dwReserved1;
220 } CODEPAGEINFO, *LPCODEPAGEINFO;
222 typedef struct tagRFC1522INFO
224 BOOL fRfc1522Allowed;
225 BOOL fRfc1522Used;
226 BOOL fAllow8bit;
227 HCHARSET hRfc1522Cset;
228 } RFC1522INFO, *LPRFC1522INFO;
230 typedef enum tagCHARSETTYPE
232 CHARSET_BODY,
233 CHARSET_HEADER,
234 CHARSET_WEB,
235 } CHARSETTYPE;
238 HRESULT SetDefaultCharset(
239 [in] HCHARSET hCharset);
240 HRESULT GetDefaultCharset(
241 [out] LPHCHARSET phCharset);
242 HRESULT GetCodePageCharset(
243 [in] CODEPAGEID cpiCodePage,
244 [in] CHARSETTYPE ctCsetType,
245 [out] LPHCHARSET phCharset);
246 HRESULT FindCharset(
247 [in] LPCSTR pszCharset,
248 [out] LPHCHARSET phCharset);
249 HRESULT GetCharsetInfo(
250 [in] HCHARSET hCharset,
251 [in, out] LPINETCSETINFO pCsetInfo);
252 HRESULT GetCodePageInfo(
253 [in] CODEPAGEID cpiCodePage,
254 [in, out] LPCODEPAGEINFO pCodePageInfo);
255 HRESULT CanConvertCodePages(
256 [in] CODEPAGEID cpiSource,
257 [in] CODEPAGEID cpiDest);
258 HRESULT DecodeHeader(
259 [in] HCHARSET hCharset,
260 [in] LPCSTR pszData,
261 [in, out] LPPROPVARIANT pDecoded,
262 [in, out] LPRFC1522INFO pRfc1522Info);
263 HRESULT EncodeHeader(
264 [in] HCHARSET hCharset,
265 [in] LPPROPVARIANT pData,
266 [out] LPSTR *ppszEncoded,
267 [in, out] LPRFC1522INFO pRfc1522Info);
268 HRESULT ConvertBuffer(
269 [in] CODEPAGEID cpiSource,
270 [in] CODEPAGEID cpiDest,
271 [in] LPBLOB pIn,
272 [in, out] LPBLOB pOut,
273 [out] ULONG *pcbRead);
274 HRESULT ConvertString(
275 [in] CODEPAGEID cpiSource,
276 [in] CODEPAGEID cpiDest,
277 [in] LPPROPVARIANT pIn,
278 [in, out] LPPROPVARIANT pOut);
279 HRESULT MLANG_ConvertInetReset(void);
280 HRESULT MLANG_ConvertInetString(
281 [in] CODEPAGEID cpiSource,
282 [in] CODEPAGEID cpiDest,
283 [in] LPCSTR pSource,
284 [in] int *pnSizeOfSource,
285 [in,out,unique] LPSTR pDestination,
286 [in] int *pnDstSize);
287 HRESULT Rfc1522Decode(
288 [in] LPCSTR pszValue,
289 [in,ref] LPSTR pszCharset,
290 [in] ULONG cchmax,
291 [out] LPSTR *ppszDecoded);
292 HRESULT Rfc1522Encode(
293 [in] LPCSTR pszValue,
294 [in] HCHARSET hCharset,
295 [out] LPSTR *ppszEncoded);
299 uuid(c5588353-7f86-11d0-8252-00c04fd85ab4),
300 object
302 interface IMimeSecurity : IUnknown
304 typedef [unique] IMimeSecurity *LPMIMESECURITY;
306 cpp_quote("#ifdef __WINE_WINCRYPT_H")
307 cpp_quote("typedef PCCERT_CONTEXT PCX509CERT;")
308 cpp_quote("#else")
309 typedef const void *PCX509CERT;
310 typedef void *HCERTSTORE;
311 cpp_quote("#endif")
313 typedef BLOB THUMBBLOB;
314 typedef void *HCAPICERTSTORE;
316 cpp_quote("#define MST_NONE 0x00000000")
317 cpp_quote("#define MST_THIS_SIGN 0x00000001")
318 cpp_quote("#define MST_THIS_ENCRYPT 0x00000002")
319 cpp_quote("#define MST_BLOB_FLAG 0x00000004")
320 cpp_quote("#define MST_THIS_BLOBSIGN (MST_BLOB_FLAG | MST_THIS_SIGN)")
321 cpp_quote("#define MST_CHILD_SIGN 0x00000100")
322 cpp_quote("#define MST_CHILD_ENCRYPT 0x00000200")
323 cpp_quote("#define MST_SUBMSG_SIGN 0x00001000")
324 cpp_quote("#define MST_SUBMSG_ENCRYPT 0x00002000")
325 cpp_quote("#define MST_RECEIPT_REQUEST 0x00010000")
326 cpp_quote("#define MST_CLASS_SMIME_V1 0x00000000")
327 cpp_quote("#define MST_CLASS_PGP 0x01000000")
329 typedef enum tagCERTSTATE
331 CERTIFICATE_OK,
332 CERTIFICATE_NOT_PRESENT,
333 CERTIFICATE_EXPIRED,
334 CERTIFICATE_CHAIN_TOO_LONG,
335 CERTIFICATE_MISSING_ISSUER,
336 CERTIFICATE_CRL_LISTED,
337 CERTIFICATE_NOT_TRUSTED,
338 CERTIFICATE_INVALID,
339 CERTIFICATE_ERROR,
340 CERTIFICATE_NOPRINT,
341 CERTIFICATE_UNKNOWN
342 } CERTSTATE;
344 typedef enum tagCERTNAMETYPE
346 SIMPLE,
347 OID,
348 X500,
349 } CERTNAMETYPE;
351 typedef enum tagCERTDATAID
353 CDID_EMAIL,
354 CDID_MAX
355 } CERTDATAID;
357 typedef struct tagX509CERTRESULT
359 DWORD cEntries;
360 CERTSTATE *rgcs;
361 PCX509CERT *rgpCert;
362 } X509CERTRESULT, *PX509CERTRESULT;
363 typedef const X509CERTRESULT *PCX509CERTRESULT;
365 HRESULT InitNew(void);
367 HRESULT CheckInit(void);
369 HRESULT EncodeMessage(
370 [in] IMimeMessageTree */*const*/ pTree,
371 [in] DWORD dwFlags);
373 HRESULT EncodeBody(
374 [in] IMimeMessageTree */*const*/ pTree,
375 [in] HBODY hEncodeRoot,
376 [in] DWORD dwFlags);
378 HRESULT DecodeMessage(
379 [in] IMimeMessageTree */*const*/ pTree,
380 [in] DWORD dwFlags);
382 HRESULT DecodeBody(
383 [in] IMimeMessageTree */*const*/ pTree,
384 [in] HBODY hDecodeRoot,
385 [in] DWORD dwFlags);
387 HRESULT EnumCertificates(
388 [in] HCAPICERTSTORE hc,
389 [in] DWORD dwUsage,
390 [in] PCX509CERT pPrev,
391 [out] PCX509CERT *ppCert);
393 HRESULT GetCertificateName(
394 [in] const PCX509CERT pX509Cert,
395 [in] const CERTNAMETYPE cn,
396 [out] LPSTR *ppszName);
398 HRESULT GetMessageType(
399 [in] const HWND hwndParent,
400 [in] IMimeBody */*const*/ pBody,
401 [out] DWORD */*const*/ pdwSecType);
403 HRESULT GetCertData(
404 [in] const PCX509CERT pX509Cert,
405 [in] const CERTDATAID dataid,
406 [out, ref] LPPROPVARIANT pValue);
410 uuid(fd853cd1-7f86-11d0-8252-00c04fd85ab4),
411 object
413 interface IMimeHeaderTable : IPersistStream
415 /* FIXME: fill this in */
419 uuid(fd853cec-7f86-11d0-8252-00c04fd85ab4),
420 object
422 interface IMimePropertySchema : IUnknown
424 typedef enum tagMIMEPROPFLAGS
426 MPF_INETCSET = 0x01,
427 MPF_RFC1522 = 0x02,
428 MPF_ADDRESS = 0x04,
429 MPF_HASPARAMS = 0x08,
430 MPF_MIME = 0x10,
431 MPF_READONLY = 0x20
432 } MIMEPROPFLAGS;
434 /* FIXME: fill this in */
438 uuid(fd853cd3-7f86-11d0-8252-00c04fd85ab4),
439 object
441 interface IMimePropertySet : IPersistStreamInit
443 typedef [unique] IMimePropertySet *LPMIMEPROPERTYSET;
445 cpp_quote("#define PDF_ENCODED 0x00000001")
446 cpp_quote("#define PDF_NAMEINDATA 0x00000002")
447 cpp_quote("#define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED)")
448 cpp_quote("#define PDF_NOCOMMENTS 0x00000008")
449 cpp_quote("#define PDF_SAVENOENCODE 0x00000010")
450 cpp_quote("#define PDF_VECTOR 0x00000020")
452 typedef struct tagMIMEPARAMINFO
454 LPSTR pszName;
455 LPSTR pszData;
456 } MIMEPARAMINFO, *LPMIMEPARAMINFO;
458 typedef enum tagPROPINFOMASK
460 PIM_CHARSET = 0x01,
461 PIM_ENCODINGTYPE = 0x02,
462 PIM_ROWNUMBER = 0x04,
463 PIM_FLAGS = 0x08,
464 PIM_PROPID = 0x10,
465 PIM_VALUES = 0x20,
466 PIM_VTDEFAULT = 0x40,
467 PIM_VTCURRENT = 0x80
468 } PROPINFOMASK;
470 typedef struct tagMIMEPROPINFO
472 DWORD dwMask;
473 HCHARSET hCharset;
474 ENCODINGTYPE ietEncoding;
475 DWORD dwRowNumber;
476 DWORD dwFlags;
477 DWORD dwPropId;
478 DWORD cValues;
479 VARTYPE vtDefault;
480 VARTYPE vtCurrent;
481 } MIMEPROPINFO, *LPMIMEPROPINFO;
482 typedef const MIMEPROPINFO *LPCMIMEPROPINFO;
484 HRESULT GetPropInfo(
485 [in] LPCSTR pszName,
486 [in,out] LPMIMEPROPINFO pInfo);
488 HRESULT SetPropInfo(
489 [in] LPCSTR pszName,
490 [in] LPCMIMEPROPINFO pInfo);
492 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
493 cpp_quote("#undef GetProp")
494 cpp_quote("#undef SetProp")
495 cpp_quote("#undef EnumProps")
496 cpp_quote("#endif")
497 HRESULT GetProp(
498 [in] LPCSTR pszName,
499 [in] DWORD dwFlags,
500 [in,out] LPPROPVARIANT pValue);
502 HRESULT SetProp(
503 [in] LPCSTR pszName,
504 [in] DWORD dwFlags,
505 [in] LPCPROPVARIANT pValue);
507 HRESULT AppendProp(
508 [in] LPCSTR pszName,
509 [in] DWORD dwFlags,
510 [in] LPPROPVARIANT pValue);
512 HRESULT DeleteProp(
513 [in] LPCSTR pszName);
515 HRESULT CopyProps(
516 [in] ULONG cNames,
517 [in,unique] LPCSTR *prgszName,
518 [in] IMimePropertySet *pPropertySet);
520 HRESULT MoveProps(
521 [in] ULONG cNames,
522 [in] LPCSTR *prgszName,
523 [in] IMimePropertySet *pPropertySet);
525 HRESULT DeleteExcept(
526 [in] ULONG cNames,
527 [in] LPCSTR *prgszName);
529 HRESULT QueryProp(
530 [in] LPCSTR pszName,
531 [in] LPCSTR pszCriteria,
532 [in] boolean fSubString,
533 [in] boolean fCaseSensitive);
535 HRESULT GetCharset(
536 [out] LPHCHARSET phCharset);
538 HRESULT SetCharset(
539 [in] HCHARSET hCharset,
540 [in] CSETAPPLYTYPE applytype);
542 HRESULT GetParameters(
543 [in] LPCSTR pszName,
544 [out] ULONG *pcParams,
545 [out] LPMIMEPARAMINFO *pprgParam);
547 HRESULT IsContentType(
548 [in] LPCSTR pszPriType,
549 [in,unique] LPCSTR pszSubType);
551 HRESULT BindToObject(
552 [in] REFIID riid,
553 [out,iid_is(riid)] void **ppvObject);
555 HRESULT Clone(
556 [out] IMimePropertySet **ppPropertySet);
558 HRESULT SetOption(
559 [in] const TYPEDID oid,
560 [in] LPCPROPVARIANT pValue);
562 HRESULT GetOption(
563 [in] const TYPEDID oid,
564 [in,out] LPPROPVARIANT pValue);
566 cpp_quote("#define EPF_NONAME 0x00000001")
568 HRESULT EnumProps(
569 [in] DWORD dwFlags,
570 [out] IMimeEnumProperties **ppEnum);
575 uuid(c558834a-7f86-11d0-8252-00c04fd85ab4),
576 object
578 interface IMimeAddressTable : IUnknown
580 typedef [unique] IMimeAddressTable *LPMIMEADDRESSTABLE;
582 DECLARE_HANDLE(HADDRESS);
583 typedef HADDRESS *LPHADDRESS;
584 typedef DWORD IADDRESSTYPE;
586 typedef enum tagADDRESSFORMAT
588 AFT_DISPLAY_FRIENDLY,
589 AFT_DISPLAY_EMAIL,
590 AFT_DISPLAY_BOTH,
591 AFT_RFC822_DECODED,
592 AFT_RFC822_ENCODED,
593 AFT_RFC822_TRANSMIT,
594 } ADDRESSFORMAT;
596 typedef struct tagADDRESSPROPS
598 DWORD dwProps;
599 HADDRESS hAddress;
600 ENCODINGTYPE ietFriendly;
601 HCHARSET hCharset;
602 DWORD dwAdrType;
603 LPSTR pszFriendly;
604 LPWSTR pwszReserved;
605 LPSTR pszEmail;
606 CERTSTATE certstate;
607 THUMBBLOB tbSigning;
608 THUMBBLOB tbEncryption;
609 DWORD dwCookie;
610 DWORD dwReserved1;
611 DWORD dwReserved2;
612 } ADRESSPROPS, *LPADDRESSPROPS;
614 typedef struct tagADDRESSLIST
616 ULONG cAdrs;
617 LPADDRESSPROPS prgAdr;
618 } ADDRESSLIST, *LPADDRESSLIST;
620 /* FIXME: fill this in */
624 uuid(ee519f11-851a-11d0-8252-00c04fd85ab4),
625 object
627 interface IMimeWebDocument : IUnknown
629 /* FIXME: fill this in */
633 uuid(c558834c-7f86-11d0-8252-00c04fd85ab4),
634 object
636 interface IMimeBody : IMimePropertySet
638 typedef [unique] IMimeBody *LPMIMEBODY;
640 typedef enum tagIMSGBODYTYPE
642 IBT_SECURE,
643 IBT_ATTACHMENT,
644 IBT_EMPTY,
645 IBT_CSETTAGGED,
646 IBT_AUTOATTACH,
647 } IMSGBODYTYPE;
649 typedef struct tagBODYOFFSETS
651 DWORD cbBoundaryStart;
652 DWORD cbHeaderStart;
653 DWORD cbBodyStart;
654 DWORD cbBodyEnd;
655 } BODYOFFSETS, *LPBODYOFFSETS;
657 typedef struct tagTRANSMITINFO
659 ENCODINGTYPE ietCurrent;
660 ENCODINGTYPE ietXmitMime;
661 ENCODINGTYPE ietXmit822;
662 ULONG cbLongestLine;
663 ULONG cExtended;
664 ULONG ulPercentExt;
665 ULONG cbSize;
666 ULONG cLines;
667 } TRANSMITINFO, *LPTRANSMITINFO;
669 HRESULT IsType(
670 [in] IMSGBODYTYPE bodytype);
672 HRESULT SetDisplayName(
673 [in] LPCSTR pszDisplay);
675 HRESULT GetDisplayName(
676 [out] LPSTR *ppszDisplay);
678 HRESULT GetOffsets(
679 [out] LPBODYOFFSETS pOffsets);
681 HRESULT GetCurrentEncoding(
682 [out] ENCODINGTYPE *pietEncoding);
684 HRESULT SetCurrentEncoding(
685 [in] ENCODINGTYPE ietEncoding);
687 HRESULT GetEstimatedSize(
688 [in] ENCODINGTYPE ietEncoding,
689 [out] ULONG *pcbSize);
691 HRESULT GetDataHere(
692 [in] ENCODINGTYPE ietEncoding,
693 [in] IStream *pStream);
695 HRESULT GetData(
696 [in] ENCODINGTYPE ietEncoding,
697 [out] IStream **ppStream);
699 HRESULT SetData(
700 [in] ENCODINGTYPE ietEncoding,
701 [in,unique] LPCSTR pszPriType,
702 [in,unique] LPCSTR pszSubType,
703 [in] REFIID riid,
704 [in,iid_is(riid)] LPVOID pvObject);
706 HRESULT EmptyData(void);
708 HRESULT CopyTo(
709 [in] IMimeBody *pBody);
711 HRESULT GetTransmitInfo(
712 [in,out] LPTRANSMITINFO pTransmitInfo);
714 HRESULT SaveToFile(
715 [in] ENCODINGTYPE ietEncoding,
716 [in] LPCSTR pszFilePath);
718 HRESULT GetHandle(
719 [out] LPHBODY phBody);
724 uuid(fd853cd4-7f86-11d0-8252-00c04fd85ab4),
725 object
727 interface IMimeMessageTree : IPersistStreamInit
729 typedef [unique] IMimeMessageTree *LPMIMEMESSAGETREE;
731 const HBODY HBODY_ROOT = (HBODY)-1;
733 typedef enum tagBODYLOCATION
735 IBL_ROOT,
736 IBL_PARENT,
737 IBL_FIRST,
738 IBL_LAST,
739 IBL_NEXT,
740 IBL_PREVIOUS,
741 } BODYLOCATION;
743 typedef struct tagFINDBODY
745 LPSTR pszPriType;
746 LPSTR pszSubType;
747 DWORD dwReserved;
748 } FINDBODY, *LPFINDBODY;
750 HRESULT GetMessageSource(
751 [out] IStream **ppStream,
752 [in] DWORD dwFlags);
754 HRESULT GetMessageSize(
755 [out] ULONG *pcbSize,
756 [in] DWORD dwFlags);
758 HRESULT LoadOffsetTable(
759 [in] IStream *pStream);
761 HRESULT SaveOffsetTable(
762 [in] IStream *pStream,
763 [in] DWORD dwFlags);
765 HRESULT GetFlags(
766 [out] DWORD *pdwFlags);
768 HRESULT Commit(
769 [in] DWORD dwFlags);
771 HRESULT HandsOffStorage();
773 HRESULT BindToObject(
774 [in] const HBODY hBody,
775 [in] REFIID riid,
776 [out, iid_is(riid)] void **ppvObject);
778 HRESULT SaveBody(
779 [in] HBODY hBody,
780 [in] DWORD dwFlags,
781 [in] IStream *pStream);
783 HRESULT InsertBody(
784 [in] BODYLOCATION location,
785 [in] HBODY hPivot,
786 [out] LPHBODY phBody);
788 HRESULT GetBody(
789 [in] BODYLOCATION location,
790 [in] HBODY hPivot,
791 [out] LPHBODY phBody);
793 HRESULT DeleteBody(
794 [in] HBODY hBody,
795 [in] DWORD dwFlags);
797 HRESULT MoveBody(
798 [in] HBODY hBody,
799 [in] BODYLOCATION location);
801 HRESULT CountBodies(
802 [in] HBODY hParent,
803 [in] boolean fRecurse,
804 [out] ULONG *pcBodies);
806 HRESULT FindFirst(
807 [in, out] LPFINDBODY pFindBody,
808 [out] LPHBODY phBody);
810 HRESULT FindNext(
811 [in, out] LPFINDBODY pFindBody,
812 [out] LPHBODY phBody);
814 HRESULT ResolveURL(
815 [in] HBODY hRelated,
816 [in] LPCSTR pszBase,
817 [in] LPCSTR pszURL,
818 [in] DWORD dwFlags,
819 [out] LPHBODY phBody);
821 HRESULT ToMultipart(
822 [in] HBODY hBody,
823 [in] LPCSTR pszSubType,
824 [out] LPHBODY phMultipart);
826 HRESULT GetBodyOffsets(
827 [in] HBODY hBody,
828 [in, out] LPBODYOFFSETS pOffsets);
830 HRESULT GetCharset(
831 [out] LPHCHARSET phCharset);
833 HRESULT SetCharset(
834 [in] HCHARSET hCharset,
835 [in] CSETAPPLYTYPE applytype);
837 HRESULT IsBodyType(
838 [in] HBODY hBody,
839 [in] IMSGBODYTYPE bodytype);
841 HRESULT IsContentType(
842 [in] HBODY hBody,
843 [in] LPCSTR pszPriType,
844 [in] LPCSTR pszSubType);
846 HRESULT QueryBodyProp(
847 [in] HBODY hBody,
848 [in] LPCSTR pszName,
849 [in] LPCSTR pszCriteria,
850 [in] boolean fSubString,
851 [in] boolean fCaseSensitive);
853 HRESULT GetBodyProp(
854 [in] HBODY hBody,
855 [in] LPCSTR pszName,
856 [in] DWORD dwFlags,
857 [in, out] LPPROPVARIANT pValue);
859 HRESULT SetBodyProp(
860 [in] HBODY hBody,
861 [in] LPCSTR pszName,
862 [in] DWORD dwFlags,
863 [in] LPCPROPVARIANT pValue);
865 HRESULT DeleteBodyProp(
866 [in] HBODY hBody,
867 [in] LPCSTR pszName);
869 HRESULT SetOption(
870 [in] const TYPEDID oid,
871 [in] LPCPROPVARIANT pValue);
873 HRESULT GetOption(
874 [in] const TYPEDID oid,
875 [in, out] LPPROPVARIANT pValue);
879 uuid(fd853cd5-7f86-11d0-8252-00c04fd85ab4),
880 object
882 interface IMimeMessage : IMimeMessageTree
884 typedef [unique] IMimeMessage *LPMIMEMESSAGE;
886 typedef DWORD TEXTTYPE;
888 typedef enum tagIMSGFLAGS
890 IMF_ATTACHMENTS = 0x00000001,
891 IMF_MULTIPART = 0x00000002,
892 IMF_SUBMULTIPART = 0x00000004,
893 IMF_MIME = 0x00000008,
894 IMF_HTML = 0x00000010,
895 IMF_PLAIN = 0x00000020,
896 IMF_PARTIAL = 0x00000040,
897 IMF_SIGNED = 0x00000080,
898 IMF_ENCRYPTED = 0x00000100,
899 IMF_TNEF = 0x00000200,
900 IMF_MHTML = 0x00000400,
901 IMF_SECURE = 0x00000800,
902 IMF_TEXT = 0x00001000,
903 IMF_CSETTAGGED = 0x00002000,
904 IMF_NEWS = 0x00004000,
905 IMF_VOICEMAIL = 0x00008000,
906 IMF_HASVCARD = 0x00010000,
907 IMF_RFC1154 = 0x00020000,
908 } IMSGFLAGS;
910 typedef enum tagIMSGPRIORITY
912 IMSG_PRI_LOW = 5,
913 IMSG_PRI_NORMAL = 3,
914 IMSG_PRI_HIGH = 1,
915 } IMSGPRIORITY;
917 cpp_quote("#define WPF_HTML 0x00000001")
918 cpp_quote("#define WPF_AUTOINLINE 0x00000002")
919 cpp_quote("#define WPF_SLIDESHOW 0x00000004")
920 cpp_quote("#define WPF_ATTACHLINKS 0x00000008")
921 cpp_quote("#define WPF_IMAGESONLY 0x00000010")
922 cpp_quote("#define WPF_NOMETACHARSET 0x00000020")
924 typedef struct tagWEPAGEOPTIONS
926 DWORD cbSize;
927 DWORD dwFlags;
928 DWORD dwDelay;
929 WCHAR wchQuote;
930 } WEBPAGEOPTIONS, *LPWEBPAGEOPTIONS;
932 cpp_quote("#define TXT_PLAIN 1")
933 cpp_quote("#define TXT_HTML 2")
935 HRESULT CreateWebPage(
936 [in] IStream *pRootStm,
937 [in] LPWEBPAGEOPTIONS pOptions,
938 [in] IMimeMessageCallback *pCallback,
939 [out] IMoniker **ppMoniker);
941 HRESULT GetProp(
942 [in] LPCSTR pszName,
943 [in] DWORD dwFlags,
944 [in,out] LPPROPVARIANT pValue);
946 HRESULT SetProp(
947 [in] LPCSTR pszName,
948 [in] DWORD dwFlags,
949 [in] LPCPROPVARIANT pValue);
951 HRESULT DeleteProp(
952 [in] LPCSTR pszName);
954 HRESULT QueryProp(
955 [in] LPCSTR pszName,
956 [in] LPCSTR pszCriteria,
957 [in] boolean fSubString,
958 [in] boolean fCaseSensitive);
960 HRESULT GetTextBody(
961 [in] DWORD dwTxtType,
962 [in] ENCODINGTYPE ietEncoding,
963 [out] IStream **pStream,
964 [out] LPHBODY phBody);
966 HRESULT SetTextBody(
967 [in] DWORD dwTxtType,
968 [in] ENCODINGTYPE ietEncoding,
969 [in] HBODY hAlternative,
970 [in] IStream *pStream,
971 [out] LPHBODY phBody);
973 HRESULT AttachObject(
974 [in] REFIID riid,
975 [in, iid_is(riid)] void *pvObject,
976 [out] LPHBODY phBody);
978 HRESULT AttachFile(
979 [in] LPCSTR pszFilePath,
980 [in] IStream *pstmFile,
981 [out] LPHBODY phBody);
983 HRESULT AttachURL(
984 [in] LPCSTR pszBase,
985 [in] LPCSTR pszURL,
986 [in] DWORD dwFlags,
987 [in] IStream *pstmURL,
988 [out] LPSTR *ppszCIDURL,
989 [out] LPHBODY phBody);
991 HRESULT GetAttachments(
992 [out] ULONG *pcAttach,
993 [out] LPHBODY *pprghAttach);
995 HRESULT GetAddressTable(
996 [out] IMimeAddressTable **ppTable);
998 HRESULT GetSender(
999 [in, out] LPADDRESSPROPS pAddress);
1001 HRESULT GetAddressTypes(
1002 [in] DWORD dwAdrTypes,
1003 [in] DWORD dwProps,
1004 [in, out] LPADDRESSLIST pList);
1006 HRESULT GetAddressFormat(
1007 [in] DWORD dwAdrTypes,
1008 [in] ADDRESSFORMAT format,
1009 [out] LPSTR *ppszFormat);
1011 HRESULT EnumAddressTypes(
1012 [in] DWORD dwAdrTypes,
1013 [in] DWORD dwProps,
1014 [out] IMimeEnumAddressTypes **ppEnum);
1016 HRESULT SplitMessage(
1017 [in] ULONG cbMaxPart,
1018 [out] IMimeMessageParts **ppParts);
1020 HRESULT GetRootMoniker(
1021 [out] IMoniker **ppMoniker);
1025 uuid(761aa741-7bda-11d1-8aa9-00c04fb951f3),
1026 object
1028 interface IMimeMessageCallback : IUnknown
1030 HRESULT OnWebPageSplitter(
1031 [in] DWORD cInlined,
1032 [in] IStream *ppStream);
1036 uuid(de4ad8da-555f-11d1-8dd0-00c04fb951f9),
1037 object
1039 interface IPersistMime : IPersist
1041 /* FIXME: fill this in */
1045 uuid(c558834f-7f86-11d0-8252-00c04fd85ab4),
1046 object
1048 interface IMimeMessageParts : IUnknown
1050 /* FIXME: fill this in */
1054 uuid(c558834d-7f86-11d0-8252-00c04fd85ab4),
1055 object
1057 interface IMimeEnumHeaderRows : IUnknown
1059 typedef struct tagENUMHEADERROW
1061 HHEADERROW hRow;
1062 LPSTR pszHeader;
1063 LPSTR pszData;
1064 ULONG cchData;
1065 DWORD_PTR dwReserved;
1066 } ENUMHEADERROW, *LPENUMHEADERROW;
1068 /* FIXME: fill this in */
1072 uuid(fd853cee-7f86-11d0-8252-00c04fd85ab4),
1073 object
1075 interface IMimeEnumProperties : IUnknown
1077 typedef struct tagENUMPROPERTY
1079 LPSTR pszName;
1080 HHEADERROW hRow;
1081 DWORD dwPropId;
1082 } ENUMPROPERTY, *LPENUMPROPERTY;
1084 /* FIXME: fill this in */
1088 uuid(c5588354-7f86-11d0-8252-00c04fd85ab4),
1089 object
1091 interface IMimeEnumAddressTypes : IUnknown
1093 /* FIXME: fill this in */
1097 uuid(c5588350-7f86-11d0-8252-00c04fd85ab4),
1098 object
1100 interface IMimeEnumMessageParts : IUnknown
1102 /* FIXME: fill this in */
1106 uuid(64577981-86d7-11d1-bdfc-00c04fa31009),
1107 object
1109 interface IHashTable : IUnknown
1111 /* FIXME: fill this in */
1115 uuid(c5588351-7f86-11d0-8252-00c04fd85ab4),
1116 object
1118 interface IMimeAllocator : IMalloc
1120 typedef [unique] IMimeAllocator *LPMIMEALLOCATOR;
1122 HRESULT FreeParamInfoArray(
1123 [in] ULONG cParams,
1124 [in] LPMIMEPARAMINFO prgParam,
1125 [in] boolean fFreeArray);
1127 HRESULT FreeAddressList(
1128 [in,out] LPADDRESSLIST pList);
1130 HRESULT FreeAddressProps(
1131 [in,out] LPADDRESSPROPS pAddress);
1133 HRESULT ReleaseObjects(
1134 [in] ULONG cObjects,
1135 [in] IUnknown **prgpUnknown,
1136 [in] boolean fFreeArray);
1138 HRESULT FreeEnumHeaderRowArray(
1139 [in] ULONG cRows,
1140 [in] LPENUMHEADERROW prgRow,
1141 [in] boolean fFreeArray);
1143 HRESULT FreeEnumPropertyArray(
1144 [in] ULONG cProps,
1145 [in] LPENUMPROPERTY prgProp,
1146 [in] boolean fFreeArray);
1148 HRESULT FreeThumbprint(
1149 [in] THUMBBLOB *pthumbprint);
1151 HRESULT PropVariantClear(
1152 [in] LPPROPVARIANT pProp);
1157 uuid(feceaffd-c441-11d1-960e-00c04fbd7c09),
1158 object
1160 interface IMimeObjResolver : IUnknown
1162 /* FIXME: fill this in */
1166 uuid(b0d17fc2-7bc4-11d1-bdfa-00c04fa31009),
1167 object
1169 interface IFontCache : IUnknown
1171 /* FIXME: fill this in */
1175 uuid(b0d17fc5-7bc4-11d1-bdfa-00c04fa31009),
1176 object
1178 interface IFontCacheNotify : IUnknown
1180 /* FIXME: fill this in */
1184 uuid(70183210-7b36-11d2-8c12-00c04fa31009),
1185 object
1187 interface IMimeEditTag : IUnknown
1189 /* FIXME: fill this in */
1193 uuid(d09ee528-7b38-11d2-8c12-00c04fa31009),
1194 object
1196 interface IMimeEditTagCollection : IUnknown
1198 /* FIXME: fill this in */
1202 uuid(ba715ae0-a740-11d2-8b22-0080c76b34c6),
1203 local
1205 interface IMimeSecurityCallback : IUnknown
1207 /* FIXME: fill this in */
1209 cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_UNKNOWN 0")
1210 cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_KEYTRANS 1")
1211 cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_KEYAGREE 2")
1212 cpp_quote("#define CMS_RECIPIENT_INFO_TYPE_MAIL_LIST 3")
1214 cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_CERTIFICATE 0")
1215 cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_KEYTRANS 1")
1216 cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_PROVIDER 2")
1217 cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_EPHEMERAL_KEYAGREE 3")
1218 cpp_quote("#define CMS_RECIPIENT_INFO_PUBKEY_STATIC_KEYAGREE 4")
1220 cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_CERTIFICATE 0")
1221 cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_ISSUERSERIAL 1")
1222 cpp_quote("#define CMS_RECIPIENT_INFO_KEYID_KEY_ID 2")
1227 cpp_quote("#ifdef __cplusplus")
1228 cpp_quote(" extern \"C\" {")
1229 cpp_quote("#endif")
1231 cpp_quote("")
1232 cpp_quote("HRESULT WINAPI MimeOleSetCompatMode(DWORD);")
1233 cpp_quote("HRESULT WINAPI MimeOleContentTypeFromUrl(LPCSTR,LPCSTR,LPSTR*);")
1234 cpp_quote("HRESULT WINAPI MimeOleParseMhtmlUrl(LPSTR,LPSTR*,LPSTR*);")
1235 cpp_quote("HRESULT WINAPI MimeOleObjectFromUrl(LPCSTR,BOOL,REFIID,LPVOID*,IUnknown**);")
1236 cpp_quote("HRESULT WINAPI MimeOleObjectFromMoniker(BINDF,IMoniker*,IBindCtx*,REFIID,LPVOID*,IMoniker**);")
1237 cpp_quote("HRESULT WINAPI MimeOleCombineURL(LPCSTR,ULONG,LPCSTR,ULONG,BOOL,LPSTR*);")
1238 cpp_quote("HRESULT WINAPI MimeOleGetSubjectFileName(IMimePropertySet*,ULONG*,ULONG*,LPSTR,ULONG);")
1239 cpp_quote("HRESULT WINAPI MimeOleCreateWebDocument(LPCSTR,LPCSTR,IMimeWebDocument**);")
1240 cpp_quote("HRESULT WINAPI MimeOleGetRelatedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1241 cpp_quote("HRESULT WINAPI MimeOleGetMixedSection(IMimeMessageTree*,boolean,LPHBODY,boolean*);")
1242 cpp_quote("HRESULT WINAPI MimeOleGetAlternativeSection(IMimeMessageTree*,LPHBODY,boolean*);")
1243 cpp_quote("HRESULT WINAPI MimeOleGenerateCID(LPSTR,ULONG,boolean);")
1244 cpp_quote("HRESULT WINAPI MimeOleGenerateMID(LPSTR,ULONG,boolean);")
1245 cpp_quote("HRESULT WINAPI MimeOleCreateByteStream(IStream**);")
1246 cpp_quote("HRESULT WINAPI MimeOlGetPropertySchema(IMimePropertySchema**);")
1247 cpp_quote("HRESULT WINAPI MimeOleQueryString(LPCSTR,LPCSTR,boolean,boolean);")
1248 cpp_quote("HRESULT WINAPI MimeOleGetPropA(IMimePropertySet*,LPCSTR,DWORD,LPSTR*);")
1249 cpp_quote("HRESULT WINAPI MimeOleSetPropA(IMimePropertySet*,LPCSTR,DWORD,LPCSTR);")
1250 cpp_quote("HRESULT WINAPI MimeOleGetPropW(IMimePropertySet*,LPCSTR,DWORD,LPWSTR*);")
1251 cpp_quote("HRESULT WINAPI MimeOleSetPropW(IMimePropertySet*,LPCSTR,DWORD,LPCWSTR);")
1252 cpp_quote("HRESULT WINAPI MimeOleGetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPSTR*);")
1253 cpp_quote("HRESULT WINAPI MimeOleSetBodyPropA(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCSTR);")
1254 cpp_quote("HRESULT WINAPI MimeOleGetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPWSTR*);")
1255 cpp_quote("HRESULT WINAPI MimeOleSetBodyPropW(IMimeMessageTree*,HBODY,LPCSTR,DWORD,LPCWSTR);")
1256 cpp_quote("HRESULT WINAPI MimeOleCreateHeaderTable(IMimeHeaderTable**);")
1257 cpp_quote("HRESULT WINAPI MimeOleVariantFree(LPPROPVARIANT);")
1258 cpp_quote("HRESULT WINAPI MimeOleVariantCopy(LPPROPVARIANT,LPPROPVARIANT);")
1259 cpp_quote("HRESULT WINAPI MimeOleGetExtClassId(LPCSTR,LPCLSID);")
1260 cpp_quote("HRESULT WINAPI MimeOleEncodeHeader(HCHARSET,LPPROPVARIANT,LPSTR*,LPRFC1522INFO);")
1261 cpp_quote("HRESULT WINAPI MimeOleDecodeHeader(HCHARSET,LPCSTR,LPPROPVARIANT,LPRFC1522INFO);")
1262 cpp_quote("HRESULT WINAPI MimeOleRfc1522Decode(LPCSTR,LPSTR,ULONG,LPSTR*);")
1263 cpp_quote("HRESULT WINAPI MimeOleRfc1522Encode(LPCSTR,HCHARSET,LPSTR*);")
1264 cpp_quote("HRESULT WINAPI MimeOleGetInternat(IMimeInternational**);")
1265 cpp_quote("HRESULT WINAPI MimeOleFindCharset(LPCSTR,LPHCHARSET);")
1266 cpp_quote("HRESULT WINAPI MimeOleGetCharsetInfo(HCHARSET,LPINETCSETINFO);")
1267 cpp_quote("HRESULT WINAPI MimeOleGetCodePageInfo(HCHARSET,LPCODEPAGEINFO);")
1268 cpp_quote("HRESULT WINAPI MimeOleGetDefaultCharset(LPHCHARSET);")
1269 cpp_quote("HRESULT WINAPI MimeOleSetDefaultCharset(HCHARSET);")
1270 cpp_quote("HRESULT WINAPI MimeOleGetCodePageCharset(CODEPAGEID,CHARSETTYPE,LPHCHARSET);")
1271 cpp_quote("HRESULT WINAPI MimeOleCreateVirtualStream(IStream**);")
1272 cpp_quote("HRESULT WINAPI MimeOleOpenFileStream(LPCSTR,DWORD,DWORD,IStream**);")
1273 cpp_quote("HRESULT WINAPI MimeOleIsTnefStream(IStream*);")
1274 cpp_quote("HRESULT WINAPI MimeOleGenerateFileName(LPCSTR,LPCSTR,LPCSTR,LPSTR*);")
1275 cpp_quote("HRESULT WINAPI MimeOleGetFileExtension(LPCSTR,LPSTR,ULONG);")
1276 cpp_quote("HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity**);")
1277 cpp_quote("HRESULT WINAPI MimeOleInetDateToFileTime(LPCSTR,LPFILETIME);")
1278 cpp_quote("HRESULT WINAPI MimeOleFileTimeToInetDate(LPFILETIME,LPSTR,ULONG);")
1279 cpp_quote("HRESULT WINAPI MimeOleCreateMessageParts(IMimeMessageParts**);")
1280 cpp_quote("HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator**);")
1281 cpp_quote("HRESULT WINAPI MimeOleParseRfc822Address(DWORD,ENCODINGTYPE,LPCSTR,LPADDRESSLIST);")
1282 cpp_quote("HRESULT WINAPI MimeOleCreateMessage(IUnknown*,IMimeMessage**);")
1283 cpp_quote("HRESULT WINAPI MimeOleMergePartialHeaders(IStream*,IStream*);")
1284 cpp_quote("HRESULT WINAPI MimeOleEscapeString(CODEPAGEID,LPCSTR,LPSTR*);")
1285 cpp_quote("HRESULT WINAPI MimeOleGetExtContentType(LPCSTR,LPSTR*);")
1286 cpp_quote("HRESULT WINAPI MimeOleGetContentTypeExt(LPCSTR,LPSTR*);")
1287 cpp_quote("HRESULT WINAPI MimeOleGetFileInfo(LPSTR,LPSTR*,LPSTR*,LPSTR*,LPSTR*,LPSTR*);")
1288 cpp_quote("HRESULT WINAPI MimeOleCreateBody(IMimeBody**);")
1289 cpp_quote("HRESULT WINAPI MimeOleCreatePropertySet(IUnknown*,IMimePropertySet**);")
1290 cpp_quote("HRESULT WINAPI MimeOleCreateMessageTree(IUnknown*,IMimeMessageTree**);")
1291 cpp_quote("HRESULT WINAPI MimeOleGetCertsFromThumbprints(THUMBBLOB*,X509CERTRESULT*,const HCERTSTORE*,DWORD);")
1292 cpp_quote("HRESULT WINAPI MimeOleSplitMessage(IMimeMessage*,ULONG,IMimeMessageParts**);")
1293 cpp_quote("HRESULT WINAPI MimeOleClearDirtyTree(IMimeMessageTree*);")
1294 cpp_quote("HRESULT WINAPI MimeOleConvertEnrichedToHTML(CODEPAGEID,IStream*,IStream*);")
1295 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsToDlg(LPBYTE,DWORD,DWORD,PCX509CERT*,HWND,DWORD,DWORD,DWORD);")
1296 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFromDlg(HWND,DWORD,DWORD,DWORD,LPBYTE,DWORD*);")
1297 cpp_quote("HRESULT WINAPI MimeOleSMimeCapInit(LPBYTE,DWORD,LPVOID*);")
1298 cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddSMimeCap(LPBYTE,DWORD,LPVOID);")
1299 cpp_quote("HRESULT WINAPI MimeOleSMimeCapAddCert(LPBYTE,DWORD,BOOL,LPVOID);")
1300 cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetEncAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1301 cpp_quote("HRESULT WINAPI MimeOleSMimeCapGetHashAlg(LPVOID,LPBYTE,DWORD*,DWORD*);")
1302 cpp_quote("HRESULT WINAPI MimeOleSMimeCapRelease(LPVOID);")
1303 cpp_quote("HRESULT WINAPI MimeOleAlgNameFromSMimeap(LPBYTE,DWORD,LPCSTR*);")
1304 cpp_quote("HRESULT WINAPI MimeOleAlgStrengthFromSMimeCap(LPBYTE,DWORD,BOOL,DWORD*);")
1305 cpp_quote("HRESULT WINAPI MimeOleSMimeCapsFull(LPVOID,BOOL,BOOL,LPBYTE,DWORD*);")
1306 cpp_quote("HRESULT WINAPI MimeOleCreateHashTable(DWORD,BOOL,IHashTable**);")
1307 cpp_quote("HRESULT WINAPI MimeOleStripHeaders(IMimeMessage*,HBODY,LPCSTR,LPCSTR,IStream**);")
1309 cpp_quote("HRESULT WINAPI MimeEditViewSource(HWND,IMimeMessage*);")
1310 cpp_quote("HRESULT WINAPI MimeEditIsSafeToRun(HWND,LPCSTR);")
1311 cpp_quote("HRESULT WINAPI MimeEditVerifyTrust(HWND,LPCSTR,LPCSTR);")
1312 cpp_quote("HRESULT WINAPI MimeEditCreateMimeDocument(IUnknown*,IMimeMessage*,DWORD,IMimeMessage**);")
1313 cpp_quote("HRESULT WINAPI MimeEditGetBackgroundImageUrl(IUnknown*,BSTR*);")
1314 cpp_quote("HRESULT WINAPI MimeEditDocumentFromStream(IStream*,REFIID,void**);")
1316 cpp_quote("#ifdef __cplusplus")
1317 cpp_quote("}")
1318 cpp_quote("#endif")