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 */