MAPI

MAPI — MAPI and CDO constants

Synopsis




enum        MapiAccess;
enum        CdoInstanceTypes;
enum        MapiObjectType;
enum        MapiPrDisplayType;
enum        MapiPrRecipientType;
enum        MapiPrMessageFlags;
enum        MapiPrAction;
enum        MapiPrActionFlag;
enum        MapiPrFlagStatus;
enum        MapiPrPriority;
enum        MapiPrSensitivity;
enum        MapiPrImportance;

Description

Details

enum MapiAccess

typedef enum {
	MAPI_ACCESS_MODIFY            = (1 << 0),
	MAPI_ACCESS_READ              = (1 << 1),
	MAPI_ACCESS_DELETE            = (1 << 2),
	MAPI_ACCESS_CREATE_HIERARCHY  = (1 << 3),
	MAPI_ACCESS_CREATE_CONTENTS   = (1 << 4),
	MAPI_ACCESS_CREATE_ASSOCIATED = (1 << 5)
} MapiAccess;

These are the bits in a folder's PR_ACCESS property.

MAPI_ACCESS_MODIFYability to modify objects
MAPI_ACCESS_READability to the folder contents
MAPI_ACCESS_DELETEability to delete objects
MAPI_ACCESS_CREATE_HIERARCHYability to create subfolders
MAPI_ACCESS_CREATE_CONTENTSability to create new objects
MAPI_ACCESS_CREATE_ASSOCIATEDability to create hidden objects

enum CdoInstanceTypes

typedef enum {
	cdoSingle    = 0,	/* non-recurring appointment */
	cdoMaster    = 1,	/* recurring appointment */
	cdoInstance  = 2,	/* single instance of recurring appointment */
	cdoException = 3	/* exception to recurring appointment */
} CdoInstanceTypes;

These are the possible values of the E2K_PR_CALENDAR_INSTANCE_TYPE property.

cdoSingleThe object represents a non-recurring event.
cdoMasterThe object is the master appointment for a recurring event.
cdoInstanceThe object is a single instance of a recurring event (which also has a cdoMaster object).
cdoExceptionThe object is an exception to a recurring event.

enum MapiObjectType

typedef enum {
	MAPI_STORE    = 0x1,	/* Message Store */
	MAPI_ADDRBOOK = 0x2,	/* Address Book */
	MAPI_FOLDER   = 0x3,	/* Folder */
	MAPI_ABCONT   = 0x4,	/* Address Book Container */
	MAPI_MESSAGE  = 0x5,	/* Message */
	MAPI_MAILUSER = 0x6,	/* Individual Recipient */
	MAPI_ATTACH   = 0x7,	/* Attachment */
	MAPI_DISTLIST = 0x8,	/* Distribution List Recipient */
	MAPI_PROFSECT = 0x9,	/* Profile Section */
	MAPI_STATUS   = 0xA,	/* Status Object */
	MAPI_SESSION  = 0xB,	/* Session */
	MAPI_FORMINFO = 0xC	/* Form Information */
} MapiObjectType;

This is an enumeration of the various types of MAPI objects. They show up in various properties. (Several of these types are never exposed via WebDAV.)

