PRB: MAPIInitialize from Console App can Block Windows Messages

ID: Q171428

The information in this article applies to:

SYMPTOMS

Calling the MAPIInitialize() function from a console application can block windows messages to other Windows applications.

CAUSE

The console application has not provided a message loop to allow the Windows Operating System to address the requests of other Windows applications.

RESOLUTION

Write the code as a Windows application or alternately try using the PeekMessage loop API call.

For more information on implementing PeekMessage loop functionality, please see the following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q74042
   TITLE     : How to Use PeekMessage() Correctly in Windows

STATUS

This behavior is by design.

MORE INFORMATION

Code sample that demonstrates issue follows:

    #include "mapix.h"
    #include "conio.h"

    void main()
    {
       HRESULT hrT = NOERROR;
       hrT = MAPIInitialize(NULL);
       getch();
    }

1. Build the code sample above as a console application.

2. Run the application.

3. Switch to the Control Panel and launch Date/Time

4. Change the date and click OK.

Step 4 should close Date/Time, but it remains open and blocked until the (MAPIInitialize) application is closed.

Keywords          : kbcode kbMsg kbMAPI100 
Version           : WINDOWS:1.0
Platform          : WINDOWS
Issue type        : kbprb

Last Reviewed: July 20, 1997