Outlook 2010 MAPI Reference

A couple of days ago, we published an update to the Outlook 2010 MAPI reference. Rather than try to summarize everything we did, here’s the mini press release Randy sent out to announce that we were done:

The updated 11/15/2010 release of the Outlook 2010 MAPI Reference is now live on MSDN. Additionally, I’m happy to announce that the Outlook 2010 Auxiliary Reference is available on MSDN. This publication completes our developer documentation for Outlook 2010. Outlook 2010 developer documentation consists of the following reference titles: Outlook 2010 MAPI Reference Outlook 2010 Auxiliary Reference Outlook 2010 Developer Reference Outlook 2010 Primary Interop Assembly Reference Outlook Social Connector 1.1 Provider Reference

New and Updated Contents for Outlook 2010 MAPI Reference

  • Support for 64-bit Microsoft Outlook—Reference topics for applicable API elements have been updated to correspond to new header files that support 64-bit Outlook. These header files are now available as a download at Outlook 2010: MAPI Header Files. A new code sample is provided in How to: Check the Version of Outlook to show how to check whether the installed version of Outlook is 64-bit Microsoft Outlook 2010. If your existing 32-bit MAPI application is going to be running on a 64-bit operating system with 64-bit Outlook installed, you will need to rebuild your 32-bit application as a 64-bit application. For more information about MAPI support for 64-bit Outlook, see Building MAPI Applications on 32-Bit and 64-Bit Platforms.
  • Fast shutdown support for MAPI clients—MAPI clients can now initiate a quick shutdown and have the MAPI subsystem notify loaded providers to minimize data loss from the fast shutdown. Additional interfaces have been added for the client and provider to support fast shutdown. For more information about fast shutdown, see Client Shutdown in MAPI.
  • Stream structure for field definitions for an Outlook item—Documentation for a binary stream for the PidLidPropertyDefinitionStream property has been added. This property specifies definitions of all custom fields and data-binding settings for built-in fields of an Outlook item.
  • More properties—Documentation for an additional 38 tagged properties and named properties has been added to this release.
  • Option of linking explicitly to MAPI functions—MAPI developers can now choose to explicitly link to the MAPI stub of the default MAPI client (for example, Msmapi32.dll of Outlook) without going through the MAPI library and the Windows MAPI stub. For more information about explicit linking as compared with implicit linking, see How to: Link to MAPI Functions.
  • Message Store Provider Example—The Sample Wrapped PST Store Provider Example has been updated to support 64-bit architecture.
  • Nickname Cache—Documentation for the Nickname Cache has been added. Microsoft Outlook 2010 interacts with the nickname cache file, also known as the “.nk2 file.” The .nk2 file is where Outlook 2010 persists the autocomplete list, which is the list of names that displays in the To, Cc, and Bcc edit boxes while a user is composing an e-mail.
  • Using Multiple Exchange Accounts—Documentation for the MAPI Address Book API has been added. This API has been enhanced to support multiple Exchange accounts in Microsoft Outlook 2010. To resolve addresses correctly with multiple Exchange accounts, you use the new functions that take an account context so that calls to the address book search the correct Exchange account.

My involvement in this project was as tech reviewer and author of MFCMAPI. I tried to shove as much of the new documentation into MFCMAPI as possible, including SmartView parsers for PidLidPropertyDefinitionStream and PidTagUserFields, both of which have been long standing requests. I also wrote or contributed to many of the code samples. The bulk of the work though was done by a small crew of folks on the Office Content Publishing team who know so much more about content than I could ever hope to know. They did an excellent job.

As always, feedback is welcome.

Enjoy!