ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

mapix.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2004 Jon Griffiths
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef MAPIX_H
00020 #define MAPIX_H
00021 
00022 #include <mapidefs.h>
00023 #include <mapicode.h>
00024 #include <mapiguid.h>
00025 #include <mapitags.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 
00031 typedef struct IProfAdmin IProfAdmin;
00032 typedef IProfAdmin *LPPROFADMIN;
00033 typedef struct IMsgServiceAdmin IMsgServiceAdmin;
00034 typedef IMsgServiceAdmin *LPSERVICEADMIN;
00035 typedef struct IMAPISession *LPMAPISESSION;
00036 
00037 #ifndef WINE_FLAGS_DEFINED
00038 #define WINE_FLAGS_DEFINED
00039 typedef ULONG                   FLAGS;
00040 #endif
00041 
00042 /* Flags for MAPILogon and MAPILogonEx */
00043 #ifndef MAPI_LOGON_UI
00044 #define MAPI_LOGON_UI           0x00000001
00045 #endif
00046 #ifndef MAPI_NEW_SESSION
00047 #define MAPI_NEW_SESSION        0x00000002
00048 #endif
00049 #define MAPI_ALLOW_OTHERS       0x00000008
00050 #define MAPI_EXPLICIT_PROFILE   0x00000010
00051 #ifndef MAPI_EXTENDED
00052 #define MAPI_EXTENDED           0x00000020
00053 #endif
00054 #ifndef MAPI_FORCE_DOWNLOAD
00055 #define MAPI_FORCE_DOWNLOAD     0x00001000
00056 #endif
00057 #ifndef MAPI_PASSWORD_UI
00058 #define MAPI_PASSWORD_UI        0x00020000
00059 #endif
00060 #define MAPI_SERVICE_UI_ALWAYS  0x00002000
00061 #define MAPI_NO_MAIL            0x00008000
00062 #define MAPI_NT_SERVICE         0x00010000
00063 #define MAPI_TIMEOUT_SHORT      0x00100000
00064 
00065 #define MAPI_SIMPLE_DEFAULT  (MAPI_LOGON_UI|MAPI_ALLOW_OTHERS|MAPI_FORCE_DOWNLOAD)
00066 #define MAPI_SIMPLE_EXPLICIT (MAPI_NEW_SESSION|MAPI_EXPLICIT_PROFILE|MAPI_FORCE_DOWNLOAD)
00067 
00068 typedef struct tagMAPIINIT_0
00069 {
00070     ULONG ulVersion;
00071     ULONG ulFlags;
00072 } MAPIINIT_0, *LPMAPIINIT_0;
00073 
00074 typedef MAPIINIT_0 MAPIINIT, *LPMAPIINIT;
00075 
00076 #define MAPI_INIT_VERSION 0U
00077 
00078 typedef HRESULT (WINAPI MAPIINITIALIZE)(void*);
00079 typedef MAPIINITIALIZE *LPMAPIINITIALIZE;
00080 MAPIINITIALIZE MAPIInitialize;
00081 
00082 typedef void (WINAPI MAPIUNINITIALIZE)(void);
00083 typedef MAPIUNINITIALIZE *LPMAPIUNINITIALIZE;
00084 MAPIUNINITIALIZE MAPIUninitialize;
00085 
00086 #if defined (UNICODE) || defined (__WINESRC__)
00087 typedef HRESULT (STDMETHODCALLTYPE MAPILOGONEX)(ULONG_PTR,LPWSTR,LPWSTR,ULONG,LPMAPISESSION*);
00088 #else
00089 typedef HRESULT (STDMETHODCALLTYPE MAPILOGONEX)(ULONG_PTR,LPSTR,LPSTR,ULONG,LPMAPISESSION *);
00090 #endif
00091 typedef MAPILOGONEX *LPMAPILOGONEX;
00092 MAPILOGONEX MAPILogonEx;
00093 
00094 typedef SCODE (WINAPI MAPIALLOCATEBUFFER)(ULONG,LPVOID*);
00095 typedef MAPIALLOCATEBUFFER *LPMAPIALLOCATEBUFFER;
00096 MAPIALLOCATEBUFFER MAPIAllocateBuffer;
00097 
00098 typedef SCODE (WINAPI MAPIALLOCATEMORE)(ULONG,LPVOID,LPVOID*);
00099 typedef MAPIALLOCATEMORE *LPMAPIALLOCATEMORE;
00100 MAPIALLOCATEMORE MAPIAllocateMore;
00101 
00102 #ifndef MAPIFREEBUFFER_DEFINED
00103 #define MAPIFREEBUFFER_DEFINED
00104 typedef ULONG (WINAPI MAPIFREEBUFFER)(LPVOID);
00105 typedef MAPIFREEBUFFER *LPMAPIFREEBUFFER;
00106 MAPIFREEBUFFER MAPIFreeBuffer;
00107 #endif
00108 
00109 typedef HRESULT (WINAPI MAPIADMINPROFILES)(ULONG,LPPROFADMIN*);
00110 typedef MAPIADMINPROFILES *LPMAPIADMINPROFILES;
00111 MAPIADMINPROFILES MAPIAdminProfiles;
00112 
00113 /*****************************************************************************
00114  * IMAPISession interface
00115  */
00116 #define INTERFACE IMAPISession
00117 DECLARE_INTERFACE_(IMAPISession,IUnknown)
00118 {
00119     /*** IUnknown methods ***/
00120     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00121     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00122     STDMETHOD_(ULONG,Release)(THIS) PURE;
00123     /*** IMAPISession methods ***/
00124     STDMETHOD(GetLastError)(THIS_ HRESULT hResult, ULONG ulFlags, LPMAPIERROR *lppMAPIError) PURE;
00125     STDMETHOD(GetMsgStoresTable)(THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) PURE;
00126     STDMETHOD(OpenMsgStore)(THIS_ ULONG_PTR ulUIParam, ULONG cbId,
00127                             LPENTRYID lpId, LPCIID lpIFace, ULONG ulFlags, LPMDB *lppMDB) PURE;
00128     STDMETHOD(OpenAddressBook)(THIS_ ULONG_PTR ulUIParam, LPCIID iid, ULONG ulFlags, LPADRBOOK *lppAdrBook) PURE;
00129     STDMETHOD(OpenProfileSection)(THIS_ LPMAPIUID lpUID, LPCIID iid, ULONG ulFlags, LPPROFSECT *lppProf) PURE;
00130     STDMETHOD(GetStatusTable)(THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) PURE;
00131     STDMETHOD(OpenEntry)(THIS_ ULONG cbId, LPENTRYID lpId, LPCIID iid,
00132                          ULONG ulFlags, ULONG *lpType, LPUNKNOWN *lppUnk) PURE;
00133     STDMETHOD(CompareEntryIDs)(THIS_ ULONG cbLID, LPENTRYID lpLID, ULONG cbRID,
00134                                LPENTRYID lpRID, ULONG ulFlags, ULONG *lpRes) PURE;
00135     STDMETHOD(Advise)(THIS_ ULONG cbId, LPENTRYID lpId, ULONG ulMask,
00136                       LPMAPIADVISESINK lpSink, ULONG *lpCxn) PURE;
00137     STDMETHOD(Unadvise)(THIS_ ULONG ulConnection) PURE;
00138     STDMETHOD(MessageOptions)(THIS_ ULONG_PTR ulUIParam, ULONG ulFlags, LPSTR lpszAddr, LPMESSAGE lpMsg) PURE;
00139     STDMETHOD(QueryDefaultMessageOpt)(THIS_ LPSTR lpszAddr, ULONG ulFlags,
00140                                       ULONG *lpcVals, LPSPropValue *lppOpts) PURE;
00141     STDMETHOD(EnumAdrTypes)(THIS_ ULONG ulFlags, ULONG *lpcTypes, LPSTR **lpppszTypes) PURE;
00142     STDMETHOD(QueryIdentity)(THIS_ ULONG *lpcbId, LPENTRYID *lppEntryID) PURE;
00143     STDMETHOD(Logoff)(THIS_ ULONG_PTR ulUIParam, ULONG ulFlags, ULONG ulReserved) PURE;
00144     STDMETHOD(SetDefaultStore)(THIS_ ULONG ulFlags, ULONG cbId, LPENTRYID lpId) PURE;
00145     STDMETHOD(AdminServices)(THIS_ ULONG ulFlags, LPSERVICEADMIN *lppAdmin) PURE;
00146     STDMETHOD(ShowForm)(THIS_ ULONG_PTR ulUIParam, LPMDB lpStore,
00147                         LPMAPIFOLDER lpParent, LPCIID iid, ULONG ulToken,
00148                         LPMESSAGE lpSent, ULONG ulFlags, ULONG ulStatus,
00149                         ULONG ulMsgFlags, ULONG ulAccess, LPSTR lpszClass) PURE;
00150     STDMETHOD(PrepareForm)(THIS_ LPCIID lpIFace, LPMESSAGE lpMsg, ULONG *lpToken) PURE;
00151 };
00152 #undef INTERFACE
00153 
00154 #if !defined(__cplusplus) || defined(CINTERFACE)
00155         /*** IUnknown methods ***/
00156 #define IMAPISession_QueryInterface(p,a,b)          (p)->lpVtbl->QueryInterface(p,a,b)
00157 #define IMAPISession_AddRef(p)                      (p)->lpVtbl->AddRef(p)
00158 #define IMAPISession_Release(p)                     (p)->lpVtbl->Release(p)
00159         /*** IMAPISession methods ***/
00160 #define IMAPISession_GetLastError(p,a,b,c)          (p)->lpVtbl->GetLastError(p,a,b,c)
00161 #define IMAPISession_GetMsgStoresTable(p,a,b)       (p)->lpVtbl->GetMsgStoresTable(p,a,b)
00162 #define IMAPISession_OpenMsgStore(p,a,b,c,d,e,f)    (p)->lpVtbl->OpenMsgStore(p,a,b,c,d,e,f)
00163 #define IMAPISession_OpenAddressBook(p,a,b,c,d)     (p)->lpVtbl->OpenAddressBook(p,a,b,c,d)
00164 #define IMAPISession_OpenProfileSection(p,a,b,c,d)  (p)->lpVtbl->OpenProfileSection(p,a,b,c,d)
00165 #define IMAPISession_GetStatusTable(p,a,b)          (p)->lpVtbl->GetStatusTable(p,a,b)
00166 #define IMAPISession_OpenEntry(p,a,b,c,d,e,f)       (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
00167 #define IMAPISession_CompareEntryIDs(p,a,b,c,d,e,f) (p)->lpVtbl->CompareEntryIDs(p,a,b,c,d,e,f)
00168 #define IMAPISession_Advise(p,a,b,c,d,e)            (p)->lpVtbl->Advise(p,a,b,c,d,e)
00169 #define IMAPISession_Unadvise(p,a)                  (p)->lpVtbl->Unadvise(p,a)
00170 #define IMAPISession_MessageOptions(p,a,b,c,d)      (p)->lpVtbl->MessageOptions)(p,a,b,c,d)
00171 #define IMAPISession_QueryDefaultMessageOpt(p,a,b,c,d) \
00172                                                     (p)->lpVtbl->QueryDefaultMessageOpt(p,a,b,c,d)
00173 #define IMAPISession_EnumAdrTypes(p,a,b,c)          (p)->lpVtbl->EnumAdrTypes(p,a,b,c)
00174 #define IMAPISession_QueryIdentity(p,a,b)           (p)->lpVtbl->QueryIdentity(p,a,b)
00175 #define IMAPISession_Logoff(p,a,b,c)                (p)->lpVtbl->Logoff(p,a,b,c)
00176 #define IMAPISession_SetDefaultStore(p,a,b,c)       (p)->lpVtbl->SetDefaultStore(p,a,b,c)
00177 #define IMAPISession_AdminServices(p,a,b)           (p)->lpVtbl->AdminServices(p,a,b)
00178 #define IMAPISession_ShowForm(p,a,b,c,d,e,f,g,h,i,j,k) \
00179                                                     (p)->lpVtbl->ShowForm(p,a,b,c,d,e,f,g,h,i,j,k)
00180 #define IMAPISession_PrepareForm(p,a,b,c)           (p)->lpVtbl->PrepareForm(p,a,b,c)
00181 #endif
00182 
00183 #ifdef __cplusplus
00184 }
00185 #endif
00186 
00187 #endif /* MAPIX_H */

Generated on Sat May 26 2012 04:30:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.