1) What do you meant by "MAPI table"?
- A MAPI table is a MAPI object that is used to view a collection of properties belonging to other MAPI objects of a particular type.
2) How the values are stored and can be used in MAPI table?
- MAPI tables are structured in a row and column format with each row representing an object and each column representing a property of the object.
- One of the properties usually included in each row is the PR_ENTRYID property, an identifier that can be used to open and modify the object.
- Rows contain property values, retrieving a row from a table is similar to getting a set of properties directly from the object that the row represents.
- Both operations result in the retrieval of a property value array.
- The main difference is in the handling of long string and binary properties.
- For inclusion in a table, some table implementers truncate these properties to 255 bytes.
- When retrieved directly from the object, the full value is always available.
3) In which way usage of MAPI tables are useful?
- MAPI tables enable client applications and service providers to readily access and manipulate the important properties of many types of objects.
- Even MAPI tables such as contents tables, provide an alternative way of accessing properties.
Take this case directly a client cannot access an attachment's PR_ATTACH_METHOD property by calling IMAPIProp::GetProps; it must always retrieve the attachment table of the message to which it is attached. PR_ATTACH_METHOD is a required column in all attachment tables.