MAPI_STOREa message store (eg, the user's mailbox)
MAPI_ADDRBOOKan address book
MAPI_FOLDERa folder
MAPI_ABCONTan address book container
MAPI_MESSAGEa "message" (which includes contacts, appointments, and tasks)
MAPI_MAILUSERan individual recipient of a mail message
MAPI_ATTACHan attachment
MAPI_DISTLISTa distribution list recipient of a mail message
MAPI_PROFSECTa profile section
MAPI_STATUSa status object
MAPI_SESSIONa MAPI session
MAPI_FORMINFOform information

enum MapiPrDisplayType

typedef enum {
/*  For address book contents tables */
	DT_MAILUSER         = 0x00000000,
	DT_DISTLIST         = 0x00000001,
	DT_FORUM            = 0x00000002,
	DT_AGENT            = 0x00000003,
	DT_ORGANIZATION     = 0x00000004,
	DT_PRIVATE_DISTLIST = 0x00000005,
	DT_REMOTE_MAILUSER  = 0x00000006,
/*  For address book hierarchy tables */
	DT_MODIFIABLE       = 0x00010000,
	DT_GLOBAL           = 0x00020000,
	DT_LOCAL            = 0x00030000,
	DT_WAN              = 0x00040000,
	DT_NOT_SPECIFIC     = 0x00050000,
/*  For folder hierarchy tables */
	DT_FOLDER           = 0x01000000,
	DT_FOLDER_LINK      = 0x02000000,
	DT_FOLDER_SPECIAL   = 0x04000000
} MapiPrDisplayType;

This is an enumeration of various types of objects that may be represented by icons in various parts of Outlook. We only use it for the recipient types in a server-side rule.

DT_MAILUSERin a server-side rule, used to indicate a single recipient
DT_DISTLISTin a server-side rule, used to indicate a distribution list
DT_FORUM
DT_AGENT
DT_ORGANIZATION
DT_PRIVATE_DISTLIST
DT_REMOTE_MAILUSER
DT_MODIFIABLE
DT_GLOBAL
DT_LOCAL
DT_WAN
DT_NOT_SPECIFIC
DT_FOLDER
DT_FOLDER_LINK
DT_FOLDER_SPECIAL

enum MapiPrRecipientType

typedef enum {
	MAPI_ORIG = 0,
	MAPI_TO   = 1,
	MAPI_CC   = 2,
	MAPI_BCC  = 3
} MapiPrRecipientType;

These are the categories of recipient for a message, used in server-side rules.

MAPI_ORIG"From" address? (not used in Connector)
MAPI_TOa "To" recipient
MAPI_CCa "Cc" recipient
MAPI_BCCa "Bcc" recipient

enum MapiPrMessageFlags

typedef enum {
	MAPI_MSGFLAG_READ            = 0x0001,
	MAPI_MSGFLAG_UNMODIFIED      = 0x0002,
	MAPI_MSGFLAG_SUBMIT          = 0x0004,
	MAPI_MSGFLAG_UNSENT          = 0x0008,
	MAPI_MSGFLAG_HASATTACH       = 0x0010,
	MAPI_MSGFLAG_FROMME          = 0x0020,
	MAPI_MSGFLAG_ASSOCIATED      = 0x0040,
	MAPI_MSGFLAG_RESEND          = 0x0080,
	MAPI_MSGFLAG_RN_PENDING      = 0x0100,
	MAPI_MSGFLAG_NRN_PENDING     = 0x0200,
	MAPI_MSGFLAG_ORIGIN_X400     = 0x1000,
	MAPI_MSGFLAG_ORIGIN_INTERNET = 0x2000,
	MAPI_MSGFLAG_ORIGIN_MISC_EXT = 0x8000
} MapiPrMessageFlags;

These are the message flags in the PR_MESSAGE_FLAGS field. MAPI_MSGFLAG_READ is the only one that can be modified via WebDAV.

MAPI_MSGFLAG_READMessage has been marked read
MAPI_MSGFLAG_UNMODIFIEDMessage has not been modified since creation
MAPI_MSGFLAG_SUBMITMessage is marked for submission
MAPI_MSGFLAG_UNSENTMessage has not yet been sent (ie, it's a draft)
MAPI_MSGFLAG_HASATTACHHas attachments
MAPI_MSGFLAG_FROMMEMessage was sent by this user
MAPI_MSGFLAG_ASSOCIATED"Associated" (hidden) message
MAPI_MSGFLAG_RESENDIncludes a request for resend
MAPI_MSGFLAG_RN_PENDINGRead report needs to be sent
MAPI_MSGFLAG_NRN_PENDINGNon-read report needs to be sent
MAPI_MSGFLAG_ORIGIN_X400Message arrived over an X.400 link
MAPI_MSGFLAG_ORIGIN_INTERNETMessage arrived over the internet
MAPI_MSGFLAG_ORIGIN_MISC_EXTMessage arrived over non-X.400, non-internet link

enum MapiPrAction

typedef enum {
	MAPI_ACTION_REPLIED   = 261,
	MAPI_ACTION_FORWARDED = 262
} MapiPrAction;

Indicates that an action has been taken on a message. (There are other values besides these.)

MAPI_ACTION_REPLIEDMessage was replied to.
MAPI_ACTION_FORWARDEDMessage was forwarded.

enum MapiPrActionFlag

typedef enum {
	MAPI_ACTION_FLAG_REPLIED_TO_SENDER = 102,
	MAPI_ACTION_FLAG_REPLIED_TO_ALL    = 103,
	MAPI_ACTION_FLAG_FORWARDED         = 104,
} MapiPrActionFlag;

Indicates additional information beyond PR_ACTION.

MAPI_ACTION_FLAG_REPLIED_TO_SENDERReply was sent only to sender
MAPI_ACTION_FLAG_REPLIED_TO_ALLReply was sent to all recipients
MAPI_ACTION_FLAG_FORWARDEDMessage was forwarded

enum MapiPrFlagStatus

typedef enum {
	MAPI_FOLLOWUP_UNFLAGGED = 0,
	MAPI_FOLLOWUP_COMPLETED = 1,
	MAPI_FOLLOWUP_FLAGGED   = 2
} MapiPrFlagStatus;

Flag-for-followup status

MAPI_FOLLOWUP_UNFLAGGEDMessage is not flagged
MAPI_FOLLOWUP_COMPLETEDMessage was flagged, and is now completed
MAPI_FOLLOWUP_FLAGGEDMessage is flagged, but not completed

enum MapiPrPriority

typedef enum {
	MAPI_PRIO_URGENT    =  1,
	MAPI_PRIO_NORMAL    =  0,
	MAPI_PRIO_NONURGENT = -1
} MapiPrPriority;

Indicates the priority of a message.

MAPI_PRIO_URGENT"Urgent" priority
MAPI_PRIO_NORMAL"Normal" priority
MAPI_PRIO_NONURGENT"Non-urgent" priority

enum MapiPrSensitivity

typedef enum {
	MAPI_SENSITIVITY_NONE                 = 0,
	MAPI_SENSITIVITY_PERSONAL             = 1,
	MAPI_SENSITIVITY_PRIVATE              = 2,
	MAPI_SENSITIVITY_COMPANY_CONFIDENTIAL = 3
} MapiPrSensitivity;

Indicates the sensitivity of a message.

MAPI_SENSITIVITY_NONENot sensitive.
MAPI_SENSITIVITY_PERSONALMessage is personal.
MAPI_SENSITIVITY_PRIVATEMessage is private.
MAPI_SENSITIVITY_COMPANY_CONFIDENTIALMessage is compant-confidential.

enum MapiPrImportance

typedef enum {
	MAPI_IMPORTANCE_LOW    = 0,
	MAPI_IMPORTANCE_NORMAL = 1,
	MAPI_IMPORTANCE_HIGH   = 2
} MapiPrImportance;

Indicates the importance of a message.

MAPI_IMPORTANCE_LOWLow importance.
MAPI_IMPORTANCE_NORMALNormal importance.
MAPI_IMPORTANCE_HIGHHigh importance.