wine-wine/include/cdosys.idl

418 lines
13 KiB
Plaintext

/*
* Copyright (C) 2019 Alistair Leslie-Hughes
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "unknwn.idl";
import "objidl.idl";
import "oaidl.idl";
import "msado15_backcompat.idl";
#if !defined(progid) && !defined(__WIDL__)
#define threading(model)
#define progid(str)
#define vi_progid(str)
#endif
[
uuid(cd000000-8b95-11d1-82db-00c04fb1625d),
version(1.0)
]
library CDO
{
importlib("stdole2.tlb");
interface IBodyPart;
typedef enum
{
cdoDSNDefault = 0,
cdoDSNNever = 1,
cdoDSNFailure = 2,
cdoDSNSuccess = 4,
cdoDSNDelay = 8,
cdoDSNSuccessFailOrDelay = 14
} CdoDSNOptions;
typedef enum
{
cdoRefTypeId = 0,
cdoRefTypeLocation = 1
} CdoReferenceType;
typedef enum
{
cdoSuppressNone = 0,
cdoSuppressImages = 1,
cdoSuppressBGSounds = 2,
cdoSuppressFrames = 4,
cdoSuppressObjects = 8,
cdoSuppressStyleSheets = 16,
cdoSuppressAll = 31
} CdoMHTMLFlags;
typedef enum
{
cdoDefaults = 0xffffffff,
cdoIIS = 1,
cdoOutlookExpress = 2
} CdoConfigSource;
[
odl,
uuid(cd000029-8b95-11d1-82db-00c04fb1625d),
dual,
nonextensible,
oleautomation
]
interface IDataSource : IDispatch
{
[id(0x000000cf), propget]
HRESULT SourceClass([out, retval] BSTR *source);
[id(0x000000d0)]
HRESULT Source([out, retval] IUnknown **source);
[id(0x000000d1), propget]
HRESULT IsDirty([out, retval] VARIANT_BOOL *dirty);
[id(0x000000d1), propput]
HRESULT IsDirty([in] VARIANT_BOOL dirty);
[id(0x000000d2), propget]
HRESULT SourceURL([out, retval] BSTR *url);
[id(0x000000d3), propget]
HRESULT ActiveConnection([out, retval] _Connection **connection);
[id(0x000000fb)]
HRESULT SaveToObject([in] IUnknown *source, [in] BSTR iname);
[id(0x000000fc)]
HRESULT OpenObject([in] IUnknown *source, [in] BSTR iname);
[id(0x000000fd)]
HRESULT SaveTo([in] BSTR url, [in, optional, defaultvalue(NULL)] IDispatch *connection,
[in, optional] ConnectModeEnum mode, [in, optional] RecordCreateOptionsEnum create,
[in, optional] RecordOpenOptionsEnum options, [in, optional] BSTR username,
[in, optional] BSTR password);
[id(0x000000fe)]
HRESULT Open([in] BSTR url, [in, optional, defaultvalue(NULL)] IDispatch *connection,
[in, optional] ConnectModeEnum mode, [in, optional, defaultvalue(-1)] RecordCreateOptionsEnum create,
[in, optional] RecordOpenOptionsEnum options, [in, optional] BSTR username,
[in, optional] BSTR password);
[id(0x000000ff)]
HRESULT Save();
[id(0x00000100)]
HRESULT SaveToContainer([in] BSTR url, [in, optional, defaultvalue(NULL)] IDispatch *connection,
[in, optional] ConnectModeEnum mode, [in, optional] RecordCreateOptionsEnum create,
[in, optional] RecordOpenOptionsEnum options, [in, optional] BSTR username,
[in, optional] BSTR password);
};
[
odl,
uuid(cd000023-8b95-11d1-82db-00c04fb1625d),
dual,
nonextensible,
oleautomation
]
interface IBodyParts : IDispatch
{
[id(0x00000001), propget]
HRESULT Count([out, retval] long *count);
[id(00000000), propget]
HRESULT Item([in] long index, [out, retval] IBodyPart **body);
[id(DISPID_NEWENUM), propget, restricted]
HRESULT _NewEnum([out, retval] IUnknown **retval);
[id(0x00000002)]
HRESULT Delete([in] VARIANT bodypart);
[id(0x00000003)]
HRESULT DeleteAll();
[id(0x00000004)]
HRESULT Add([in, optional, defaultvalue(-1)] long index, [out, retval] IBodyPart **bodypart);
};
[
odl,
uuid(cd000021-8b95-11d1-82db-00c04fb1625d),
dual,
nonextensible,
oleautomation
]
interface IBodyPart : IDispatch
{
[id(0x000000c8), propget]
HRESULT BodyParts([out, retval] IBodyParts **bodypart);
[id(0x000000c9), propget]
HRESULT ContentTransferEncoding([out, retval] BSTR *encoding);
[id(0x000000c9), propput]
HRESULT ContentTransferEncoding([in] BSTR encoding);
[id(0x000000ca), propget]
HRESULT ContentMediaType([out, retval] BSTR *mediatype);
[id(0x000000ca), propput]
HRESULT ContentMediaType([in] BSTR mediatype);
[id(0x000000cb), propget]
HRESULT Fields([out, retval] Fields *fields);
[id(0x000000cc), propget]
HRESULT Charset([out, retval] BSTR *charset);
[id(0x000000cc), propput]
HRESULT Charset([in] BSTR charset);
[id(0x000000cd), propget]
HRESULT FileName([out, retval] BSTR *filename);
[id(0x000000cf), propget]
HRESULT DataSource([out, retval] IDataSource *datasource);
[id(0x000000d0), propget]
HRESULT ContentClass([out, retval] BSTR *content);
[id(0x000000d0), propput]
HRESULT ContentClass([in] BSTR content);
[id(0x000000d1), propget]
HRESULT ContentClassName([out, retval] BSTR *name);
[id(0x000000d1), propput]
HRESULT ContentClassName([in] BSTR name);
[id(0x000000d2), propget]
HRESULT Parent([out, retval] IBodyPart **parent);
[id(0x000000fa)]
HRESULT AddBodyPart([in, optional, defaultvalue(-1)] long index, [out, retval] IBodyPart **bodypart);
[id(0x000000fb)]
HRESULT SaveToFile([in] BSTR filename);
[id(0x000000fc)]
HRESULT GetEncodedContentStream([out, retval] _Stream **stream);
[id(0x000000fd)]
HRESULT GetDecodedContentStream([out, retval] _Stream **stream);
[id(0x000000fe)]
HRESULT GetStream([out, retval] _Stream **stream);
[id(0x000000ff)]
HRESULT GetFieldParameter([in] BSTR fieldname, [in] BSTR parameter, [out, retval] BSTR *streamalue);
[id(0x000000a0)]
HRESULT GetInterface([in] BSTR iface, [out, retval] IDispatch **unk);
};
[
odl,
uuid(cd000022-8b95-11d1-82db-00c04fb1625d),
dual,
nonextensible,
oleautomation
]
interface IConfiguration : IDispatch
{
[id(00000000), propget]
HRESULT Fields([out, retval] Fields **fields);
[id(0x00000032)]
HRESULT Load([in] CdoConfigSource source, [in, optional] BSTR url);
[id(0x000000a0)]
HRESULT GetInterface([in] BSTR iname, [out, retval] IDispatch **unk);
};
[
odl,
uuid(cd000020-8b95-11d1-82db-00c04fb1625d),
dual,
nonextensible,
oleautomation
]
interface IMessage : IDispatch
{
[id(0x00000065), propget]
HRESULT BCC([out, retval] BSTR *bcc);
[id(0x00000065), propput]
HRESULT BCC([in] BSTR bcc);
[id(0x00000067), propget]
HRESULT CC([out, retval] BSTR *cc);
[id(0x00000067), propput]
HRESULT CC([in] BSTR cc);
[id(0x00000069), propget]
HRESULT FollowUpTo([out, retval] BSTR *follow);
[id(0x00000069), propput]
HRESULT FollowUpTo([in] BSTR follow);
[id(0x0000006a), propget]
HRESULT From([out, retval] BSTR *from);
[id(0x0000006a), propput]
HRESULT From([in] BSTR from);
[id(0x0000006b), propget]
HRESULT Keywords([out, retval] BSTR* keywords);
[id(0x0000006b), propput]
HRESULT Keywords([in] BSTR keywords);
[id(0x0000006e), propget]
HRESULT MimeFormatted([out, retval] VARIANT_BOOL *formatted);
[id(0x0000006e), propput]
HRESULT MimeFormatted([in] VARIANT_BOOL formatted);
[id(0x0000006f), propget]
HRESULT Newsgroups([out, retval] BSTR *newsgroups);
[id(0x0000006f), propput]
HRESULT Newsgroups([in] BSTR newsgroups);
[id(0x00000070), propget]
HRESULT Organization([out, retval] BSTR *organization);
[id(0x00000070), propput]
HRESULT Organization([in] BSTR organization);
[id(0x00000072), propget]
HRESULT ReceivedTime([out, retval] DATE *received);
[id(0x00000073), propget]
HRESULT ReplyTo([out, retval] BSTR *reply);
[id(0x00000073), propput]
HRESULT ReplyTo([in] BSTR reply);
[id(0x00000074), propget]
HRESULT DSNOptions([out, retval] CdoDSNOptions *options);
[id(0x00000074), propput]
HRESULT DSNOptions([in] CdoDSNOptions options);
[id(0x00000077), propget]
HRESULT SentOn([out, retval] DATE *sent);
[id(0x00000078), propget]
HRESULT Subject([out, retval] BSTR *subject);
[id(0x00000078), propput]
HRESULT Subject([in] BSTR subject);
[id(0x00000079), propget]
HRESULT To([out, retval] BSTR *to);
[id(0x00000079), propput]
HRESULT To([in] BSTR to);
[id(0x0000007b), propget]
HRESULT TextBody([out, retval] BSTR *body);
[id(0x0000007b), propput]
HRESULT TextBody([in] BSTR body);
[id(0x0000007c)]
HRESULT HTMLBody([out, retval] BSTR* body);
[id(0x0000007c), propput]
HRESULT HTMLBody([in] BSTR body);
[id(0x0000007d), propget]
HRESULT Attachments([out, retval] IBodyParts **attachments);
[id(0x0000007e), propget]
HRESULT Sender([out, retval] BSTR *sender);
[id(0x0000007e), propput]
HRESULT Sender([in] BSTR sender);
[id(0x0000007f), propget]
HRESULT Configuration([out, retval] IConfiguration **config);
[id(0x0000007f), propput]
HRESULT Configuration([in] IConfiguration *config);
[id(0x0000007f), propputref]
HRESULT Configuration([in] IConfiguration *config);
[id(0x00000080), propget]
HRESULT AutoGenerateTextBody([out, retval] VARIANT_BOOL *body);
[id(0x00000080), propput]
HRESULT AutoGenerateTextBody([in] VARIANT_BOOL body);
[id(0x00000081), propget]
HRESULT EnvelopeFields([out, retval] Fields **fields);
[id(0x00000082), propget]
HRESULT TextBodyPart([out, retval] IBodyPart **body);
[id(0x00000083), propget]
HRESULT HTMLBodyPart([out, retval] IBodyPart **body);
[id(0x00000084), propget]
HRESULT BodyPart([out, retval] IBodyPart ** part);
[id(0x00000085), propget]
HRESULT DataSource([out, retval] IDataSource **datasource);
[id(0x00000086), propget]
HRESULT Fields([out, retval] Fields **fields);
[id(0x00000087), propget]
HRESULT MDNRequested([out, retval] VARIANT_BOOL* requested);
[id(0x00000087), propput]
HRESULT MDNRequested([in] VARIANT_BOOL requested);
[id(0x00000096)]
HRESULT AddRelatedBodyPart([in] BSTR url, [in] BSTR Reference, [in] CdoReferenceType ReferenceType,
[in, optional] BSTR username, [in, optional] BSTR password, [out, retval] IBodyPart **body);
[id(0x00000097)]
HRESULT AddAttachment([in] BSTR url, [in, optional] BSTR username,
[in, optional] BSTR password, [out, retval] IBodyPart **body);
[id(0x00000098)]
HRESULT CreateMHTMLBody([in] BSTR url, [in, optional, defaultvalue(0)] CdoMHTMLFlags flags,
[in, optional] BSTR username, [in, optional] BSTR password);
[id(0x00000099)]
HRESULT Forward([out, retval] IMessage **msg);
[id(0x0000009a)]
HRESULT Post();
[id(0x0000009b)]
HRESULT PostReply([out, retval] IMessage **msg);
[id(0x0000009c)]
HRESULT Reply([out, retval] IMessage **msg);
[id(0x0000009d)]
HRESULT ReplyAll([out, retval] IMessage **msg);
[id(0x0000009e)]
HRESULT Send();
[id(0x0000009f)]
HRESULT GetStream([out, retval] _Stream **stream);
[id(0x000000a0)]
HRESULT GetInterface([in] BSTR name, [out, retval] IDispatch **unknown);
};
[
uuid(cd000001-8b95-11d1-82db-00c04fb1625d)
]
coclass Message
{
[default] interface IMessage;
interface IDataSource;
interface IBodyPart;
};
}