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 |
Description |
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. |
|
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 |
Description |
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. |
|
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
Anonymous
November 21, 2010
Hi, is there a change to see Outlook MAPI Service Provider Samples, implemented using .NET Framework (managed) code;Anonymous
November 21, 2010
Hi, is there a change to see Outlook MAPI Service Provider Samples, implemented using .NET Framework (managed) code;Anonymous
November 30, 2010
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.Anonymous
December 01, 2010
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 support.microsoft.com/.../en-us and search for the section "APIs that are supported in managed code".Anonymous
December 06, 2010
Hi George, you may want to have a look at the sourcecode of http://www.openmapi.org/nmapi - NMapi is an 100% managed C# implementation of the MAPI for the .NET Framework and Mono.