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_MODIFY ability to modify objects
MAPI_ACCESS_READ ability to the folder contents
MAPI_ACCESS_DELETE ability to delete objects
MAPI_ACCESS_CREATE_HIERARCHY ability to create subfolders
MAPI_ACCESS_CREATE_CONTENTS ability to create new objects
MAPI_ACCESS_CREATE_ASSOCIATED ability 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.

cdoSingle The object represents a non-recurring event.
cdoMaster The object is the master appointment for a recurring event.
cdoInstance The object is a single instance of a recurring event (which also has a cdoMaster object).
cdoException The 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_STORE a message store (eg, the user's mailbox)
MAPI_ADDRBOOK an address book
MAPI_FOLDER a folder
MAPI_ABCONT an address book container
MAPI_MESSAGE a "message" (which includes contacts, appointments, and tasks)
MAPI_MAILUSER an individual recipient of a mail message
MAPI_ATTACH an attachment
MAPI_DISTLIST a distribution list recipient of a mail message
MAPI_PROFSECT a profile section
MAPI_STATUS a status object
MAPI_SESSION a MAPI session
MAPI_FORMINFO form 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_MAILUSER in a server-side rule, used to indicate a single recipient
DT_DISTLIST in 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_TO a "To" recipient
MAPI_CC a "Cc" recipient
MAPI_BCC a "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_READ Message has been marked read
MAPI_MSGFLAG_UNMODIFIED Message has not been modified since creation
MAPI_MSGFLAG_SUBMIT Message is marked for submission
MAPI_MSGFLAG_UNSENT Message has not yet been sent (ie, it's a draft)
MAPI_MSGFLAG_HASATTACH Has attachments
MAPI_MSGFLAG_FROMME Message was sent by this user
MAPI_MSGFLAG_ASSOCIATED "Associated" (hidden) message
MAPI_MSGFLAG_RESEND Includes a request for resend
MAPI_MSGFLAG_RN_PENDING Read report needs to be sent
MAPI_MSGFLAG_NRN_PENDING Non-read report needs to be sent
MAPI_MSGFLAG_ORIGIN_X400 Message arrived over an X.400 link
MAPI_MSGFLAG_ORIGIN_INTERNET Message arrived over the internet
MAPI_MSGFLAG_ORIGIN_MISC_EXT Message 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_REPLIED Message was replied to.
MAPI_ACTION_FORWARDED Message 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_SENDER Reply was sent only to sender
MAPI_ACTION_FLAG_REPLIED_TO_ALL Reply was sent to all recipients
MAPI_ACTION_FLAG_FORWARDED Message 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_UNFLAGGED Message is not flagged
MAPI_FOLLOWUP_COMPLETED Message was flagged, and is now completed
MAPI_FOLLOWUP_FLAGGED Message 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_NONE Not sensitive.
MAPI_SENSITIVITY_PERSONAL Message is personal.
MAPI_SENSITIVITY_PRIVATE Message is private.
MAPI_SENSITIVITY_COMPANY_CONFIDENTIAL Message 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_LOW Low importance.
MAPI_IMPORTANCE_NORMAL Normal importance.
MAPI_IMPORTANCE_HIGH High importance.