Summary of changes that may impact MAPI developers in Outlook 2002 (310325)



The information in this article applies to:

  • Microsoft Outlook 2002

This article was previously published under Q310325

SUMMARY

Compared to Outlook 2000, Outlook 2002 is rearchitected in a variety of ways to change the way that Outlook 2002 works with the Messaging Application Programming Interface (MAPI) and related platform software development kit (SDK) technologies, such as MAPI transports and the MAPI spooler. This article summarizes known issues that MAPI developers have encountered when creating solutions.

MORE INFORMATION

"QueryInterface" Issues

Affects: MAPI providers
Current status: Providers must be updated to reflect the new Outlook behavior.
Microsoft Knowledge Base article:

304929 PRB: Custom MAPI Providers Do Not Load In Outlook 2002

This issue affects custom MAPI providers. The Outlook 2002 version of MAPI introduces an extra layer of abstraction to MAPI interfaces. This change was intended to be completely transparent to third-party MAPI providers. This change impacted MAPI provider developers by bringing issues in their code that were never uncovered by earlier versions of MAPI to the foreground. For example, some developers have poorly-written implementations of QueryInterface in their implementations of MAPI interfaces. This was never an issue because earlier versions of MAPI never called QueryInterface on these interfaces. The Outlook 2002 abstraction layer does call QueryInterface, which uncovers issues with implementations of QueryInterface.

"GetMailboxTable"

Affects: MAPI clients
Current status: Fixed in Outlook 2002 Service Pack 1 (SP-1) (a hotfix is also available)
Knowledge Base article:

299807 OL2002: IExchangeManageStore Interface Yields an Access Violation for Both the GetMailboxTable and the GetPublicFolderTable Methods

An access violation occurs when calling GetMailboxTable with the Outlook 2002 version of MAPI.

Form Actions

Affects: MAPI forms
Current status: Design change
Knowledge Base article:

299010 PRB: DoVerb Is Not Invoked When User Forwards Multiple MAPI Forms

In Microsoft Outlook 2000, if you select multiple messages that use a MAPI form, and then click Forward, Reply, or Reply All, the corresponding verb in the MAPI form server is not invoked for those messages. This behavior is by design; therefore, in Outlook 2002, you can no longer forward, reply, or reply all to multiple messages that use a MAPI form.

"IExchangeExportChanges"

Affects: MAPI clients
Current status: Fixed in Outlook 2002 SP1 (a hotfix is also available)
Knowledge Base article:

297821 OL2002: MAPI Breaks IExchangeExportChanges Interface

Requesting the IExchangeExportChanges interface on MAPI objects results in the error MAPI_E_INTERFACE_NOT_SUPPORTED.

"IExchExtAttachedFileEvents"

Affects: Exchange Client Extensions
Current status: Fixed in Outlook 2002 SP1 (a hotfix is also available)
Knowledge Base article:

308548 OL2002: "Operation Failed" Message When You Try to Attach a File, or the File Is Not Attached

The behavior of this interface, which is used in Exchange Client Extensions, changes in Outlook 2002. Specifically, Outlook responds differently to the return value from the OnWritePattToSzFile and OnReadPattFromSzFile functions. In earlier versions of Outlook, if you return S_OK from OnWritePattToSzFile, Outlook continues to open the attachment. In Outlook 2002, Outlook aborts opening the attachment altogether.

"PR_SENTMAIL_ENTRYID" and the Offline Store

Affects: MAPI clients
Current status: Fixed in Outlook 2002 SP1 (a hotfix is also available)
Knowledge Base article:

307386 OL2002: Messages That You Send While You Are Working Offline Are Moved to the Sent Items Folder When You Synchronize the Offline Folder

In earlier versions of Outlook, if a message is created and sent through MAPI, the message is saved in the folder in which the message was created. In Outlook 2002, the message is moved to the Sent Items folder. This move only occurs working offline with an offline store.

Various Changes That Are Related to the MAPI Spooler

Affects: General
Current status: By design because of rearchitecture
Knowledge Base article:

304116 OL2002: Custom MAPI Transport Providers May Not Function

A variety of interfaces change because the spooler functionality is integrated into Outlook 2002. For additional information, see Knowledge Base article Q304116.

"IMAPITABLE::SortTable"

Affects: MAPI
Current status: Fixed in Outlook 2002 SP1 (a hotfix is also available)
Knowledge Base article:

309491 OL2002: Outlook 2002 Raises an Exception If Mso.dll Fails to Load

The Outlook 2002 implementation of MAPI causes some unknown exceptions while trying to perform any string comparison operations. For example, while calling SortTable on a MAPI table, MAPI tries to load Mso.dll to make use of a string comparison function. MAPI does not find this library file and therefore causes an exception.

The "LaunchWizardEntry" API Fails

Affects: Ability to launch Profile Wizard
Current status: Fixed in Outlook 2002 SP1 (a hotfix is also available)
Knowledge Base article:

309491 OL2002: Outlook 2002 Raises an Exception If Mso.dll Fails to Load

This issue is related to the preceding SortTable issue. This issue also manifests itself when using the LaunchWizardEntry API to start the profile wizard.

Messages Are Stuck in the Outbox

Affects: MAPI forms, Electronic Forms Designer (EFD) forms
Current status: A hotfix is available
Knowledge Base article:

311744 OL2002: Messages That Have EFD or MAPI Forms Are Not Automatically Sent

When multiple transport providers are used in one profile, messages that use a MAPI form or an EFD form stay in the Outbox until the "send and receive" process occurs, either when the user clicks the Send/Receive button or when a scheduled send and receive process occurs. In Outlook 2000, the messages are sent immediately.

Messages That Are Handled by the Custom Transport Provider Are Returned

Affects: MAPI providers
Current status: Design change
Knowledge Base article: None
In earlier versions of Outlook, a problem allows transport providers to not set the PR_RESPONSIBLITY property on messages that are sent with the SEND_DEFERRED flag set. Setting this property is required, and is the responsibility of the transport provider that handles the message. In Outlook 2002, because the property is not set, Outlook tries to locate another transport provider to handle the message. If Outlook does not locate another transport provider, a non-delivery report (NDR) is generated.

Modification Type:MinorLast Reviewed:8/12/2004
Keywords:kbinfo KB310325