master
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef MAPIAUXGUID_H
8#ifdef INITGUID
9#include <mapiguid.h>
10#define MAPIAUXGUID_H
11#endif /* INITGUID */
12
13#if !defined(INITGUID) || defined(USES_IID_IMsgServiceAdmin2)
14DEFINE_OLEGUID(IID_IMsgServiceAdmin2,0x00020387, 0, 0);
15#endif
16
17#if !defined(INITGUID) || defined(USES_IID_IMessageRaw)
18DEFINE_OLEGUID(IID_IMessageRaw,0x0002038a, 0, 0);
19#endif
20
21#endif /* MAPIAUXGUID_H */
22
23#ifndef MAPIAUX_H
24#define MAPIAUX_H
25
26#ifndef MAPIDEFS_H
27#include <mapidefs.h>
28#endif
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#ifndef BEGIN_INTERFACE
35#define BEGIN_INTERFACE
36#endif
37
38DECLARE_MAPI_INTERFACE_PTR(IMsgServiceAdmin2, LPSERVICEADMIN2);
39
40#define PR_ATTACH_CONTENT_ID PROP_TAG(PT_TSTRING, 0x3712)
41#define PR_ATTACH_CONTENT_ID_W PROP_TAG(PT_UNICODE, 0x3712)
42#define PR_ATTACH_CONTENT_ID_A PROP_TAG(PT_STRING8, 0x3712)
43
44#define PR_DISPLAY_TYPE_EX PROP_TAG(PT_LONG, 0x3905)
45#define PR_MSG_EDITOR_FORMAT PROP_TAG(PT_LONG, 0x5909)
46#define PR_ROH_FLAGS PROP_TAG(PT_LONG, 0x6623)
47#define PR_ROH_PROXY_AUTH_SCHEME PROP_TAG(PT_LONG, 0x6627)
48
49#define MAPI_BG_SESSION 0x00200000
50#define MAPI_NO_COINIT 0x00000008
51
52#define SPAMFILTER_ONSAVE ((ULONG)0x00000080)
53#define ITEMPROC_FORCE ((ULONG)0x00000800)
54#define NON_EMS_XP_SAVE ((ULONG)0x00001000)
55
56#define MDB_ONLINE ((ULONG)0x00000100)
57
58#define STORE_UNICODE_OK ((ULONG)0x00040000)
59#define STORE_ITEMPROC ((ULONG)0x00200000)
60
61#define MAPI_NO_CACHE ((ULONG)0x00000200)
62#define MAPI_CACHE_ONLY ((ULONG)0x00004000)
63
64#define AG_MONTHS 0
65#define AG_WEEKS 1
66#define AG_DAYS 2
67#define NUM_AG_TYPES 3
68
69#define DTE_FLAG_REMOTE_VALID 0x80000000
70#define DTE_FLAG_ACL_CAPABLE 0x40000000
71#define DTE_MASK_REMOTE 0x0000ff00
72#define DTE_MASK_LOCAL 0x000000ff
73
74#define DTE_IS_REMOTE_VALID(v) (!!((v) & DTE_FLAG_REMOTE_VALID))
75#define DTE_IS_ACL_CAPABLE(v) (!!((v) & DTE_FLAG_ACL_CAPABLE))
76#define DTE_REMOTE(v) (((v) & DTE_MASK_REMOTE) >> 8)
77#define DTE_LOCAL(v) ((v) & DTE_MASK_LOCAL)
78
79#define DT_ROOM ((ULONG)0x00000007)
80#define DT_EQUIPMENT ((ULONG)0x00000008)
81#define DT_SEC_DISTLIST ((ULONG)0x00000009)
82
83#define EDITOR_FORMAT_DONTKNOW ((ULONG)0)
84#define EDITOR_FORMAT_PLAINTEXT ((ULONG)1)
85#define EDITOR_FORMAT_HTML ((ULONG)2)
86#define EDITOR_FORMAT_RTF ((ULONG)3)
87
88#define ROHFLAGS_USE_ROH 0x1
89#define ROHFLAGS_SSL_ONLY 0x2
90#define ROHFLAGS_MUTUAL_AUTH 0x4
91#define ROHFLAGS_HTTP_FIRST_ON_FAST 0x8
92#define ROHFLAGS_HTTP_FIRST_ON_SLOW 0x20
93
94#define ROHAUTH_BASIC 0x1
95#define ROHAUTH_NTLM 0x2
96
97#define MAPI_IMSGSERVICEADMIN_METHODS(IPURE) \
98 MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult, ULONG ulFlags, LPMAPIERROR *lppMAPIError) IPURE; \
99 MAPIMETHOD(GetMsgServiceTable) (THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) IPURE; \
100 MAPIMETHOD(CreateMsgService) (THIS_ LPTSTR lpszService, LPTSTR lpszDisplayName, ULONG_PTR ulUIParam, ULONG ulFlags) IPURE; \
101 MAPIMETHOD(DeleteMsgService) (THIS_ LPMAPIUID lpUID) IPURE; \
102 MAPIMETHOD(CopyMsgService) (THIS_ LPMAPIUID lpUID, LPTSTR lpszDisplayName, LPCIID lpInterfaceToCopy, LPCIID lpInterfaceDst, LPVOID lpObjectDst, ULONG_PTR ulUIParam, ULONG ulFlags) IPURE; \
103 MAPIMETHOD(RenameMsgService) (THIS_ LPMAPIUID lpUID, ULONG ulFlags, LPTSTR lpszDisplayName) IPURE; \
104 MAPIMETHOD(ConfigureMsgService) (THIS_ LPMAPIUID lpUID, ULONG_PTR ulUIParam, ULONG ulFlags, ULONG cValues, LPSPropValue lpProps) IPURE; \
105 MAPIMETHOD(OpenProfileSection) (THIS_ LPMAPIUID lpUID, LPCIID lpInterface, ULONG ulFlags, LPPROFSECT *lppProfSect) IPURE; \
106 MAPIMETHOD(MsgServiceTransportOrder) (THIS_ ULONG cUID, LPMAPIUID lpUIDList, ULONG ulFlags) IPURE; \
107 MAPIMETHOD(AdminProviders) (THIS_ LPMAPIUID lpUID, ULONG ulFlags, LPPROVIDERADMIN *lppProviderAdmin) IPURE; \
108 MAPIMETHOD(SetPrimaryIdentity) (THIS_ LPMAPIUID lpUID, ULONG ulFlags) IPURE; \
109 MAPIMETHOD(GetProviderTable) (THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) IPURE; \
110
111#define MAPI_IMSGSERVICEADMIN_METHODS2(IPURE) \
112 MAPIMETHOD(CreateMsgServiceEx) (THIS_ LPTSTR lpszService, LPTSTR lpszDisplayName, ULONG_PTR ulUIParam, ULONG ulFlags, LPMAPIUID lpuidService) IPURE; \
113
114#undef INTERFACE
115#define INTERFACE IMsgServiceAdmin2
116DECLARE_MAPI_INTERFACE_(IMsgServiceAdmin2, IUnknown)
117{
118 BEGIN_INTERFACE
119 MAPI_IUNKNOWN_METHODS(PURE)
120 MAPI_IMSGSERVICEADMIN_METHODS(PURE)
121 MAPI_IMSGSERVICEADMIN_METHODS2(PURE)
122};
123
124#ifdef __cplusplus
125}
126#endif
127
128#endif /* MAPIAUX_H */