2 * Copyright (C) 2000 Francois Gouget
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.
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.
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
30 typedef ULONG_PTR LHANDLE
, *LPLHANDLE
;
32 #define lhSessionNull ((LHANDLE)0)
34 #ifndef WINE_FLAGS_DEFINED
35 #define WINE_FLAGS_DEFINED
38 typedef ULONG
*LPULONG
;
48 } MapiFileDesc
, *lpMapiFileDesc
;
58 } MapiFileDescW
, *lpMapiFileDescW
;
75 } MapiRecipDesc
, *lpMapiRecipDesc
;
85 } MapiRecipDescW
, *lpMapiRecipDescW
;
92 LPSTR lpszMessageType
;
93 LPSTR lpszDateReceived
;
94 LPSTR lpszConversationID
;
96 lpMapiRecipDesc lpOriginator
;
98 lpMapiRecipDesc lpRecips
;
100 lpMapiFileDesc lpFiles
;
101 } MapiMessage
, *lpMapiMessage
;
108 PWSTR lpszMessageType
;
109 PWSTR lpszDateReceived
;
110 PWSTR lpszConversationID
;
112 lpMapiRecipDescW lpOriginator
;
114 lpMapiRecipDescW lpRecips
;
116 lpMapiFileDescW lpFiles
;
117 } MapiMessageW
, *lpMapiMessageW
;
121 #ifndef SUCCESS_SUCCESS
122 #define SUCCESS_SUCCESS 0
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
158 #ifndef MAPI_LOGON_UI
159 #define MAPI_LOGON_UI 0x00000001
161 #ifndef MAPI_NEW_SESSION
162 #define MAPI_NEW_SESSION 0x00000002
164 #ifndef MAPI_EXTENDED
165 #define MAPI_EXTENDED 0x00000020
167 #ifndef MAPI_FORCE_DOWNLOAD
168 #define MAPI_FORCE_DOWNLOAD 0x00001000
170 #ifndef MAPI_PASSWORD_UI
171 #define MAPI_PASSWORD_UI 0x00020000
177 #define MAPI_DIALOG 0x00000008
181 #define MAPI_FORCE_UNICODE 0x00040000
184 /* API typedefs and prototypes */
186 typedef ULONG (WINAPI MAPIADDRESS
)(LHANDLE
,ULONG_PTR
,LPSTR
,ULONG
,LPSTR
,ULONG
,lpMapiRecipDesc
,FLAGS
,ULONG
,LPULONG
,lpMapiRecipDesc
*);
187 typedef MAPIADDRESS
*LPMAPIADDRESS
;
188 MAPIADDRESS MAPIAddress
;
190 typedef ULONG (WINAPI MAPIDELETEMAIL
)(LHANDLE
,ULONG_PTR
,LPSTR
,FLAGS
,ULONG
);
191 typedef MAPIDELETEMAIL
*LPMAPIDELETEMAIL
;
192 MAPIDELETEMAIL MAPIDeleteMail
;
194 typedef ULONG (WINAPI MAPIDETAILS
)(LHANDLE
,ULONG_PTR
,lpMapiRecipDesc
,FLAGS
,ULONG
);
195 typedef MAPIDETAILS
*LPMAPIDETAILS
;
196 MAPIDETAILS MAPIDetails
;
198 typedef ULONG (WINAPI MAPIFINDNEXT
)(LHANDLE
,ULONG_PTR
,LPSTR
,LPSTR
,FLAGS
,ULONG
,LPSTR
);
199 typedef MAPIFINDNEXT
*LPMAPIFINDNEXT
;
200 MAPIFINDNEXT MAPIFindNext
;
202 #ifndef MAPIFREEBUFFER_DEFINED
203 #define MAPIFREEBUFFER_DEFINED
204 typedef ULONG (WINAPI MAPIFREEBUFFER
)(LPVOID
);
205 typedef MAPIFREEBUFFER
*LPMAPIFREEBUFFER
;
206 MAPIFREEBUFFER MAPIFreeBuffer
;
209 typedef ULONG (WINAPI MAPILOGOFF
)(LHANDLE
,ULONG_PTR
,FLAGS
,ULONG
);
210 typedef MAPILOGOFF
*LPMAPILOGOFF
;
211 MAPILOGOFF MAPILogoff
;
213 typedef ULONG (WINAPI MAPILOGON
)(ULONG_PTR
,LPSTR
,LPSTR
,FLAGS
,ULONG
,LPLHANDLE
);
214 typedef MAPILOGON
*LPMAPILOGON
;
217 typedef ULONG (WINAPI MAPIREADMAIL
)(LHANDLE
,ULONG_PTR
,LPSTR
,FLAGS
,ULONG
,lpMapiMessage
);
218 typedef MAPIREADMAIL
*LPMAPIREADMAIL
;
219 MAPIREADMAIL MAPIReadMail
;
221 typedef ULONG (WINAPI MAPIRESOLVENAME
)(LHANDLE
,ULONG_PTR
,LPSTR
,FLAGS
,ULONG
,lpMapiRecipDesc
*);
222 typedef MAPIRESOLVENAME
*LPMAPIRESOLVENAME
;
223 MAPIRESOLVENAME MAPIResolveName
;
225 typedef ULONG (WINAPI MAPISAVEMAIL
)(LHANDLE
,ULONG_PTR
,lpMapiMessage
,FLAGS
,ULONG
,LPSTR
);
226 typedef MAPISAVEMAIL
*LPMAPISAVEMAIL
;
227 MAPISAVEMAIL MAPISaveMail
;
229 typedef ULONG (WINAPI MAPISENDDOCUMENTS
)(ULONG_PTR
,LPSTR
,LPSTR
,LPSTR
,ULONG
);
230 typedef MAPISENDDOCUMENTS
*LPMAPISENDDOCUMENTS
;
231 MAPISENDDOCUMENTS MAPISendDocuments
;
233 typedef ULONG (WINAPI MAPISENDMAIL
)(LHANDLE
,ULONG_PTR
,lpMapiMessage
,FLAGS
,ULONG
);
234 typedef MAPISENDMAIL
*LPMAPISENDMAIL
;
235 MAPISENDMAIL MAPISendMail
;
237 typedef ULONG (WINAPI MAPISENDMAILW
)(LHANDLE
,ULONG_PTR
,lpMapiMessageW
,FLAGS
,ULONG
);
238 typedef MAPISENDMAILW
*LPMAPISENDMAILW
;
239 MAPISENDMAILW MAPISendMailW
;