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

mapi.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2000 Francois Gouget
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 MAPI_H
00020 #define MAPI_H
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 /* Some types */
00027 
00028 #ifndef __LHANDLE
00029 #define __LHANDLE
00030 typedef ULONG_PTR               LHANDLE, *LPLHANDLE;
00031 #endif
00032 #define lhSessionNull           ((LHANDLE)0)
00033 
00034 #ifndef WINE_FLAGS_DEFINED
00035 #define WINE_FLAGS_DEFINED
00036 typedef ULONG                   FLAGS;
00037 #endif
00038 typedef ULONG                  *LPULONG;
00039 
00040 typedef struct
00041 {
00042     ULONG ulReserved;
00043     ULONG flFlags;
00044     ULONG nPosition;
00045     LPSTR lpszPathName;
00046     LPSTR lpszFileName;
00047     LPVOID lpFileType;
00048 } MapiFileDesc, *lpMapiFileDesc;
00049 
00050 #ifndef MAPI_ORIG
00051 #define MAPI_ORIG   0
00052 #define MAPI_TO     1
00053 #define MAPI_CC     2
00054 #define MAPI_BCC    3
00055 #endif
00056 
00057 typedef struct
00058 {
00059     ULONG ulReserved;
00060     ULONG ulRecipClass;
00061     LPSTR lpszName;
00062     LPSTR lpszAddress;
00063     ULONG ulEIDSize;
00064     LPVOID lpEntryID;
00065 } MapiRecipDesc, *lpMapiRecipDesc;
00066 
00067 typedef struct
00068 {
00069     ULONG ulReserved;
00070     LPSTR lpszSubject;
00071     LPSTR lpszNoteText;
00072     LPSTR lpszMessageType;
00073     LPSTR lpszDateReceived;
00074     LPSTR lpszConversationID;
00075     FLAGS flFlags;
00076     lpMapiRecipDesc lpOriginator;
00077     ULONG nRecipCount;
00078     lpMapiRecipDesc lpRecips;
00079     ULONG nFileCount;
00080     lpMapiFileDesc lpFiles;
00081 } MapiMessage, *lpMapiMessage;
00082 
00083 
00084 /* Error codes */
00085 
00086 #ifndef SUCCESS_SUCCESS
00087 #define SUCCESS_SUCCESS                 0L
00088 #endif
00089 
00090 #define MAPI_USER_ABORT                 1
00091 #define MAPI_E_USER_ABORT               MAPI_USER_ABORT
00092 #define MAPI_E_FAILURE                  2
00093 #define MAPI_E_LOGON_FAILURE            3
00094 #define MAPI_E_LOGIN_FAILURE            MAPI_E_LOGON_FAILURE
00095 #define MAPI_E_DISK_FULL                4
00096 #define MAPI_E_INSUFFICIENT_MEMORY      5
00097 #define MAPI_E_ACCESS_DENIED            6
00098 #define MAPI_E_TOO_MANY_SESSIONS        8
00099 #define MAPI_E_TOO_MANY_FILES           9
00100 #define MAPI_E_TOO_MANY_RECIPIENTS      10
00101 #define MAPI_E_ATTACHMENT_NOT_FOUND     11
00102 #define MAPI_E_ATTACHMENT_OPEN_FAILURE  12
00103 #define MAPI_E_ATTACHMENT_WRITE_FAILURE 13
00104 #define MAPI_E_UNKNOWN_RECIPIENT        14
00105 #define MAPI_E_BAD_RECIPTYPE            15
00106 #define MAPI_E_NO_MESSAGES              16
00107 #define MAPI_E_INVALID_MESSAGE          17
00108 #define MAPI_E_TEXT_TOO_LARGE           18
00109 #define MAPI_E_INVALID_SESSION          19
00110 #define MAPI_E_TYPE_NOT_SUPPORTED       20
00111 #define MAPI_E_AMBIGUOUS_RECIPIENT      21
00112 #define MAPI_E_AMBIG_RECIP              MAPI_E_AMBIGUOUS_RECIPIENT
00113 #define MAPI_E_MESSAGE_IN_USE           22
00114 #define MAPI_E_NETWORK_FAILURE          23
00115 #define MAPI_E_INVALID_EDITFIELDS       24
00116 #define MAPI_E_INVALID_RECIPS           25
00117 #define MAPI_E_NOT_SUPPORTED            26
00118 
00119 
00120 /* MAPILogon */
00121 
00122 #ifndef MAPI_LOGON_UI
00123 #define MAPI_LOGON_UI           0x00000001
00124 #endif
00125 #ifndef MAPI_NEW_SESSION
00126 #define MAPI_NEW_SESSION        0x00000002
00127 #endif
00128 #ifndef MAPI_EXTENDED
00129 #define MAPI_EXTENDED           0x00000020
00130 #endif
00131 #ifndef MAPI_FORCE_DOWNLOAD
00132 #define MAPI_FORCE_DOWNLOAD     0x00001000
00133 #endif
00134 #ifndef MAPI_PASSWORD_UI
00135 #define MAPI_PASSWORD_UI        0x00020000
00136 #endif
00137 
00138 
00139 /* MAPISendMail */
00140 
00141 #define MAPI_DIALOG             0x00000008
00142 
00143 
00144 /* API typedefs and prototypes */
00145 
00146 typedef ULONG (WINAPI MAPIADDRESS)(LHANDLE,ULONG_PTR,LPSTR,ULONG,LPSTR,ULONG,lpMapiRecipDesc,FLAGS,ULONG,LPULONG,lpMapiRecipDesc*);
00147 typedef MAPIADDRESS *LPMAPIADDRESS;
00148 MAPIADDRESS MAPIAddress;
00149 
00150 typedef ULONG (WINAPI MAPIDELETEMAIL)(LHANDLE,ULONG_PTR,LPSTR,FLAGS,ULONG);
00151 typedef MAPIDELETEMAIL *LPMAPIDELETEMAIL;
00152 MAPIDELETEMAIL MAPIDeleteMail;
00153 
00154 typedef ULONG (WINAPI MAPIDETAILS)(LHANDLE,ULONG_PTR,lpMapiRecipDesc,FLAGS,ULONG);
00155 typedef MAPIDETAILS *LPMAPIDETAILS;
00156 MAPIDETAILS MAPIDetails;
00157 
00158 typedef ULONG (WINAPI MAPIFINDNEXT)(LHANDLE,ULONG_PTR,LPSTR,LPSTR,FLAGS,ULONG,LPSTR);
00159 typedef MAPIFINDNEXT *LPMAPIFINDNEXT;
00160 MAPIFINDNEXT MAPIFindNext;
00161 
00162 #ifndef MAPIFREEBUFFER_DEFINED
00163 #define MAPIFREEBUFFER_DEFINED
00164 typedef ULONG (WINAPI MAPIFREEBUFFER)(LPVOID);
00165 typedef MAPIFREEBUFFER *LPMAPIFREEBUFFER;
00166 MAPIFREEBUFFER MAPIFreeBuffer;
00167 #endif
00168 
00169 typedef ULONG (WINAPI MAPILOGOFF)(LHANDLE,ULONG_PTR,FLAGS,ULONG);
00170 typedef MAPILOGOFF *LPMAPILOGOFF;
00171 MAPILOGOFF MAPILogoff;
00172 
00173 typedef ULONG (WINAPI MAPILOGON)(ULONG_PTR,LPSTR,LPSTR,FLAGS,ULONG,LPLHANDLE);
00174 typedef MAPILOGON *LPMAPILOGON;
00175 MAPILOGON MAPILogon;
00176 
00177 typedef ULONG (WINAPI MAPIREADMAIL)(LHANDLE,ULONG_PTR,LPSTR,FLAGS,ULONG,lpMapiMessage);
00178 typedef MAPIREADMAIL *LPMAPIREADMAIL;
00179 MAPIREADMAIL MAPIReadMail;
00180 
00181 typedef ULONG (WINAPI MAPIRESOLVENAME)(LHANDLE,ULONG_PTR,LPSTR,FLAGS,ULONG,lpMapiRecipDesc*);
00182 typedef MAPIRESOLVENAME *LPMAPIRESOLVENAME;
00183 MAPIRESOLVENAME MAPIResolveName;
00184 
00185 typedef ULONG (WINAPI MAPISAVEMAIL)(LHANDLE,ULONG_PTR,lpMapiMessage,FLAGS,ULONG,LPSTR);
00186 typedef MAPISAVEMAIL *LPMAPISAVEMAIL;
00187 MAPISAVEMAIL MAPISaveMail;
00188 
00189 typedef ULONG (WINAPI MAPISENDDOCUMENTS)(ULONG_PTR,LPSTR,LPSTR,LPSTR,ULONG);
00190 typedef MAPISENDDOCUMENTS *LPMAPISENDDOCUMENTS;
00191 MAPISENDDOCUMENTS MAPISendDocuments;
00192 
00193 typedef ULONG (WINAPI MAPISENDMAIL)(LHANDLE,ULONG_PTR,lpMapiMessage,FLAGS,ULONG);
00194 typedef MAPISENDMAIL *LPMAPISENDMAIL;
00195 MAPISENDMAIL MAPISendMail;
00196 
00197 #ifdef __cplusplus
00198 }
00199 #endif
00200 
00201 #endif /* MAPI_H */

Generated on Sat May 26 2012 04:30:24 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.