ID: Q171428
The information in this article applies to:
Calling the MAPIInitialize() function from a console application can block windows messages to other Windows applications.
The console application has not provided a message loop to allow the Windows Operating System to address the requests of other Windows applications.
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
This behavior is by design.
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