PSS ID Number: 183719
Article Last Modified on 7/18/2001
The information in this article applies to:
- Microsoft Extended Messaging Application Programming Interface (MAPI) 1.0
This article was previously published under Q183719
SYMPTOMS
You may experience any of the following problems:
- If a program calls the CoInitializeEx() routine with COINIT_MULTITHREADED, and then attempts to use MAPI, the call to the MAPIInitialize() routine may fail.
- If a program calls the MAPIInitialize() routine in one thread and the MAPIUninitialize() routine in a different thread, the program may quit unexpectedly.
- If you attempt to add a personal address book (PAB) using an alternate profile provider, MAPI_E_NOT_FOUND may be returned.
CAUSE
These problems occur for the following reasons:
- When you attempt to use MAPI, MAPI calls the CoInitialize() routine internally. It expects this routine to use the apartment threading model, but under these circumstances, it has already been initialized as free threaded. This causes the CoInitialize() call to fail with RPC_E_CHANGED_MODE.
- When you call the MAPIInitialize() and MAPIUninitialize() routines in different threads, the calls to the CoInitialize() and CoUninitialize() routines may be mismatched.
- MAPI incorrectly returns MAPI_E_NOT_FOUND when you attempt to add a PAB using an alternate profile provider.
STATUS
Microsoft has confirmed this to be a problem in the Extended Messaging Application Programming Interface (MAPI) version 1.0. This problem has been corrected in the latest U.S. Service Pack for Microsoft Exchange Server version 5.5. For information about obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):
S E R V P A C K
Keywords: kbbug kbMsg KB183719
Technology: kbAudDeveloper kbMAPIExt kbMAPISearch kbZNotKeyword