Mercurial > projects > ddbg_continued
comparison win32/mapi.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * mapi.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Translated from MinGW Windows headers * | |
7 * by Stewart Gordon * | |
8 * * | |
9 * Placed into public domain * | |
10 \***********************************************************************/ | |
11 module win32.mapi; | |
12 | |
13 private import win32.windef; | |
14 | |
15 // FIXME: check types and grouping of constants | |
16 | |
17 enum { | |
18 SUCCESS_SUCCESS, | |
19 MAPI_USER_ABORT, | |
20 MAPI_E_USER_ABORT = MAPI_USER_ABORT, | |
21 MAPI_E_FAILURE, | |
22 MAPI_E_LOGIN_FAILURE, | |
23 MAPI_E_LOGON_FAILURE = MAPI_E_LOGIN_FAILURE, | |
24 MAPI_E_DISK_FULL = 4, | |
25 MAPI_E_INSUFFICIENT_MEMORY, | |
26 MAPI_E_ACCESS_DENIED, | |
27 MAPI_E_BLK_TOO_SMALL = MAPI_E_ACCESS_DENIED, // = 6 | |
28 MAPI_E_TOO_MANY_SESSIONS = 8, | |
29 MAPI_E_TOO_MANY_FILES, | |
30 MAPI_E_TOO_MANY_RECIPIENTS, | |
31 MAPI_E_ATTACHMENT_NOT_FOUND, | |
32 MAPI_E_ATTACHMENT_OPEN_FAILURE, | |
33 MAPI_E_ATTACHMENT_WRITE_FAILURE, | |
34 MAPI_E_UNKNOWN_RECIPIENT, | |
35 MAPI_E_BAD_RECIPTYPE, | |
36 MAPI_E_NO_MESSAGES, | |
37 MAPI_E_INVALID_MESSAGE, | |
38 MAPI_E_TEXT_TOO_LARGE, | |
39 MAPI_E_INVALID_SESSION, | |
40 MAPI_E_TYPE_NOT_SUPPORTED, | |
41 MAPI_E_AMBIGUOUS_RECIPIENT, | |
42 MAPI_E_AMBIGUOUS_RECIP = MAPI_E_AMBIGUOUS_RECIPIENT, | |
43 MAPI_E_MESSAGE_IN_USE, | |
44 MAPI_E_NETWORK_FAILURE, | |
45 MAPI_E_INVALID_EDITFIELDS, | |
46 MAPI_E_INVALID_RECIPS, | |
47 MAPI_E_NOT_SUPPORTED // = 26 | |
48 } | |
49 | |
50 enum { | |
51 MAPI_ORIG, | |
52 MAPI_TO, | |
53 MAPI_CC, | |
54 MAPI_BCC | |
55 } | |
56 | |
57 const MAPI_LOGON_UI = 0x0001; | |
58 const MAPI_NEW_SESSION = 0x0002; | |
59 const MAPI_FORCE_DOWNLOAD = 0x1000; | |
60 const MAPI_LOGOFF_SHARED = 0x0001; | |
61 const MAPI_LOGOFF_UI = 0x0002; | |
62 const MAPI_DIALOG = 0x0008; | |
63 const MAPI_UNREAD_ONLY = 0x0020; | |
64 const MAPI_LONG_MSGID = 0x4000; | |
65 const MAPI_GUARANTEE_FIFO = 0x0100; | |
66 const MAPI_ENVELOPE_ONLY = 0x0040; | |
67 const MAPI_PEEK = 0x0080; | |
68 const MAPI_BODY_AS_FILE = 0x0200; | |
69 const MAPI_SUPPRESS_ATTACH = 0x0800; | |
70 const MAPI_AB_NOMODIFY = 0x0400; | |
71 const MAPI_OLE = 0x0001; | |
72 const MAPI_OLE_STATIC = 0x0002; | |
73 const MAPI_UNREAD = 0x0001; | |
74 const MAPI_RECEIPT_REQUESTED = 0x0002; | |
75 const MAPI_SENT = 0x0004; | |
76 | |
77 alias uint FLAGS, LHANDLE; | |
78 alias uint* LPLHANDLE, LPULONG; | |
79 | |
80 struct MapiRecipDesc { | |
81 ULONG ulReserved; | |
82 ULONG ulRecipClass; | |
83 LPSTR lpszName; | |
84 LPSTR lpszAddress; | |
85 ULONG ulEIDSize; | |
86 LPVOID lpEntryID; | |
87 } | |
88 alias MapiRecipDesc* lpMapiRecipDesc; | |
89 | |
90 struct MapiFileDesc { | |
91 ULONG ulReserved; | |
92 ULONG flFlags; | |
93 ULONG nPosition; | |
94 LPSTR lpszPathName; | |
95 LPSTR lpszFileName; | |
96 LPVOID lpFileType; | |
97 } | |
98 alias MapiFileDesc* lpMapiFileDesc; | |
99 | |
100 struct MapiFileTagExt { | |
101 ULONG ulReserved; | |
102 ULONG cbTag; | |
103 LPBYTE lpTag; | |
104 ULONG cbEncoding; | |
105 LPBYTE lpEncoding; | |
106 } | |
107 alias MapiFileTagExt* lpMapiFileTagExt; | |
108 | |
109 struct MapiMessage { | |
110 ULONG ulReserved; | |
111 LPSTR lpszSubject; | |
112 LPSTR lpszNoteText; | |
113 LPSTR lpszMessageType; | |
114 LPSTR lpszDateReceived; | |
115 LPSTR lpszConversationID; | |
116 FLAGS flFlags; | |
117 lpMapiRecipDesc lpOriginator; | |
118 ULONG nRecipCount; | |
119 lpMapiRecipDesc lpRecips; | |
120 ULONG nFileCount; | |
121 lpMapiFileDesc lpFiles; | |
122 } | |
123 alias MapiMessage* lpMapiMessage; | |
124 | |
125 extern (Pascal) { | |
126 ULONG MAPILogon(ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE); | |
127 ULONG MAPISendMail(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG); | |
128 ULONG MAPISendDocuments(ULONG, LPSTR, LPSTR, LPSTR, ULONG); | |
129 ULONG MAPIReadMail(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, lpMapiMessage*); | |
130 ULONG MAPIFindNext(LHANDLE, ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPSTR); | |
131 ULONG MAPIResolveName(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, | |
132 lpMapiRecipDesc*); | |
133 ULONG MAPIAddress(LHANDLE, ULONG, LPSTR, ULONG, LPSTR, ULONG, | |
134 lpMapiRecipDesc, FLAGS, ULONG, LPULONG, lpMapiRecipDesc*); | |
135 ULONG MAPIFreeBuffer(LPVOID); | |
136 ULONG MAPIDetails(LHANDLE, ULONG, lpMapiRecipDesc, FLAGS, ULONG); | |
137 ULONG MAPISaveMail(LHANDLE, ULONG, lpMapiMessage lpszMessage, FLAGS, | |
138 ULONG, LPSTR); | |
139 ULONG MAPIDeleteMail(LHANDLE lpSession, ULONG, LPSTR, FLAGS, ULONG); | |
140 ULONG MAPILogoff(LHANDLE, ULONG, FLAGS, ULONG); | |
141 // Netscape extensions | |
142 ULONG MAPIGetNetscapeVersion(); | |
143 ULONG MAPI_NSCP_SynchronizeClient(LHANDLE, ULONG); | |
144 | |
145 // Handles for use with GetProcAddress | |
146 alias ULONG function(ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE) | |
147 LPMAPILOGON; | |
148 alias ULONG function(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG) | |
149 LPMAPISENDMAIL; | |
150 alias ULONG function(ULONG, LPSTR, LPSTR, LPSTR, ULONG) | |
151 LPMAPISENDDOCUMENTS; | |
152 alias ULONG function(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, lpMapiMessage*) | |
153 LPMAPIREADMAIL; | |
154 alias ULONG function(LHANDLE, ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPSTR) | |
155 LPMAPIFINDNEXT; | |
156 alias ULONG function(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, | |
157 lpMapiRecipDesc*) LPMAPIRESOLVENAME; | |
158 alias ULONG function(LHANDLE, ULONG, LPSTR, ULONG, LPSTR, ULONG, | |
159 lpMapiRecipDesc, FLAGS, ULONG, LPULONG, lpMapiRecipDesc*) LPMAPIADDRESS; | |
160 alias ULONG function(LPVOID lpv) LPMAPIFREEBUFFER; | |
161 alias ULONG function(LHANDLE, ULONG, lpMapiRecipDesc, FLAGS, ULONG) | |
162 LPMAPIDETAILS; | |
163 alias ULONG function(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG, LPSTR) | |
164 LPMAPISAVEMAIL; | |
165 alias ULONG function(LHANDLE lpSession, ULONG, LPSTR, FLAGS, ULONG) | |
166 LPMAPIDELETEMAIL; | |
167 alias ULONG function(LHANDLE, ULONG, FLAGS, ULONG) LPMAPILOGOFF; | |
168 } |