|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
PidTagMessageClass Canonical Property
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
Contains a text string that identifies the sender-defined message class, such as IPM.Note.
PR_MESSAGE_CLASS, PR_MESSAGE_CLASS_A, PR_MESSAGE_CLASS_W
The message class specifies the type of the message. It determines the set of properties defined for the message, the kind of information the message conveys, and how to handle the message.
These properties contain strings concatenated with periods. Each string represents a level of subclassing. For example, IPM.Note is a subclass of IPM and a superclass of IPM.Note.Private.
These properties must consist of the ASCII characters 32 through 127 and must not end with a period (ASCII 46). Sort and compare operations must treat it as a case-insensitive string. The maximum possible length is 255 characters, but in order to allow MAPI room to append qualifiers it is recommended that the original length be kept under 128 characters.
Every message is required to furnish these properties. Normally, the client application creating a new message sets it as soon as IMAPIFolder::CreateMessage returns successfully. But if the property has not been set when the client calls IMAPIProp::SaveChanges, the message store should set it to IPM.
The values defined by MAPI are:
IPM.Note for a standard interpersonal message REPORT.<subject message class>.DR for a delivery report REPORT.<subject message class>.NDR for a nondelivery report REPORT.<subject message class>.IPNRN for a read report REPORT.<subject message class>.IPNNRN for a nonread report
IPM and IPC are intended to be superclasses only, and a message should have at least one subclass qualifier appended before being stored or submitted. For more information on message class usage, see Message Classes. For lists of required and optional properties for message classes, see the subtopics of About Message Properties.
A custom message class can define properties in a reserved range for use with that message class only. For more information, see About Property Identifiers.
Message classes control which receive folder an incoming message is stored in. For more information, see the IMsgStore::GetReceiveFolderTable method.
For more information on using message classes with forms and form servers, see Choosing a Message Class.