The IMAPIProp::OpenProperty MAPI function returns a MAPI_E_NOT_FOUND (0x8004010F) error (898884)
The information in this article applies to:
- Microsoft Exchange Server 2003 Enterprise Edition
- Microsoft Exchange Server 2003 Standard Edition
SUMMARYOn a Microsoft Exchange Server 2003 server, when you try to access an e-mail message by using MAPI, the IMAPIProp::OpenProperty MAPI function may return a MAPI_E_NOT_FOUND (0x8004010F) error. The MAPI_E_NOT_FOUND (0x8004010F) error will apply to one of the following MAPI properties: - PR_BODY
- PR_BODY_HTML
- PR_RTF_COMPRESSED
Note You may receive a MAPI_E_NOT_FOUND (0x8004010F) error even if there is data in one or more of these MAPI properties. SYMPTOMSThis problem may occur if all of the following statements are true: - The e-mail message arrived at the Exchange Server 2003 server in Simple Mail Transfer Protocol (SMTP) format.
- The content of the e-mail message was not modified before your application opened the e-mail message by using one of the following MAPI functions:
- IMsgStore::OpenEntry
- IMAPIContainer::OpenEntry
- IMAPISession::OpenEntry
- The body of the e-mail message was modified by another MAPI client after your application opened the e-mail message, but before your application called the IMAPIProp::OpenProperty MAPI function.
CAUSEWhen an e-mail message in SMTP format arrives at the Exchange Server 2003 server, the content of the e-mail message is stored in the .stm file. When a MAPI client accesses the e-mail message, the content of the e-mail message is retrieved from the .stm file. However, if another MAPI client modifies the content of the e-mail message, a MIME-to-MAPI conversion is performed. When this occurs, the content of the e-mail message is promoted from the .stm file to the .edb file.
When your application first accesses the e-mail message, the content of the e-mail message are stored in the .stm file. When another MAPI client modifies the content of the e-mail message after your application first accessed the e-mail message, the content of the e-mail message is promoted from the .stm file to the .edb file. However, the IMessage pointer that is opened by your application is unaware that the content of the e-mail message has been promoted from the .stm file to the .edb file.
Therefore, when your application tries to access the body of the e-mail message, the IMessage pointer that is opened by your application cannot locate the it.RESOLUTIONIn order to access the body of the e-mail message, you must release the current IMAPIProp or IMessage pointer that you have for the e-mail message. Then, you must obtain a new IMAPIProp or IMessage pointer by using one of the MAPI functions that is described in step 2 in the Symptoms section.STATUS This behavior is by design.
Modification Type: | Major | Last Reviewed: | 6/17/2005 |
---|
Keywords: | kbprb KB898884 kbAudDeveloper |
---|
|