2 * Copyright (C) 2019 Alistair Leslie-Hughes
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
21 import
"msado15_backcompat.idl";
23 #if
!defined
(progid
) && !defined
(__WIDL__
)
24 #define threading
(model
)
26 #define vi_progid
(str
)
30 uuid(cd000000
-8b95
-11d1
-82db
-00c04fb1625d
),
35 importlib
("stdole2.tlb");
46 cdoDSNSuccessFailOrDelay
= 14
52 cdoRefTypeLocation
= 1
58 cdoSuppressImages
= 1,
59 cdoSuppressBGSounds
= 2,
60 cdoSuppressFrames
= 4,
61 cdoSuppressObjects
= 8,
62 cdoSuppressStyleSheets
= 16,
68 cdoDefaults
= 0xffffffff,
75 uuid(cd000029
-8b95
-11d1
-82db
-00c04fb1625d
),
80 interface IDataSource
: IDispatch
82 [id(0x000000cf), propget]
83 HRESULT SourceClass
([out, retval] BSTR *source);
86 HRESULT Source([out, retval] IUnknown
**source);
88 [id(0x000000d1), propget]
89 HRESULT IsDirty
([out, retval] VARIANT_BOOL *dirty
);
90 [id(0x000000d1), propput]
91 HRESULT IsDirty
([in] VARIANT_BOOL dirty
);
93 [id(0x000000d2), propget]
94 HRESULT SourceURL
([out, retval] BSTR *url
);
96 [id(0x000000d3), propget]
97 HRESULT ActiveConnection
([out, retval] _Connection
**connection
);
100 HRESULT SaveToObject
([in] IUnknown
*source, [in] BSTR iname
);
103 HRESULT OpenObject
([in] IUnknown
*source, [in] BSTR iname
);
106 HRESULT SaveTo
([in] BSTR url
, [in, optional, defaultvalue(NULL
)] IDispatch
*connection
,
107 [in, optional] ConnectModeEnum mode
, [in, optional] RecordCreateOptionsEnum create
,
108 [in, optional] RecordOpenOptionsEnum options
, [in, optional] BSTR username
,
109 [in, optional] BSTR password
);
112 HRESULT Open
([in] BSTR url
, [in, optional, defaultvalue(NULL
)] IDispatch
*connection
,
113 [in, optional] ConnectModeEnum mode
, [in, optional, defaultvalue(-1)] RecordCreateOptionsEnum create
,
114 [in, optional] RecordOpenOptionsEnum options
, [in, optional] BSTR username
,
115 [in, optional] BSTR password
);
121 HRESULT SaveToContainer
([in] BSTR url
, [in, optional, defaultvalue(NULL
)] IDispatch
*connection
,
122 [in, optional] ConnectModeEnum mode
, [in, optional] RecordCreateOptionsEnum create
,
123 [in, optional] RecordOpenOptionsEnum options
, [in, optional] BSTR username
,
124 [in, optional] BSTR password
);
129 uuid(cd000023
-8b95
-11d1
-82db
-00c04fb1625d
),
134 interface IBodyParts
: IDispatch
136 [id(0x00000001), propget]
137 HRESULT Count
([out, retval] long *count
);
139 [id(00000000), propget]
140 HRESULT Item
([in] long index
, [out, retval] IBodyPart
**body
);
142 [id(DISPID_NEWENUM
), propget, restricted]
143 HRESULT _NewEnum
([out, retval] IUnknown
**retval);
146 HRESULT Delete
([in] VARIANT bodypart
);
152 HRESULT Add
([in, optional, defaultvalue(-1)] long index
, [out, retval] IBodyPart
**bodypart
);
157 uuid(cd000021
-8b95
-11d1
-82db
-00c04fb1625d
),
162 interface IBodyPart
: IDispatch
164 [id(0x000000c8), propget]
165 HRESULT BodyParts
([out, retval] IBodyParts
**bodypart
);
167 [id(0x000000c9), propget]
168 HRESULT ContentTransferEncoding
([out, retval] BSTR *encoding
);
169 [id(0x000000c9), propput]
170 HRESULT ContentTransferEncoding
([in] BSTR encoding
);
172 [id(0x000000ca), propget]
173 HRESULT ContentMediaType
([out, retval] BSTR *mediatype
);
174 [id(0x000000ca), propput]
175 HRESULT ContentMediaType
([in] BSTR mediatype
);
177 [id(0x000000cb), propget]
178 HRESULT Fields
([out, retval] Fields
*fields
);
180 [id(0x000000cc), propget]
181 HRESULT Charset
([out, retval] BSTR *charset
);
182 [id(0x000000cc), propput]
183 HRESULT Charset
([in] BSTR charset
);
185 [id(0x000000cd), propget]
186 HRESULT FileName
([out, retval] BSTR *filename
);
188 [id(0x000000cf), propget]
189 HRESULT DataSource
([out, retval] IDataSource
*datasource
);
191 [id(0x000000d0), propget]
192 HRESULT ContentClass
([out, retval] BSTR *content
);
193 [id(0x000000d0), propput]
194 HRESULT ContentClass
([in] BSTR content
);
196 [id(0x000000d1), propget]
197 HRESULT ContentClassName
([out, retval] BSTR *name
);
198 [id(0x000000d1), propput]
199 HRESULT ContentClassName
([in] BSTR name
);
201 [id(0x000000d2), propget]
202 HRESULT Parent
([out, retval] IBodyPart
**parent
);
205 HRESULT AddBodyPart
([in, optional, defaultvalue(-1)] long index
, [out, retval] IBodyPart
**bodypart
);
208 HRESULT SaveToFile
([in] BSTR filename
);
211 HRESULT GetEncodedContentStream
([out, retval] _Stream
**stream
);
214 HRESULT GetDecodedContentStream
([out, retval] _Stream
**stream
);
217 HRESULT GetStream
([out, retval] _Stream
**stream
);
220 HRESULT GetFieldParameter
([in] BSTR fieldname
, [in] BSTR parameter
, [out, retval] BSTR *streamalue
);
223 HRESULT GetInterface
([in] BSTR iface
, [out, retval] IDispatch
**unk
);
228 uuid(cd000022
-8b95
-11d1
-82db
-00c04fb1625d
),
233 interface IConfiguration
: IDispatch
235 [id(00000000), propget]
236 HRESULT Fields
([out, retval] Fields
**fields
);
239 HRESULT Load
([in] CdoConfigSource
source, [in, optional] BSTR url
);
242 HRESULT GetInterface
([in] BSTR iname
, [out, retval] IDispatch
**unk
);
247 uuid(cd000020
-8b95
-11d1
-82db
-00c04fb1625d
),
252 interface IMessage
: IDispatch
254 [id(0x00000065), propget]
255 HRESULT BCC
([out, retval] BSTR *bcc
);
256 [id(0x00000065), propput]
257 HRESULT BCC
([in] BSTR bcc
);
259 [id(0x00000067), propget]
260 HRESULT CC
([out, retval] BSTR *cc
);
261 [id(0x00000067), propput]
262 HRESULT CC
([in] BSTR cc
);
264 [id(0x00000069), propget]
265 HRESULT FollowUpTo
([out, retval] BSTR *follow
);
266 [id(0x00000069), propput]
267 HRESULT FollowUpTo
([in] BSTR follow
);
269 [id(0x0000006a), propget]
270 HRESULT From
([out, retval] BSTR *from
);
271 [id(0x0000006a), propput]
272 HRESULT From
([in] BSTR from
);
274 [id(0x0000006b), propget]
275 HRESULT Keywords
([out, retval] BSTR* keywords
);
276 [id(0x0000006b), propput]
277 HRESULT Keywords
([in] BSTR keywords
);
279 [id(0x0000006e), propget]
280 HRESULT MimeFormatted
([out, retval] VARIANT_BOOL *formatted
);
281 [id(0x0000006e), propput]
282 HRESULT MimeFormatted
([in] VARIANT_BOOL formatted
);
284 [id(0x0000006f), propget]
285 HRESULT Newsgroups
([out, retval] BSTR *newsgroups
);
286 [id(0x0000006f), propput]
287 HRESULT Newsgroups
([in] BSTR newsgroups
);
288 [id(0x00000070), propget]
290 HRESULT Organization
([out, retval] BSTR *organization
);
291 [id(0x00000070), propput]
292 HRESULT Organization
([in] BSTR organization
);
294 [id(0x00000072), propget]
295 HRESULT ReceivedTime
([out, retval] DATE
*received
);
297 [id(0x00000073), propget]
298 HRESULT ReplyTo
([out, retval] BSTR *reply
);
299 [id(0x00000073), propput]
300 HRESULT ReplyTo
([in] BSTR reply
);
302 [id(0x00000074), propget]
303 HRESULT DSNOptions
([out, retval] CdoDSNOptions
*options
);
304 [id(0x00000074), propput]
305 HRESULT DSNOptions
([in] CdoDSNOptions options
);
307 [id(0x00000077), propget]
308 HRESULT SentOn
([out, retval] DATE
*sent
);
310 [id(0x00000078), propget]
311 HRESULT Subject
([out, retval] BSTR *subject
);
312 [id(0x00000078), propput]
313 HRESULT Subject
([in] BSTR subject
);
315 [id(0x00000079), propget]
316 HRESULT To
([out, retval] BSTR *to
);
317 [id(0x00000079), propput]
318 HRESULT To
([in] BSTR to
);
320 [id(0x0000007b), propget]
321 HRESULT TextBody
([out, retval] BSTR *body
);
322 [id(0x0000007b), propput]
323 HRESULT TextBody
([in] BSTR body
);
326 HRESULT HTMLBody
([out, retval] BSTR* body
);
327 [id(0x0000007c), propput]
328 HRESULT HTMLBody
([in] BSTR body
);
330 [id(0x0000007d), propget]
331 HRESULT Attachments
([out, retval] IBodyParts
**attachments
);
333 [id(0x0000007e), propget]
334 HRESULT Sender
([out, retval] BSTR *sender
);
335 [id(0x0000007e), propput]
336 HRESULT Sender
([in] BSTR sender
);
338 [id(0x0000007f), propget]
339 HRESULT Configuration
([out, retval] IConfiguration
**config
);
340 [id(0x0000007f), propput]
341 HRESULT Configuration
([in] IConfiguration
*config
);
342 [id(0x0000007f), propputref]
343 HRESULT Configuration
([in] IConfiguration
*config
);
345 [id(0x00000080), propget]
346 HRESULT AutoGenerateTextBody
([out, retval] VARIANT_BOOL *body
);
347 [id(0x00000080), propput]
348 HRESULT AutoGenerateTextBody
([in] VARIANT_BOOL body
);
350 [id(0x00000081), propget]
351 HRESULT EnvelopeFields
([out, retval] Fields
**fields
);
353 [id(0x00000082), propget]
354 HRESULT TextBodyPart
([out, retval] IBodyPart
**body
);
355 [id(0x00000083), propget]
356 HRESULT HTMLBodyPart
([out, retval] IBodyPart
**body
);
358 [id(0x00000084), propget]
359 HRESULT BodyPart
([out, retval] IBodyPart
** part
);
361 [id(0x00000085), propget]
362 HRESULT DataSource
([out, retval] IDataSource
**datasource
);
364 [id(0x00000086), propget]
365 HRESULT Fields
([out, retval] Fields
**fields
);
367 [id(0x00000087), propget]
368 HRESULT MDNRequested
([out, retval] VARIANT_BOOL* requested
);
369 [id(0x00000087), propput]
370 HRESULT MDNRequested
([in] VARIANT_BOOL requested
);
373 HRESULT AddRelatedBodyPart
([in] BSTR url
, [in] BSTR Reference
, [in] CdoReferenceType ReferenceType
,
374 [in, optional] BSTR username
, [in, optional] BSTR password
, [out, retval] IBodyPart
**body
);
376 HRESULT AddAttachment
([in] BSTR url
, [in, optional] BSTR username
,
377 [in, optional] BSTR password
, [out, retval] IBodyPart
**body
);
380 HRESULT CreateMHTMLBody
([in] BSTR url
, [in, optional, defaultvalue(0)] CdoMHTMLFlags flags
,
381 [in, optional] BSTR username
, [in, optional] BSTR password
);
384 HRESULT Forward
([out, retval] IMessage
**msg
);
390 HRESULT PostReply
([out, retval] IMessage
**msg
);
393 HRESULT Reply
([out, retval] IMessage
**msg
);
396 HRESULT ReplyAll
([out, retval] IMessage
**msg
);
402 HRESULT GetStream
([out, retval] _Stream
**stream
);
405 HRESULT GetInterface
([in] BSTR name
, [out, retval] IDispatch
**unknown
);
409 uuid(cd000001
-8b95
-11d1
-82db
-00c04fb1625d
)
413 [default] interface IMessage
;
414 interface IDataSource
;