ReactOS  0.4.14-dev-606-g14ebc0b
mapi.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2000 Francois Gouget
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef MAPI_H
20 #define MAPI_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /* Some types */
27 
28 #ifndef __LHANDLE
29 #define __LHANDLE
31 #endif
32 #define lhSessionNull ((LHANDLE)0)
33 
34 #ifndef WINE_FLAGS_DEFINED
35 #define WINE_FLAGS_DEFINED
36 typedef ULONG FLAGS;
37 #endif
38 typedef ULONG *LPULONG;
39 
40 typedef struct
41 {
49 
50 typedef struct
51 {
59 
60 #ifndef MAPI_ORIG
61 #define MAPI_ORIG 0
62 #define MAPI_TO 1
63 #define MAPI_CC 2
64 #define MAPI_BCC 3
65 #endif
66 
67 typedef struct
68 {
76 
77 typedef struct
78 {
86 
87 typedef struct
88 {
102 
103 typedef struct
104 {
118 
119 /* Error codes */
120 
121 #ifndef SUCCESS_SUCCESS
122 #define SUCCESS_SUCCESS 0
123 #endif
124 
125 #define MAPI_USER_ABORT 1
126 #define MAPI_E_USER_ABORT MAPI_USER_ABORT
127 #define MAPI_E_FAILURE 2
128 #define MAPI_E_LOGON_FAILURE 3
129 #define MAPI_E_LOGIN_FAILURE MAPI_E_LOGON_FAILURE
130 #define MAPI_E_DISK_FULL 4
131 #define MAPI_E_INSUFFICIENT_MEMORY 5
132 #define MAPI_E_ACCESS_DENIED 6
133 #define MAPI_E_TOO_MANY_SESSIONS 8
134 #define MAPI_E_TOO_MANY_FILES 9
135 #define MAPI_E_TOO_MANY_RECIPIENTS 10
136 #define MAPI_E_ATTACHMENT_NOT_FOUND 11
137 #define MAPI_E_ATTACHMENT_OPEN_FAILURE 12
138 #define MAPI_E_ATTACHMENT_WRITE_FAILURE 13
139 #define MAPI_E_UNKNOWN_RECIPIENT 14
140 #define MAPI_E_BAD_RECIPTYPE 15
141 #define MAPI_E_NO_MESSAGES 16
142 #define MAPI_E_INVALID_MESSAGE 17
143 #define MAPI_E_TEXT_TOO_LARGE 18
144 #define MAPI_E_INVALID_SESSION 19
145 #define MAPI_E_TYPE_NOT_SUPPORTED 20
146 #define MAPI_E_AMBIGUOUS_RECIPIENT 21
147 #define MAPI_E_AMBIG_RECIP MAPI_E_AMBIGUOUS_RECIPIENT
148 #define MAPI_E_MESSAGE_IN_USE 22
149 #define MAPI_E_NETWORK_FAILURE 23
150 #define MAPI_E_INVALID_EDITFIELDS 24
151 #define MAPI_E_INVALID_RECIPS 25
152 #define MAPI_E_NOT_SUPPORTED 26
153 #define MAPI_E_UNICODE_NOT_SUPPORTED 27
154 
155 
156 /* MAPILogon */
157 
158 #ifndef MAPI_LOGON_UI
159 #define MAPI_LOGON_UI 0x00000001
160 #endif
161 #ifndef MAPI_NEW_SESSION
162 #define MAPI_NEW_SESSION 0x00000002
163 #endif
164 #ifndef MAPI_EXTENDED
165 #define MAPI_EXTENDED 0x00000020
166 #endif
167 #ifndef MAPI_FORCE_DOWNLOAD
168 #define MAPI_FORCE_DOWNLOAD 0x00001000
169 #endif
170 #ifndef MAPI_PASSWORD_UI
171 #define MAPI_PASSWORD_UI 0x00020000
172 #endif
173 
174 
175 /* MAPISendMail */
176 
177 #define MAPI_DIALOG 0x00000008
178 
179 /* MAPISendMailW */
180 
181 #define MAPI_FORCE_UNICODE 0x00040000
182 
183 
184 /* API typedefs and prototypes */
185 
187 typedef MAPIADDRESS *LPMAPIADDRESS;
188 MAPIADDRESS MAPIAddress;
189 
190 typedef ULONG (WINAPI MAPIDELETEMAIL)(LHANDLE,ULONG_PTR,LPSTR,FLAGS,ULONG);
191 typedef MAPIDELETEMAIL *LPMAPIDELETEMAIL;
192 MAPIDELETEMAIL MAPIDeleteMail;
193 
194 typedef ULONG (WINAPI MAPIDETAILS)(LHANDLE,ULONG_PTR,lpMapiRecipDesc,FLAGS,ULONG);
195 typedef MAPIDETAILS *LPMAPIDETAILS;
196 MAPIDETAILS MAPIDetails;
197 
198 typedef ULONG (WINAPI MAPIFINDNEXT)(LHANDLE,ULONG_PTR,LPSTR,LPSTR,FLAGS,ULONG,LPSTR);
199 typedef MAPIFINDNEXT *LPMAPIFINDNEXT;
200 MAPIFINDNEXT MAPIFindNext;
201 
202 #ifndef MAPIFREEBUFFER_DEFINED
203 #define MAPIFREEBUFFER_DEFINED
204 typedef ULONG (WINAPI MAPIFREEBUFFER)(LPVOID);
205 typedef MAPIFREEBUFFER *LPMAPIFREEBUFFER;
206 MAPIFREEBUFFER MAPIFreeBuffer;
207 #endif
208 
209 typedef ULONG (WINAPI MAPILOGOFF)(LHANDLE,ULONG_PTR,FLAGS,ULONG);
210 typedef MAPILOGOFF *LPMAPILOGOFF;
211 MAPILOGOFF MAPILogoff;
212 
213 typedef ULONG (WINAPI MAPILOGON)(ULONG_PTR,LPSTR,LPSTR,FLAGS,ULONG,LPLHANDLE);
214 typedef MAPILOGON *LPMAPILOGON;
215 MAPILOGON MAPILogon;
216 
218 typedef MAPIREADMAIL *LPMAPIREADMAIL;
219 MAPIREADMAIL MAPIReadMail;
220 
222 typedef MAPIRESOLVENAME *LPMAPIRESOLVENAME;
223 MAPIRESOLVENAME MAPIResolveName;
224 
225 typedef ULONG (WINAPI MAPISAVEMAIL)(LHANDLE,ULONG_PTR,lpMapiMessage,FLAGS,ULONG,LPSTR);
226 typedef MAPISAVEMAIL *LPMAPISAVEMAIL;
227 MAPISAVEMAIL MAPISaveMail;
228 
229 typedef ULONG (WINAPI MAPISENDDOCUMENTS)(ULONG_PTR,LPSTR,LPSTR,LPSTR,ULONG);
230 typedef MAPISENDDOCUMENTS *LPMAPISENDDOCUMENTS;
231 MAPISENDDOCUMENTS MAPISendDocuments;
232 
233 typedef ULONG (WINAPI MAPISENDMAIL)(LHANDLE,ULONG_PTR,lpMapiMessage,FLAGS,ULONG);
234 typedef MAPISENDMAIL *LPMAPISENDMAIL;
235 MAPISENDMAIL MAPISendMail;
236 
238 typedef MAPISENDMAILW *LPMAPISENDMAILW;
239 MAPISENDMAILW MAPISendMailW;
240 
241 #ifdef __cplusplus
242 }
243 #endif
244 
245 #endif /* MAPI_H */
LPSTR lpszName
Definition: mapi.h:71
ULONG ulEIDSize
Definition: mapi.h:83
ULONG ulReserved
Definition: mapi.h:42
MAPIREADMAIL MAPIReadMail
Definition: mapi.h:219
MAPISAVEMAIL MAPISaveMail
Definition: mapi.h:227
ULONG ulReserved
Definition: mapi.h:105
LPSTR lpszPathName
Definition: mapi.h:45
uint16_t * PWSTR
Definition: typedefs.h:54
PWSTR lpszFileName
Definition: mapi.h:56
lpMapiRecipDesc *typedef MAPIRESOLVENAME * LPMAPIRESOLVENAME
Definition: mapi.h:221
MAPIRESOLVENAME MAPIResolveName
Definition: mapi.h:223
lpMapiRecipDesc lpOriginator
Definition: mapi.h:96
char * LPSTR
Definition: xmlstorage.h:182
ULONG nPosition
Definition: mapi.h:44
ULONG ulReserved
Definition: mapi.h:52
typedef LPSTR
Definition: mapi.h:186
typedef ULONG_PTR
Definition: mapi.h:186
MAPISENDMAILW * LPMAPISENDMAILW
Definition: mapi.h:238
PWSTR lpszName
Definition: mapi.h:81
ULONG_PTR * LPLHANDLE
Definition: mapi.h:30
uint32_t ULONG_PTR
Definition: typedefs.h:63
lpMapiFileDesc lpFiles
Definition: mapi.h:100
LPSTR lpszAddress
Definition: mapi.h:72
PWSTR lpszNoteText
Definition: mapi.h:107
struct MapiMessageW * lpMapiMessageW
Definition: mapi.h:237
MAPIFREEBUFFER MAPIFreeBuffer
Definition: mapi.h:206
MAPILOGON * LPMAPILOGON
Definition: mapi.h:214
lpMapiRecipDesc lpRecips
Definition: mapi.h:98
lpMapiRecipDescW lpOriginator
Definition: mapi.h:112
PWSTR lpszSubject
Definition: mapi.h:106
ULONG_PTR LHANDLE
Definition: mapi.h:30
MAPIDETAILS MAPIDetails
Definition: mapi.h:196
MAPIDELETEMAIL MAPIDeleteMail
Definition: mapi.h:192
MAPISENDDOCUMENTS MAPISendDocuments
Definition: mapi.h:231
MAPILOGON MAPILogon
Definition: mapi.h:215
LPSTR lpszFileName
Definition: mapi.h:46
ULONG ulReserved
Definition: mapi.h:89
LPSTR lpszNoteText
Definition: mapi.h:91
MAPISENDDOCUMENTS * LPMAPISENDDOCUMENTS
Definition: mapi.h:230
ULONG ulReserved
Definition: mapi.h:69
MAPIADDRESS MAPIAddress
Definition: mapi.h:188
PWSTR lpszMessageType
Definition: mapi.h:108
PWSTR lpszConversationID
Definition: mapi.h:110
lpMapiRecipDesc *typedef MAPIADDRESS * LPMAPIADDRESS
Definition: mapi.h:186
#define WINAPI
Definition: msvc.h:6
FLAGS flFlags
Definition: mapi.h:95
LPSTR lpszMessageType
Definition: mapi.h:92
#define LPVOID
Definition: nt_native.h:45
typedef ULONG
Definition: mapi.h:186
PVOID lpFileType
Definition: mapi.h:57
ULONG ulRecipClass
Definition: mapi.h:80
struct MapiRecipDescW * lpMapiRecipDescW
PVOID lpEntryID
Definition: mapi.h:84
LPSTR lpszConversationID
Definition: mapi.h:94
MAPISENDMAIL MAPISendMail
Definition: mapi.h:235
MAPIFINDNEXT * LPMAPIFINDNEXT
Definition: mapi.h:199
MAPILOGOFF MAPILogoff
Definition: mapi.h:211
MAPIREADMAIL * LPMAPIREADMAIL
Definition: mapi.h:218
ULONG ulEIDSize
Definition: mapi.h:73
MAPIDELETEMAIL * LPMAPIDELETEMAIL
Definition: mapi.h:191
lpMapiFileDescW lpFiles
Definition: mapi.h:116
LPVOID lpEntryID
Definition: mapi.h:74
ULONG flFlags
Definition: mapi.h:43
MAPISENDMAIL * LPMAPISENDMAIL
Definition: mapi.h:234
ULONG nFileCount
Definition: mapi.h:99
ULONG * LPULONG
Definition: mapi.h:38
struct MapiRecipDesc * lpMapiRecipDesc
Definition: mapi.h:186
LPVOID lpFileType
Definition: mapi.h:47
ULONG flFlags
Definition: mapi.h:53
ULONG ulReserved
Definition: mapi.h:79
MAPISAVEMAIL * LPMAPISAVEMAIL
Definition: mapi.h:226
MAPILOGOFF * LPMAPILOGOFF
Definition: mapi.h:210
lpMapiRecipDescW lpRecips
Definition: mapi.h:114
struct MapiFileDesc * lpMapiFileDesc
FLAGS flFlags
Definition: mapi.h:111
ULONG nPosition
Definition: mapi.h:54
ULONG nRecipCount
Definition: mapi.h:113
ULONG ulRecipClass
Definition: mapi.h:70
PWSTR lpszPathName
Definition: mapi.h:55
unsigned int ULONG
Definition: retypes.h:1
struct MapiMessage * lpMapiMessage
Definition: mapi.h:217
ULONG nRecipCount
Definition: mapi.h:97
ULONG nFileCount
Definition: mapi.h:115
PWSTR lpszAddress
Definition: mapi.h:82
ULONG FLAGS
Definition: mapi.h:36
MAPIFINDNEXT MAPIFindNext
Definition: mapi.h:200
LPSTR lpszSubject
Definition: mapi.h:90
LPSTR lpszDateReceived
Definition: mapi.h:93
struct MapiFileDescW * lpMapiFileDescW
MAPIDETAILS * LPMAPIDETAILS
Definition: mapi.h:195
PWSTR lpszDateReceived
Definition: mapi.h:109
MAPIFREEBUFFER * LPMAPIFREEBUFFER
Definition: mapi.h:205
MAPISENDMAILW MAPISendMailW
Definition: mapi.h:239