PRB: MAPIInitialize from Console App can Block Windows Messages

ID: Q171428


The information in this article applies to:
  • Extended Messaging Application Programming Interface (MAPI), version 1.0


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:

Q74042 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.

Additional query words:

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


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