Platform SDK: MAPI

PR_MSG_STATUS

The PR_MSG_STATUS property contains a 32-bit bitmask of flags defining the status of a message in a contents table.

Quick Info

Header file: MAPITAGS.H
Must be a column in: Message store contents tables
Identifier: 0x0E17
Property type: PT_LONG
Property tag: 0x0E170003

Remarks

A message can exist in a contents table and in one or more search-results tables, and each instance of the message can have a different status. The PR_MSG_STATUS property should not be considered a property on a message but a column in a contents table.

A client application can set one or more of the following flags in PR_MSG_STATUS:

MSGSTATUS_ANSWERED
The message has been replied to.
MSGSTATUS_DELMARKED
The message has been marked for subsequent deletion.
MSGSTATUS_DRAFT
The message is in draft revision status.
MSGSTATUS_HIDDEN
The message is to be suppressed from recipients' folder displays.
MSGSTATUS_HIGHLIGHTED
The message is to be highlighted in recipients' folder displays.
MSGSTATUS_REMOTE_DELETE
The message has been marked for deletion at the remote message store without downloading to the local client.
MSGSTATUS_REMOTE_DOWNLOAD
The message has been marked for downloading from the remote message store to the local client.
MSGSTATUS_TAGGED
The message has been tagged for a client-defined purpose.

The MSGSTATUS_DELMARKED, MSGSTATUS_HIDDEN, MSGSTATUS_HIGHLIGHTED, and MSGSTATUS_TAGGED flags are defined by the client. Transport and store providers pass these bits without any action.

Clients can interpret these values in any way that is appropriate for their applications. One way that many clients use the PR_MSG_STATUS property is to display messages marked for deletion with a representative icon.

A remote viewer client can set MSGSTATUS_REMOTE_DELETE or MSGSTATUS_REMOTE_DOWNLOAD on messages in the header folder presented to it by the remote transport provider. The client application can examine each message header in this folder to determine whether the message should be downloaded or deleted at the remote message store. It then uses the IMAPIFolder::SetMessageStatus method to set the appropriate flag. SetMessageStatus is the only way to set any of the PR_MSG_STATUS flags; the IMAPIProp::SetProps method cannot be used. To retrieve the PR_MSG_STATUS property, clients call IMAPIFolder::GetMessageStatus rather than IMAPIProp::GetProps. For more information on remote viewing and remote transport providers, see Remote Transport Architecture.

Bits 16 through 31 (0x10000 through 0x80000000) of PR_MSG_STATUS are available for use by the interpersonal message (IPM) client application. All other bits are reserved for use by MAPI; those not defined in the preceding table should be initially set to zero and not altered subsequently.

See Also

Message Properties, IMAPITable::QueryRows