0% found this document useful (0 votes)
4 views3 pages

Mapih

The document is a header file (MAPI.H) that defines the structures and constants for the Messaging Applications Programming Interface (MAPI) used by Microsoft Mail for PC Networks version 3.0. It includes type definitions, structures for messages and recipients, and function prototypes for various MAPI operations such as sending and reading mail. Additionally, it outlines error codes related to MAPI operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

Mapih

The document is a header file (MAPI.H) that defines the structures and constants for the Messaging Applications Programming Interface (MAPI) used by Microsoft Mail for PC Networks version 3.0. It includes type definitions, structures for messages and recipients, and function prototypes for various MAPI operations such as sending and reading mail. Additionally, it outlines error codes related to MAPI operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MAPI.

H Page 1 of 3

MAPI.H
/*
* m a p i . h
*
* Messaging Applications Programming Interface.
*
* Copyright 1992 - 1998 Microsoft Corporation. All rights reserved.
*
* Purpose:
* This file defines the structures and constants used by
* that subset of the messaging applications programming
* interface which will be supported under Windows by
* Microsoft Mail for PC Networks vesion 3.0.
*/

/*
* Types.
*/

#ifdef __cplusplus
extern "C" {
#endif

typedef unsigned long ULONG;


typedef unsigned long FAR * LPULONG;
typedef unsigned long FLAGS;
typedef unsigned longLHANDLE, FAR *LPLHANDLE;
#define lhSessionNull ((LHANDLE)0)

#define MAPI_MESSAGEID_LENGTH 64

typedef struct
{
ULONG ulReserved; // Reserved for future use (must be 0)
ULONG flFlags; // Flags
ULONG nPosition; // character in text to be replaced by attachment
LPSTR lpszPathName; // Full path name of attachment file
LPSTR lpszFileName; // Original file name (optional)
LPVOID UNALIGNED lpFileType; // Attachment file type (optional)
} UNALIGNED MapiFileDesc, UNALIGNED FAR * lpMapiFileDesc;

#defineMAPI_OLE0x00000001
#defineMAPI_OLE_STATIC0x00000002

typedef struct
{
ULONG ulReserved; // Reserved for future use
ULONG ulRecipClass; // Recipient class
// MAPI_TO, MAPI_CC, MAPI_BCC, MAPI_ORIG
LPSTR lpszName; // Recipient name
LPSTR lpszAddress; // Recipient address (optional)
ULONG ulEIDSize; // Count in bytes of size of pEntryID
LPVOID lpEntryID; // System-specific recipient reference
} UNALIGNED MapiRecipDesc, UNALIGNED FAR * lpMapiRecipDesc;

#define MAPI_ORIG 0 // Recipient is message originator


#define MAPI_TO 1 // Recipient is a primary recipient
#define MAPI_CC 2 // Recipient is a copy recipient

mk:@MSITStor[Link]\Archivos%20de%20programa\Microsoft%20Visual%20Studio\... 30/12/2009
MAPI.H Page 2 of 3

#define MAPI_BCC 3 // Recipient is blind copy recipient

typedef struct
{
ULONG ulReserved; // Reserved for future use (M.B. 0)
LPSTR lpszSubject; // Message Subject
LPSTR lpszNoteText; // Message Text
LPSTR lpszMessageType; // Message Class
LPSTR lpszDateReceived; // in YYYY/MM/DD HH:MM format
LPSTR lpszConversationID;// conversation thread ID
FLAGS flFlags; // unread,return receipt
lpMapiRecipDesc lpOriginator; // Originator descriptor
ULONG nRecipCount; // Number of recipients
lpMapiRecipDesc lpRecips; // Recipient descriptors
ULONG nFileCount; // # of file attachments
lpMapiFileDesc lpFiles; // Attachment descriptors
} UNALIGNED MapiMessage, UNALIGNED FAR * lpMapiMessage;

#define MAPI_UNREAD 0x00000001


#define MAPI_RECEIPT_REQUESTED 0x00000002
#define MAPI_SENT 0x00000004

/*
* Entry points.
*/

#define MAPI_LOGON_UI 0x00000001 // Display logon UI


#define MAPI_NEW_SESSION 0x00000002 // Do not use default.
#define MAPI_DIALOG 0x00000008 // Display a send note UI
#define MAPI_UNREAD_ONLY 0x00000020 // Only unread messages
#define MAPI_ENVELOPE_ONLY 0x00000040 // Only header information
#define MAPI_PEEK 0x00000080 // Do not mark as read.
#define MAPI_GUARANTEE_FIFO0x00000100// use date order
#defineMAPI_BODY_AS_FILE0x00000200
#define MAPI_AB_NOMODIFY0x00000400// Don't allow mods of AB entries
#defineMAPI_SUPPRESS_ATTACH0x00000800// header + body, no files
#defineMAPI_FORCE_DOWNLOAD0x00001000// force download of new mail during MAPILogon

ULONG FAR PASCAL MAPILogon(ULONG ulUIParam, LPSTR lpszName, LPSTR lpszPassword,


FLAGS flFlags, ULONG ulReserved,
LPLHANDLE lplhSession);

ULONG FAR PASCAL MAPILogoff(LHANDLE lhSession, ULONG ulUIParam, FLAGS flFlags,


ULONG ulReserved);

ULONG FAR PASCAL MAPISendMail(LHANDLE lhSession, ULONG ulUIParam,


lpMapiMessage lpMessage, FLAGS flFlags,
ULONG ulReserved);

ULONG FAR PASCAL MAPISendDocuments(ULONG ulUIParam, LPSTR lpszDelimChar,


LPSTR lpszFilePaths, LPSTR lpszFileNames,
ULONG ulReserved);

ULONG FAR PASCAL MAPIFindNext(LHANDLE lhSession, ULONG ulUIParam,


LPSTR lpszMessageType, LPSTR lpszSeedMessageID,
FLAGS flFlags, ULONG ulReserved,
LPSTR lpszMessageID);

ULONG FAR PASCAL MAPIReadMail(LHANDLE lhSession, ULONG ulUIParam,


LPSTR lpszMessageID, FLAGS flFlags,
ULONG ulReserved, lpMapiMessage FAR *lppMessageOut);

mk:@MSITStor[Link]\Archivos%20de%20programa\Microsoft%20Visual%20Studio\... 30/12/2009
MAPI.H Page 3 of 3

ULONG FAR PASCAL MAPISaveMail(LHANDLE lhSession, ULONG ulUIParam,


lpMapiMessage pMessage, FLAGS flFlags,
ULONG ulReserved, LPSTR lpszMessageID);

ULONG FAR PASCAL MAPIDeleteMail(LHANDLE lhSession, ULONG ulUIParam,


LPSTR lpszMessageID, FLAGS flFlags,
ULONG ulReserved);

ULONG FAR PASCAL MAPIFreeBuffer( LPVOID pv );

ULONG FAR PASCAL MAPIAddress(LHANDLE lhSession, ULONG ulUIParam,


LPSTR plszCaption, ULONG nEditFields,
LPSTR lpszLabels, ULONG nRecips,
lpMapiRecipDesc lpRecips, FLAGS flFlags, ULONG ulReserved,
LPULONG lpnNewRecips, lpMapiRecipDesc FAR *lppNewRecips);

ULONG FAR PASCAL MAPIDetails(LHANDLE lhSession, ULONG ulUIParam,


lpMapiRecipDesc lpRecip, FLAGS flFlags, ULONG ulReserved);

ULONG FAR PASCAL MAPIResolveName(LHANDLE lhSession, ULONG ulUIParam,


LPSTR lpszName, FLAGS flFlags,
ULONG ulReserved, lpMapiRecipDesc FAR *lppRecip);

#define SUCCESS_SUCCESS 0
#define MAPI_USER_ABORT 1
#define MAPI_E_FAILURE 2
#define MAPI_E_LOGIN_FAILURE 3
#define MAPI_E_DISK_FULL 4
#define MAPI_E_INSUFFICIENT_MEMORY 5
#define MAPI_E_ACCESS_DENIED6
#define MAPI_E_TOO_MANY_SESSIONS 8
#define MAPI_E_TOO_MANY_FILES 9
#define MAPI_E_TOO_MANY_RECIPIENTS 10
#define MAPI_E_ATTACHMENT_NOT_FOUND 11
#define MAPI_E_ATTACHMENT_OPEN_FAILURE 12
#define MAPI_E_ATTACHMENT_WRITE_FAILURE 13
#define MAPI_E_UNKNOWN_RECIPIENT 14
#define MAPI_E_BAD_RECIPTYPE 15
#define MAPI_E_NO_MESSAGES 16
#define MAPI_E_INVALID_MESSAGE 17
#define MAPI_E_TEXT_TOO_LARGE 18
#defineMAPI_E_INVALID_SESSION19
#defineMAPI_E_TYPE_NOT_SUPPORTED20
#defineMAPI_E_AMBIGUOUS_RECIPIENT21
#define MAPI_E_MESSAGE_IN_USE22
#define MAPI_E_NETWORK_FAILURE23
#defineMAPI_E_INVALID_EDITFIELDS24
#defineMAPI_E_INVALID_RECIPS25
#defineMAPI_E_NOT_SUPPORTED26

#ifdef __cplusplus
}
#endif

mk:@MSITStor[Link]\Archivos%20de%20programa\Microsoft%20Visual%20Studio\... 30/12/2009

You might also like