|
1 #ifndef _MAPI_H |
|
2 #define _MAPI_H |
|
3 #if __GNUC__ >=3 |
|
4 #pragma GCC system_header |
|
5 #endif |
|
6 |
|
7 #ifdef __cplusplus |
|
8 extern "C" { |
|
9 #endif |
|
10 |
|
11 #define SUCCESS_SUCCESS 0 |
|
12 #define MAPI_USER_ABORT 1 |
|
13 #define MAPI_E_USER_ABORT 1 |
|
14 #define MAPI_E_FAILURE 2 |
|
15 #define MAPI_E_LOGIN_FAILURE 3 |
|
16 #define MAPI_E_LOGON_FAILURE 3 |
|
17 #define MAPI_E_DISK_FULL 4 |
|
18 #define MAPI_E_INSUFFICIENT_MEMORY 5 |
|
19 #define MAPI_E_ACCESS_DENIED 6 |
|
20 #define MAPI_E_BLK_TOO_SMALL 6 |
|
21 #define MAPI_E_TOO_MANY_SESSIONS 8 |
|
22 #define MAPI_E_TOO_MANY_FILES 9 |
|
23 #define MAPI_E_TOO_MANY_RECIPIENTS 10 |
|
24 #define MAPI_E_ATTACHMENT_NOT_FOUND 11 |
|
25 #define MAPI_E_ATTACHMENT_OPEN_FAILURE 12 |
|
26 #define MAPI_E_ATTACHMENT_WRITE_FAILURE 13 |
|
27 #define MAPI_E_UNKNOWN_RECIPIENT 14 |
|
28 #define MAPI_E_BAD_RECIPTYPE 15 |
|
29 #define MAPI_E_NO_MESSAGES 16 |
|
30 #define MAPI_E_INVALID_MESSAGE 17 |
|
31 #define MAPI_E_TEXT_TOO_LARGE 18 |
|
32 #define MAPI_E_INVALID_SESSION 19 |
|
33 #define MAPI_E_TYPE_NOT_SUPPORTED 20 |
|
34 #define MAPI_E_AMBIGUOUS_RECIPIENT 21 |
|
35 #define MAPI_E_AMBIGUOUS_RECIP 21 |
|
36 #define MAPI_E_MESSAGE_IN_USE 22 |
|
37 #define MAPI_E_NETWORK_FAILURE 23 |
|
38 #define MAPI_E_INVALID_EDITFIELDS 24 |
|
39 #define MAPI_E_INVALID_RECIPS 25 |
|
40 #define MAPI_E_NOT_SUPPORTED 26 |
|
41 |
|
42 #define MAPI_ORIG 0 |
|
43 #define MAPI_TO 1 |
|
44 #define MAPI_CC 2 |
|
45 #define MAPI_BCC 3 |
|
46 |
|
47 #define MAPI_LOGON_UI 0x0001 |
|
48 #define MAPI_NEW_SESSION 0x0002 |
|
49 #define MAPI_FORCE_DOWNLOAD 0x1000 |
|
50 #define MAPI_LOGOFF_SHARED 0x0001 |
|
51 #define MAPI_LOGOFF_UI 0x0002 |
|
52 #define MAPI_DIALOG 0x0008 |
|
53 #define MAPI_UNREAD_ONLY 0x0020 |
|
54 #define MAPI_LONG_MSGID 0x4000 |
|
55 #define MAPI_GUARANTEE_FIFO 0x0100 |
|
56 #define MAPI_ENVELOPE_ONLY 0x0040 |
|
57 #define MAPI_PEEK 0x0080 |
|
58 #define MAPI_BODY_AS_FILE 0x0200 |
|
59 #define MAPI_SUPPRESS_ATTACH 0x0800 |
|
60 #define MAPI_AB_NOMODIFY 0x0400 |
|
61 #define MAPI_OLE 0x0001 |
|
62 #define MAPI_OLE_STATIC 0x0002 |
|
63 #define MAPI_UNREAD 0x0001 |
|
64 #define MAPI_RECEIPT_REQUESTED 0x0002 |
|
65 #define MAPI_SENT 0x0004 |
|
66 |
|
67 #ifndef RC_INVOKED |
|
68 typedef unsigned long FLAGS; |
|
69 typedef unsigned long LHANDLE; |
|
70 typedef unsigned long FAR *LPLHANDLE, FAR *LPULONG; |
|
71 |
|
72 typedef struct { |
|
73 ULONG ulReserved; |
|
74 ULONG ulRecipClass; |
|
75 LPSTR lpszName; |
|
76 LPSTR lpszAddress; |
|
77 ULONG ulEIDSize; |
|
78 LPVOID lpEntryID; |
|
79 } MapiRecipDesc, *lpMapiRecipDesc; |
|
80 typedef struct { |
|
81 ULONG ulReserved; |
|
82 ULONG flFlags; |
|
83 ULONG nPosition; |
|
84 LPSTR lpszPathName; |
|
85 LPSTR lpszFileName; |
|
86 LPVOID lpFileType; |
|
87 } MapiFileDesc, *lpMapiFileDesc; |
|
88 typedef struct { |
|
89 ULONG ulReserved; |
|
90 ULONG cbTag; |
|
91 LPBYTE lpTag; |
|
92 ULONG cbEncoding; |
|
93 LPBYTE lpEncoding; |
|
94 } MapiFileTagExt, *lpMapiFileTagExt; |
|
95 typedef struct { |
|
96 ULONG ulReserved; |
|
97 LPSTR lpszSubject; |
|
98 LPSTR lpszNoteText; |
|
99 LPSTR lpszMessageType; |
|
100 LPSTR lpszDateReceived; |
|
101 LPSTR lpszConversationID; |
|
102 FLAGS flFlags; |
|
103 lpMapiRecipDesc lpOriginator; |
|
104 ULONG nRecipCount; |
|
105 lpMapiRecipDesc lpRecips; |
|
106 ULONG nFileCount; |
|
107 lpMapiFileDesc lpFiles; |
|
108 } MapiMessage, *lpMapiMessage; |
|
109 |
|
110 ULONG PASCAL MAPILogon (ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPLHANDLE); |
|
111 ULONG PASCAL MAPISendMail (LHANDLE,ULONG,lpMapiMessage,FLAGS,ULONG); |
|
112 ULONG PASCAL MAPISendDocuments (ULONG,LPSTR,LPSTR,LPSTR,ULONG); |
|
113 ULONG PASCAL MAPIReadMail (LHANDLE,ULONG,LPSTR,FLAGS,ULONG, |
|
114 lpMapiMessage*); |
|
115 ULONG PASCAL MAPIFindNext (LHANDLE,ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPSTR); |
|
116 ULONG PASCAL MAPIResolveName (LHANDLE,ULONG,LPSTR,FLAGS,ULONG, |
|
117 lpMapiRecipDesc*); |
|
118 ULONG PASCAL MAPIAddress (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,ULONG, |
|
119 lpMapiRecipDesc,FLAGS,ULONG,LPULONG, |
|
120 lpMapiRecipDesc*); |
|
121 ULONG PASCAL MAPIFreeBuffer (LPVOID); |
|
122 ULONG PASCAL MAPIDetails (LHANDLE,ULONG,lpMapiRecipDesc,FLAGS,ULONG); |
|
123 ULONG PASCAL MAPISaveMail (LHANDLE,ULONG,lpMapiMessage lpszMessage, |
|
124 FLAGS,ULONG,LPSTR); |
|
125 ULONG PASCAL MAPIDeleteMail (LHANDLE lpSession,ULONG,LPSTR,FLAGS,ULONG); |
|
126 ULONG PASCAL MAPILogoff (LHANDLE,ULONG,FLAGS,ULONG); |
|
127 /* Netscape extensions. */ |
|
128 ULONG PASCAL MAPIGetNetscapeVersion (void); |
|
129 ULONG PASCAL MAPI_NSCP_SynchronizeClient (LHANDLE,ULONG); |
|
130 |
|
131 /* Handles for use with GetProcAddress */ |
|
132 typedef ULONG (PASCAL * LPMAPILOGON) (ULONG,LPSTR,LPSTR,FLAGS,ULONG, |
|
133 LPLHANDLE); |
|
134 typedef ULONG (PASCAL * LPMAPISENDMAIL) (LHANDLE,ULONG,lpMapiMessage, |
|
135 FLAGS,ULONG); |
|
136 typedef ULONG (PASCAL * LPMAPISENDDOCUMENTS) (ULONG,LPSTR,LPSTR, |
|
137 LPSTR,ULONG); |
|
138 typedef ULONG (PASCAL * LPMAPIREADMAIL) (LHANDLE,ULONG,LPSTR,FLAGS, |
|
139 ULONG,lpMapiMessage*); |
|
140 typedef ULONG (PASCAL * LPMAPIFINDNEXT) (LHANDLE,ULONG,LPSTR,LPSTR, |
|
141 FLAGS,ULONG,LPSTR); |
|
142 typedef ULONG (PASCAL * LPMAPIRESOLVENAME) (LHANDLE,ULONG,LPSTR,FLAGS, |
|
143 ULONG,lpMapiRecipDesc*); |
|
144 typedef ULONG (PASCAL * LPMAPIADDRESS) (LHANDLE,ULONG,LPSTR,ULONG,LPSTR, |
|
145 ULONG,lpMapiRecipDesc,FLAGS,ULONG, |
|
146 LPULONG,lpMapiRecipDesc*); |
|
147 typedef ULONG (PASCAL * LPMAPIFREEBUFFER) (LPVOID lpv); |
|
148 typedef ULONG (PASCAL * LPMAPIDETAILS) (LHANDLE,ULONG,lpMapiRecipDesc, |
|
149 FLAGS,ULONG); |
|
150 typedef ULONG (PASCAL * LPMAPISAVEMAIL) (LHANDLE,ULONG,lpMapiMessage, |
|
151 FLAGS,ULONG,LPSTR); |
|
152 typedef ULONG (PASCAL * LPMAPIDELETEMAIL) (LHANDLE lpSession,ULONG, |
|
153 LPSTR, FLAGS,ULONG); |
|
154 typedef ULONG (PASCAL * LPMAPILOGOFF)(LHANDLE,ULONG,FLAGS,ULONG); |
|
155 |
|
156 #endif /* RC_INVOKED */ |
|
157 |
|
158 #ifdef __cplusplus |
|
159 } |
|
160 #endif |
|
161 |
|
162 #endif /* Not _MAPI_H */ |
|
163 |