PRB: Calling FlushQueues() Does Not Deliver Messages

ID: Q188297


The information in this article applies to:
  • Extended Messaging Application Programming Interface (MAPI), version 1.0
  • Microsoft Exchange Server, versions 4.0, 5.0, 5.5


SYMPTOMS

Frequently, developers want to have their application work with an offline store and at a later time send and receive mail by calling IMAPIStatus::FlushQueues(). Sometimes, FlushQueues() will return success but no messages are sent or received. The outgoing mail is still located in the Outbox.


CAUSE

This problem is the result of a limitation of the Extended Messaging Application Programming Interface (MAPI) spooler. The spooler only checks for outgoing mail in currently loaded (open) message stores. So, if you do not currently have a reference to the store via IMAPISession::OpenMsgStore(), for example, the messages in that store will not be flushed.


RESOLUTION

In order to ensure that messages in a particular message store are flushed, call IMAPISession::OpenMsgStore() on that store, call IMAPIStatus::FlushQueues(), and then release your store pointer.


STATUS

This behavior is by design.

Additional query words: kbDSupport kbMsg kbMAPI100 FlushQueues Offline EDKApi EMAPI RAS kbdse

Keywords : kbAPI kbEDK kbMsg kbMAPI100
Version : WINDOWS:1.0; winnt:4.0,5.0,5.5
Platform : WINDOWS winnt
Issue type : kbprb


Last Reviewed: November 9, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.