PRB: Calling FlushQueues() Does Not Deliver Messages

ID: Q188297

The information in this article applies to:

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,4.0,5.0,5.5
Platform          : WINDOWS
Issue type        : kbprb

Last Reviewed: June 26, 1998