MAPI Properties and the New Outlook 2007 MAPI Reference

The Outlook 2007 Messaging API (MAPI) Reference is now officially published on MSDN! If you are interested in using MAPI to develop solutions that work with Outlook, take a look!

 

Microsoft MAPI specialist Stephen Griffin already talked about a few new features in his blog, so I’ll cut that short here. Being the project manager, I see the following as the few areas we spent most effort on and hopefully, by commenting in the Community Content at the bottom of a topic, you can let us know if the effort is worth it.

· 885 MAPI properties are now documented, including 452 tagged properties, some of which were previously documented in the Exchange MAPI Programmer’s Reference, as well as 433 named properties.

· Overhaul of legacy content to remove outdated references of technologies and to fix bugs in the previous Exchange version.

· New code samples showing how to create various Outlook items in C++ using MAPI and cross-referencing from concept, interface, and method topics into MFCMAPI to illustrate the use of specific APIs.

Looking for Properties?  

The Outlook 2007 MAPI Reference documents the majority of the properties that you would want to use in your Outlook solution.

 

Search keywords have been set up for each property topic to facilitate your search on MSDN, Windows Live Search, and other major search engines to retrieve the appropriate property topic in the Outlook 2007 MAPI Reference. However, depending on the crawls performed by specific search engines, during the interim period which can last anywhere from 24 hours to longer, your search for a property, like PR_BODY, may not yet return any result from the Outlook 2007 MAPI Reference. Mind you, the more you reference the Outlook 2007 MAPI Reference online, like blogging or discussing about it in your online community, the sooner your search engine will bubble up the appropriate results. Nonetheless, meanwhile, to reduce frustration, you can go to this topic to map your search to the appropriate MAPI property topic: Mapping MAPI Names to Canonical Property Names.

 

By the way, there is a small set of properties that we no longer support, and you can find the list here: Properties Deprecated in This Edition.

 

You probably have noticed that we now reference properties by their new canonical property names. For example, PR_ASSISTANT is now documented in the PidTagAssistant canonical property topic, dispidCategories in PidLidCategories, and EditTime in PidNameEditTime. Canonical property names provide a consistent way to identify and group completely identical or similar properties using one canonical property name. Over the course of MAPI history, properties with the same property tag, and properties with the same property identifier, but different types, have been defined for various reasons. For example, PR_BUSINESS2_TELEPHONE_NUMBER and PR_OFFICE2_TELEPHONE_NUMBER have exactly the same property tag (that is, their property identifier and property type are the same), and PR_SENDER_NAME, PR_SENDER_NAME_A, PR_SENDER_NAME_W have the same property identifier and different types. Now these two sets of properties can be identified by the canonical properties PidTagBusiness2TelephoneNumber and PidTagSenderName respectively. Note that canonical properties are not defined as constants in officially distributed MAPI header files, and you can continue to use real property names such as PR_BUSINESS2_TELEPHONE_NUMBER and PR_SENDER_NAME in your code. For more information on canonical properties, see MAPI Canonical Properties.

 

Remember, use the MSDN Community Content feature to provide your feedback!