Microsoft KB Archive/104364

From BetaArchive Wiki
Knowledge Base

Article ID: 104364

Article Last Modified on 10/30/2006


  • Microsoft Exchange Electronic Forms Designer 5.0, when used with:
    • Microsoft Mail for PC Networks 3.0
    • Microsoft Mail for PC Networks 3.2

This article was previously published under Q104364


When you read a message created using a version 1.0 Microsoft Electronic Forms Designer custom form, the message may be displayed in the Compose form, rather than the Read form.


This problem occurs because of a limitation in simple Messaging Application Programming Interface (MAPI). The MAPISaveMail() function ignores the MAPI_SENT flag, starting this chain of events:

  1. The message is opened and the header has MAPI_SENT set (gMessage.Flags = MAPI_SENT).
  2. The message is deleted from the message list (underneath).
  3. When Mail tries to save the open message to its original Message ID, it fails because the ID has been deleted.
  4. The form attempts to save again, using the same header and an empty message ID (to save a "new" message).
  5. The MAPISaveMail() function ignores the MAPI_SENT bit and saves the message as a new/unsent message.
  6. When the message is reopened, the form processes an Open command on a new/unsent message, and concludes that the message should display the Compose form.


To avoid this problem, close all open instances of E-forms before you delete mail from Microsoft Mail for Windows.


Microsoft has confirmed this to be a problem in simple MAPI from versions 3.0 and 3.2 of Microsoft Mail for PC Networks. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: 1.00 wrong incorrect PC MAPI

Keywords: KB104364