New Releases of the Outlook 2010 Auxiliary Reference and Outlook 2010 MAPI Reference

This week our group published the Outlook 2010 Auxiliary Reference, and updated the Outlook 2010 MAPI Reference!

The two references have been reorganized such that all content pertaining to MAPI for Outlook is now centralized in the Outlook 2010 MAPI Reference. The Outlook 2010 Auxiliary Reference contains documentation and samples for APIs that allow developers to extend Outlook outside of the Outlook object model without using MAPI.

What's new in the Outlook 2010 Auxiliary Reference

The Outlook 2010 Auxiliary Reference includes the additions listed in the following sections.

Outlook configuration - Outlook now provides a way for developers of message service providers to specify new message service domains to be configured by corresponding providers during Outlook automatic configuration. For more information, see About Registering a New Domain for Automatic Configuration.

Account management – the following table lists the additions.

Feature area


Related topics

Account manager initialization

Can prevent an account from synchronizing with an associated store.


Account management

Displays either the Account Settings or Add New Account dialog box.


Account preferences

Retrieves the user ID for the profile section that stores the account preferences.

Support for anti-span user settings.


About Anti-Spam Settings

Account email address

Specifies the email address for the account.


Address Book entry ID

Gets the Address Book entry ID for the account.


Other Outlook API – the following table lists the additions and changes to other Outlook API in the Auxiliary Reference. Miscellaneous syntax issues in the last release have also been fixed.

Feature area


Related topics

Contact pictures

Use the dispidShowSenderPhoto dispatch ID to invoke the corresponding method on an explorer or inspector to specify whether to display a contact’s picture.

How to: Specify Whether to Display a Contact's Picture in Outlook (Outlook 2010 Auxiliary Reference)

Outlook items

Use the dispidFDirty dispatch ID to invoke the corresponding property on an Outlook item to see whether the item has been modified and has not been saved.

How to: Determine Whether an Outlook Item Has Been Modified but Not Saved (Outlook 2010 Auxiliary Reference)

Mail items

Performs post-send categorization on a mail item based on its PidTagConversationId property.


Time zone support

TZDEFINITION no longer supports time zones identified by GUID.


What's new in the Outlook 2010 MAPI Reference

Since my last posting about the MAPI Reference in August 2009, the MAPI Reference has been updated in April 2010 and now in November 2010. The following includes all new and updated content for Outlook 2010 to date:

·     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 additional 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.





Comments (5)

  1. gcapnias says:

    Hi, is there a change to see Outlook MAPI Service Provider Samples, implemented using .NET Framework (managed) code;

  2. gcapnias says:

    Hi, is there a change to see Outlook MAPI Service Provider Samples, implemented using .NET Framework (managed) code;

  3. angelgolfer says:

    George, I assume you mean you would like to see some sample MAPI service providers written in managed code? I will relay your request to our peer team who owns Outlook MAPI and documentation and see what they say.

  4. angelgolfer says:

    George, because MAPI was developed years before the Microsoft .NET Framework, and Microsoft does not provide managed wrappers for MAPI, Microsoft does not support using MAPI in managed code. There isn't a plan to provide sample MAPI providers in managed code. For more information on messaging APIs supported in managed code, please see the Support article at…/en-us and search for the section "APIs that are supported in managed code".

  5. Holger Widmann says:

    Hi George,

    you may want to have a look at the sourcecode of – NMapi is an 100% managed C# implementation of the MAPI for the .NET Framework and Mono.

Skip to main content