|
|
1.1 ! root 1: /* ! 2: * m a p i . h ! 3: * ! 4: * Messaging Applications Programming Interface. ! 5: * ! 6: * Copyright (c) 1992, Microsoft Corporation. All rights reserved. ! 7: * ! 8: * Purpose: ! 9: * This file defines the structures and constants used by ! 10: * that subset of the messaging applications programming ! 11: * interface which will be supported under Windows by ! 12: * Microsoft Mail for PC Networks vesion 3.0. ! 13: */ ! 14: ! 15: ! 16: ! 17: /* ! 18: * Types. ! 19: */ ! 20: ! 21: #ifdef __cplusplus ! 22: extern "C" { ! 23: #endif ! 24: ! 25: typedef unsigned long ULONG; ! 26: typedef unsigned long FAR * LPULONG; ! 27: typedef unsigned long FLAGS; ! 28: typedef unsigned long LHANDLE, FAR *LPLHANDLE; ! 29: #define lhSessionNull ((LHANDLE)0) ! 30: ! 31: ! 32: #define MAPI_MESSAGEID_LENGTH 64 ! 33: ! 34: typedef struct ! 35: { ! 36: ULONG ulReserved; // Reserved for future use (must be 0) ! 37: ULONG flFlags; // Flags ! 38: ULONG nPosition; // character in text to be replaced by attachment ! 39: LPSTR lpszPathName; // Full path name of attachment file ! 40: LPSTR lpszFileName; // Original file name (optional) ! 41: LPVOID UNALIGNED lpFileType; // Attachment file type (optional) ! 42: } UNALIGNED MapiFileDesc, UNALIGNED FAR * lpMapiFileDesc; ! 43: ! 44: #define MAPI_OLE 0x00000001 ! 45: #define MAPI_OLE_STATIC 0x00000002 ! 46: ! 47: ! 48: ! 49: ! 50: typedef struct ! 51: { ! 52: ULONG ulReserved; // Reserved for future use ! 53: ULONG ulRecipClass; // Recipient class ! 54: // MAPI_TO, MAPI_CC, MAPI_BCC, MAPI_ORIG ! 55: LPSTR lpszName; // Recipient name ! 56: LPSTR lpszAddress; // Recipient address (optional) ! 57: ULONG ulEIDSize; // Count in bytes of size of pEntryID ! 58: LPVOID lpEntryID; // System-specific recipient reference ! 59: } UNALIGNED MapiRecipDesc, UNALIGNED FAR * lpMapiRecipDesc; ! 60: ! 61: #define MAPI_ORIG 0 // Recipient is message originator ! 62: #define MAPI_TO 1 // Recipient is a primary recipient ! 63: #define MAPI_CC 2 // Recipient is a copy recipient ! 64: #define MAPI_BCC 3 // Recipient is blind copy recipient ! 65: ! 66: ! 67: ! 68: typedef struct ! 69: { ! 70: ULONG ulReserved; // Reserved for future use (M.B. 0) ! 71: LPSTR lpszSubject; // Message Subject ! 72: LPSTR lpszNoteText; // Message Text ! 73: LPSTR lpszMessageType; // Message Class ! 74: LPSTR lpszDateReceived; // in YYYY/MM/DD HH:MM format ! 75: LPSTR lpszConversationID; // conversation thread ID ! 76: FLAGS flFlags; // unread,return receipt ! 77: lpMapiRecipDesc lpOriginator; // Originator descriptor ! 78: ULONG nRecipCount; // Number of recipients ! 79: lpMapiRecipDesc lpRecips; // Recipient descriptors ! 80: ULONG nFileCount; // # of file attachments ! 81: lpMapiFileDesc lpFiles; // Attachment descriptors ! 82: } UNALIGNED MapiMessage, UNALIGNED FAR * lpMapiMessage; ! 83: ! 84: #define MAPI_UNREAD 0x00000001 ! 85: #define MAPI_RECEIPT_REQUESTED 0x00000002 ! 86: #define MAPI_SENT 0x00000004 ! 87: ! 88: ! 89: ! 90: /* ! 91: * Entry points. ! 92: */ ! 93: ! 94: ! 95: ! 96: #define MAPI_LOGON_UI 0x00000001 // Display logon UI ! 97: #define MAPI_NEW_SESSION 0x00000002 // Do not use default. ! 98: #define MAPI_DIALOG 0x00000008 // Display a send note UI ! 99: #define MAPI_UNREAD_ONLY 0x00000020 // Only unread messages ! 100: #define MAPI_ENVELOPE_ONLY 0x00000040 // Only header information ! 101: #define MAPI_PEEK 0x00000080 // Do not mark as read. ! 102: #define MAPI_GUARANTEE_FIFO 0x00000100 // use date order ! 103: #define MAPI_BODY_AS_FILE 0x00000200 ! 104: #define MAPI_AB_NOMODIFY 0x00000400 // Don't allow mods of AB entries ! 105: #define MAPI_SUPPRESS_ATTACH 0x00000800 // header + body, no files ! 106: #define MAPI_FORCE_DOWNLOAD 0x00001000 // force download of new mail during MAPILogon ! 107: ! 108: ULONG FAR PASCAL MAPILogon(ULONG ulUIParam, LPSTR lpszName, LPSTR lpszPassword, ! 109: FLAGS flFlags, ULONG ulReserved, ! 110: LPLHANDLE lplhSession); ! 111: ! 112: ULONG FAR PASCAL MAPILogoff(LHANDLE lhSession, ULONG ulUIParam, FLAGS flFlags, ! 113: ULONG ulReserved); ! 114: ! 115: ULONG FAR PASCAL MAPISendMail(LHANDLE lhSession, ULONG ulUIParam, ! 116: lpMapiMessage lpMessage, FLAGS flFlags, ! 117: ULONG ulReserved); ! 118: ! 119: ULONG FAR PASCAL MAPISendDocuments(ULONG ulUIParam, LPSTR lpszDelimChar, ! 120: LPSTR lpszFilePaths, LPSTR lpszFileNames, ! 121: ULONG ulReserved); ! 122: ! 123: ULONG FAR PASCAL MAPIFindNext(LHANDLE lhSession, ULONG ulUIParam, ! 124: LPSTR lpszMessageType, LPSTR lpszSeedMessageID, ! 125: FLAGS flFlags, ULONG ulReserved, ! 126: LPSTR lpszMessageID); ! 127: ! 128: ULONG FAR PASCAL MAPIReadMail(LHANDLE lhSession, ULONG ulUIParam, ! 129: LPSTR lpszMessageID, FLAGS flFlags, ! 130: ULONG ulReserved, lpMapiMessage FAR *lppMessageOut); ! 131: ! 132: ULONG FAR PASCAL MAPISaveMail(LHANDLE lhSession, ULONG ulUIParam, ! 133: lpMapiMessage pMessage, FLAGS flFlags, ! 134: ULONG ulReserved, LPSTR lpszMessageID); ! 135: ! 136: ULONG FAR PASCAL MAPIDeleteMail(LHANDLE lhSession, ULONG ulUIParam, ! 137: LPSTR lpszMessageID, FLAGS flFlags, ! 138: ULONG ulReserved); ! 139: ! 140: ULONG FAR PASCAL MAPIFreeBuffer( LPVOID pv ); ! 141: ! 142: ULONG FAR PASCAL MAPIAddress(LHANDLE lhSession, ULONG ulUIParam, ! 143: LPSTR plszCaption, ULONG nEditFields, ! 144: LPSTR lpszLabels, ULONG nRecips, ! 145: lpMapiRecipDesc lpRecips, FLAGS flFlags, ULONG ulReserved, ! 146: LPULONG lpnNewRecips, lpMapiRecipDesc FAR *lppNewRecips); ! 147: ! 148: ULONG FAR PASCAL MAPIDetails(LHANDLE lhSession, ULONG ulUIParam, ! 149: lpMapiRecipDesc lpRecip, FLAGS flFlags, ULONG ulReserved); ! 150: ! 151: ULONG FAR PASCAL MAPIResolveName(LHANDLE lhSession, ULONG ulUIParam, ! 152: LPSTR lpszName, FLAGS flFlags, ! 153: ULONG ulReserved, lpMapiRecipDesc FAR *lppRecip); ! 154: ! 155: ! 156: ! 157: #define SUCCESS_SUCCESS 0 ! 158: #define MAPI_USER_ABORT 1 ! 159: #define MAPI_E_FAILURE 2 ! 160: #define MAPI_E_LOGIN_FAILURE 3 ! 161: #define MAPI_E_DISK_FULL 4 ! 162: #define MAPI_E_INSUFFICIENT_MEMORY 5 ! 163: #define MAPI_E_ACCESS_DENIED 6 ! 164: #define MAPI_E_TOO_MANY_SESSIONS 8 ! 165: #define MAPI_E_TOO_MANY_FILES 9 ! 166: #define MAPI_E_TOO_MANY_RECIPIENTS 10 ! 167: #define MAPI_E_ATTACHMENT_NOT_FOUND 11 ! 168: #define MAPI_E_ATTACHMENT_OPEN_FAILURE 12 ! 169: #define MAPI_E_ATTACHMENT_WRITE_FAILURE 13 ! 170: #define MAPI_E_UNKNOWN_RECIPIENT 14 ! 171: #define MAPI_E_BAD_RECIPTYPE 15 ! 172: #define MAPI_E_NO_MESSAGES 16 ! 173: #define MAPI_E_INVALID_MESSAGE 17 ! 174: #define MAPI_E_TEXT_TOO_LARGE 18 ! 175: #define MAPI_E_INVALID_SESSION 19 ! 176: #define MAPI_E_TYPE_NOT_SUPPORTED 20 ! 177: #define MAPI_E_AMBIGUOUS_RECIPIENT 21 ! 178: #define MAPI_E_MESSAGE_IN_USE 22 ! 179: #define MAPI_E_NETWORK_FAILURE 23 ! 180: #define MAPI_E_INVALID_EDITFIELDS 24 ! 181: #define MAPI_E_INVALID_RECIPS 25 ! 182: #define MAPI_E_NOT_SUPPORTED 26 ! 183: ! 184: #ifdef __cplusplus ! 185: } ! 186: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.