File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                                 mapi.d                                *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                           by Stewart Gordon                           *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.mapi;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // FIXME: check types and grouping of constants
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	SUCCESS_SUCCESS,
4e2933c620 2015-04-21        kinaba: 	MAPI_USER_ABORT,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_USER_ABORT        = MAPI_USER_ABORT,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_FAILURE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_LOGIN_FAILURE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_LOGON_FAILURE     = MAPI_E_LOGIN_FAILURE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_DISK_FULL	     = 4,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_INSUFFICIENT_MEMORY,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_ACCESS_DENIED,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_BLK_TOO_SMALL     = MAPI_E_ACCESS_DENIED, // = 6
4e2933c620 2015-04-21        kinaba: 	MAPI_E_TOO_MANY_SESSIONS = 8,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_TOO_MANY_FILES,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_TOO_MANY_RECIPIENTS,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_ATTACHMENT_NOT_FOUND,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_ATTACHMENT_OPEN_FAILURE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_ATTACHMENT_WRITE_FAILURE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_UNKNOWN_RECIPIENT,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_BAD_RECIPTYPE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_NO_MESSAGES,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_INVALID_MESSAGE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_TEXT_TOO_LARGE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_INVALID_SESSION,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_TYPE_NOT_SUPPORTED,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_AMBIGUOUS_RECIPIENT,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_AMBIGUOUS_RECIP   = MAPI_E_AMBIGUOUS_RECIPIENT,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_MESSAGE_IN_USE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_NETWORK_FAILURE,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_INVALID_EDITFIELDS,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_INVALID_RECIPS,
4e2933c620 2015-04-21        kinaba: 	MAPI_E_NOT_SUPPORTED  // = 26
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	MAPI_ORIG,
4e2933c620 2015-04-21        kinaba: 	MAPI_TO,
4e2933c620 2015-04-21        kinaba: 	MAPI_CC,
4e2933c620 2015-04-21        kinaba: 	MAPI_BCC
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const MAPI_LOGON_UI          = 0x0001;
4e2933c620 2015-04-21        kinaba: const MAPI_NEW_SESSION       = 0x0002;
4e2933c620 2015-04-21        kinaba: const MAPI_FORCE_DOWNLOAD    = 0x1000;
4e2933c620 2015-04-21        kinaba: const MAPI_LOGOFF_SHARED     = 0x0001;
4e2933c620 2015-04-21        kinaba: const MAPI_LOGOFF_UI         = 0x0002;
4e2933c620 2015-04-21        kinaba: const MAPI_DIALOG            = 0x0008;
4e2933c620 2015-04-21        kinaba: const MAPI_UNREAD_ONLY       = 0x0020;
4e2933c620 2015-04-21        kinaba: const MAPI_LONG_MSGID        = 0x4000;
4e2933c620 2015-04-21        kinaba: const MAPI_GUARANTEE_FIFO    = 0x0100;
4e2933c620 2015-04-21        kinaba: const MAPI_ENVELOPE_ONLY     = 0x0040;
4e2933c620 2015-04-21        kinaba: const MAPI_PEEK              = 0x0080;
4e2933c620 2015-04-21        kinaba: const MAPI_BODY_AS_FILE      = 0x0200;
4e2933c620 2015-04-21        kinaba: const MAPI_SUPPRESS_ATTACH   = 0x0800;
4e2933c620 2015-04-21        kinaba: const MAPI_AB_NOMODIFY       = 0x0400;
4e2933c620 2015-04-21        kinaba: const MAPI_OLE               = 0x0001;
4e2933c620 2015-04-21        kinaba: const MAPI_OLE_STATIC        = 0x0002;
4e2933c620 2015-04-21        kinaba: const MAPI_UNREAD            = 0x0001;
4e2933c620 2015-04-21        kinaba: const MAPI_RECEIPT_REQUESTED = 0x0002;
4e2933c620 2015-04-21        kinaba: const MAPI_SENT              = 0x0004;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias uint FLAGS, LHANDLE;
4e2933c620 2015-04-21        kinaba: alias uint* LPLHANDLE, LPULONG;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MapiRecipDesc {
4e2933c620 2015-04-21        kinaba: 	ULONG  ulReserved;
4e2933c620 2015-04-21        kinaba: 	ULONG  ulRecipClass;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszName;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszAddress;
4e2933c620 2015-04-21        kinaba: 	ULONG  ulEIDSize;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpEntryID;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MapiRecipDesc* lpMapiRecipDesc;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MapiFileDesc {
4e2933c620 2015-04-21        kinaba: 	ULONG  ulReserved;
4e2933c620 2015-04-21        kinaba: 	ULONG  flFlags;
4e2933c620 2015-04-21        kinaba: 	ULONG  nPosition;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszPathName;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszFileName;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpFileType;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MapiFileDesc* lpMapiFileDesc;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MapiFileTagExt {
4e2933c620 2015-04-21        kinaba: 	ULONG  ulReserved;
4e2933c620 2015-04-21        kinaba: 	ULONG  cbTag;
4e2933c620 2015-04-21        kinaba: 	LPBYTE lpTag;
4e2933c620 2015-04-21        kinaba: 	ULONG  cbEncoding;
4e2933c620 2015-04-21        kinaba: 	LPBYTE lpEncoding;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MapiFileTagExt* lpMapiFileTagExt;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MapiMessage {
4e2933c620 2015-04-21        kinaba: 	ULONG           ulReserved;
4e2933c620 2015-04-21        kinaba: 	LPSTR           lpszSubject;
4e2933c620 2015-04-21        kinaba: 	LPSTR           lpszNoteText;
4e2933c620 2015-04-21        kinaba: 	LPSTR           lpszMessageType;
4e2933c620 2015-04-21        kinaba: 	LPSTR           lpszDateReceived;
4e2933c620 2015-04-21        kinaba: 	LPSTR           lpszConversationID;
4e2933c620 2015-04-21        kinaba: 	FLAGS           flFlags;
4e2933c620 2015-04-21        kinaba: 	lpMapiRecipDesc lpOriginator;
4e2933c620 2015-04-21        kinaba: 	ULONG           nRecipCount;
4e2933c620 2015-04-21        kinaba: 	lpMapiRecipDesc lpRecips;
4e2933c620 2015-04-21        kinaba: 	ULONG           nFileCount;
4e2933c620 2015-04-21        kinaba: 	lpMapiFileDesc  lpFiles;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MapiMessage* lpMapiMessage;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Pascal) {
4e2933c620 2015-04-21        kinaba: 	ULONG MAPILogon(ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPISendMail(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPISendDocuments(ULONG, LPSTR, LPSTR, LPSTR, ULONG);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIReadMail(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, lpMapiMessage*);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIFindNext(LHANDLE, ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPSTR);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIResolveName(LHANDLE, ULONG, LPSTR, FLAGS, ULONG,
4e2933c620 2015-04-21        kinaba: 	  lpMapiRecipDesc*);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIAddress(LHANDLE, ULONG, LPSTR, ULONG, LPSTR, ULONG,
4e2933c620 2015-04-21        kinaba: 	  lpMapiRecipDesc, FLAGS, ULONG, LPULONG, lpMapiRecipDesc*);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIFreeBuffer(LPVOID);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIDetails(LHANDLE, ULONG, lpMapiRecipDesc, FLAGS, ULONG);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPISaveMail(LHANDLE, ULONG, lpMapiMessage lpszMessage, FLAGS,
4e2933c620 2015-04-21        kinaba: 	  ULONG, LPSTR);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIDeleteMail(LHANDLE lpSession, ULONG, LPSTR, FLAGS, ULONG);
4e2933c620 2015-04-21        kinaba: 	ULONG MAPILogoff(LHANDLE, ULONG, FLAGS, ULONG);
4e2933c620 2015-04-21        kinaba: 	// Netscape extensions
4e2933c620 2015-04-21        kinaba: 	ULONG MAPIGetNetscapeVersion();
4e2933c620 2015-04-21        kinaba: 	ULONG MAPI_NSCP_SynchronizeClient(LHANDLE, ULONG);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	// Handles for use with GetProcAddress
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE)
4e2933c620 2015-04-21        kinaba: 	  LPMAPILOGON;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG)
4e2933c620 2015-04-21        kinaba: 	  LPMAPISENDMAIL;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(ULONG, LPSTR, LPSTR, LPSTR, ULONG)
4e2933c620 2015-04-21        kinaba: 	  LPMAPISENDDOCUMENTS;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, lpMapiMessage*)
4e2933c620 2015-04-21        kinaba: 	  LPMAPIREADMAIL;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPSTR)
4e2933c620 2015-04-21        kinaba: 	  LPMAPIFINDNEXT;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, LPSTR, FLAGS, ULONG,
4e2933c620 2015-04-21        kinaba: 	  lpMapiRecipDesc*) LPMAPIRESOLVENAME;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, LPSTR, ULONG, LPSTR, ULONG,
4e2933c620 2015-04-21        kinaba: 	  lpMapiRecipDesc, FLAGS, ULONG, LPULONG, lpMapiRecipDesc*) LPMAPIADDRESS;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LPVOID lpv) LPMAPIFREEBUFFER;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, lpMapiRecipDesc, FLAGS, ULONG)
4e2933c620 2015-04-21        kinaba: 	  LPMAPIDETAILS;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG, LPSTR)
4e2933c620 2015-04-21        kinaba: 	  LPMAPISAVEMAIL;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE lpSession, ULONG, LPSTR, FLAGS, ULONG)
4e2933c620 2015-04-21        kinaba: 	  LPMAPIDELETEMAIL;
4e2933c620 2015-04-21        kinaba: 	alias ULONG function(LHANDLE, ULONG, FLAGS, ULONG) LPMAPILOGOFF;
4e2933c620 2015-04-21        kinaba: }