PR_RTF_COMPRESSED open failed

Joined
Oct 21, 2009
Messages
1
Reaction score
0
Hi,

I've got a MAPI problem which needs the expert opinion for help.

I have an application that will access the email's body by:
HRESULT hr = E_FAIL;
hr = aMessage->getInMemMsg()->OpenProperty(PR_RTF_COMPRESSED, (LPIID)&IID_IStream, NULL, NULL, (LPUNKNOWN *)&body));

It will return -2147221233 which means MAPI_E_NOT_FOUND when reads a journaled message. I use outlook spy to check the properties of the journaled message, where

PR_BODY PT_STRING8 MAPI_E_NOT_ENOUGH_MEMORY
PR_RTF_COMPRESSED PT_BINARY cb:341, lpb: 51 01 00 00 31 02 00 00 4C 5A 46 75 38 CB 20 3B 03 00 0A 00 72 63 70 67 31 32 35 E2 32 03 43 74 65 78 05 41 01 03 01 F7 FF 0A 80 02 A4 03 E4 07 13 02 80 0F F3 00 50 04 56 3F 08 55 07 B2 11 25 0E 51 03 01 02 00 63 68 E1 0A C0 73 65 74 32 06 00 06 C3 11 25 F6 33 04 46 13 B7 30 12 2C 11 33 08 EF 09 F7 B6 3B 18 1F 0E 30 35 11 22 0C 60 63 00 50 73 0B 09 01 64 33 36 16 50 0B A6 06 51 6E 81 04 81 3A 20 22 4D 6F 68 07 90 20 6B 79 2C 4D 65 17 B0 64 79 21 05 D0 22 20 3C 73 0E A0 70 3A 55 1E 04 2E 1D 85 40 09 80 77 0B 11 6A CB 02 20 07 90 2E 05 A0 6D 3E 0A A2 0A 80 03 1E 00 04 10 61 67 65 2D 49 44 01 1D 50 3C 41 31 46 41 46 30 00 46 32 38 35 45 37 30 33 14 34 34 22 A0 38 1C 30 38 38 41 08 37 33 32 22 50 36 34 46 33 00 33 46 35 40 6E 77 70 73 14 72 76 23 60 2E 09 80 6A 2E 61 EE 64 24 F1 20 1F 21 21 52 05 90 05 20 08 90 79 02 30 73 3A 20 F4 0C 82 1D 60 08 00 64 AB 21 A0 14 00 2C 06 60 64 05 10 63 1E 86 AD 28 C4 2E 28 45 1F EF 2C 27 8A 56 09 E0 42 72 03 81 2C 50 61 75 03 20 52 BB 1E 86 2C E2 2E 2C 65 2A 8F 20 F4 7D 30 00
PR_RTF_IN_SYNC PT_BOOLEAN true

I found the article from Microsoft help and support that says
In 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.

I followed the suggestion but it didn't make any difference. I'm wondering if there is a way to access the PR_RTF_COMPRESSED for this case. Note that this issue only happened for a journaled message where there was no body text in the message. For the journaled messages that have body text, everything works fine, and the properties are:

PR_BODY PT_STRING8 MAPI_E_NOT_ENOUGH_MEMORY
PR_RTF_COMPRESSED PT_BINARY cb:341, lpb: 51 01 00 00 31 02 00 00 4C 5A 46 75 A5 0D BF 4E 03 00 0A 00 72 63 70 67 31 32 35 E2 32 03 43 74 65 78 05 41 01 03 01 F7 FF 0A 80 02 A4 03 E4 07 13 02 80 0F F3 00 50 04 56 3F 08 55 07 B2 11 25 0E 51 03 01 02 00 63 68 E1 0A C0 73 65 74 32 06 00 06 C3 11 25 F6 33 04 46 13 B7 30 12 2C 11 33 08 EF 09 F7 B6 3B 18 1F 0E 30 35 11 22 0C 60 63 00 50 73 0B 09 01 64 33 36 16 50 0B A6 06 51 6E 81 04 81 3A 20 22 4D 6F 68 07 90 20 6B 79 2C 4D 65 17 B0 64 79 21 05 D0 22 20 3C 73 0E A0 70 3A 55 1E 04 2E 1D 85 40 09 80 77 0B 11 6A CB 02 20 07 90 2E 05 A0 6D 3E 0A A2 0A 80 03 1E 00 04 10 61 67 65 2D 49 44 01 1D 50 3C 41 31 46 41 46 30 00 46 32 38 35 45 37 30 33 14 34 34 22 A0 38 1C 30 38 38 41 08 37 33 32 22 50 36 34 46 33 00 33 46 34 40 6E 77 70 73 14 72 76 23 60 2E 09 80 6A 2E 61 EE 64 24 F1 20 1F 21 21 52 05 90 05 20 08 90 79 02 30 73 3A 20 F4 0C 82 1D 60 08 00 64 AB 21 A0 14 00 2C 06 60 64 05 10 63 1E 86 AD 28 C4 2E 28 45 1F EF 2C 27 8A 56 09 E0 42 72 03 81 2C 50 61 75 03 20 52 BB 1E 86 2C E2 2E 2C 65 2A 8F 20 F4 7D 30 00
PR_RTF_IN_SYNC PT_BOOLEAN true

Do anybody have any suggestions?

Thanks.
 
Last edited:
Back
Top