mfcmapi icon indicating copy to clipboard operation
mfcmapi copied to clipboard

Unable to delete >64K PT_BINARY prop

Open jengelh opened this issue 2 years ago • 2 comments

Version: 23.0.23089.01 x64

Reproducer:

  1. Select some folder. Use Property > Advanced > Edit specific property. Pick e.g. 0x70102. (The PT_BINARY editor comes up.) Set text "xx" or something small. Close the editor with OK. (The property is saved.)
  2. Select 0x70102 from the right pane if not already the case. Use Property > Selected property > As stream > Binary. (The PT_BINARY editor comes up again.) Set a text which is longer than 65536 characters. Close the editor wik OK. (The property is saved.)
  3. The right pane switches property 0x70102 to 0x7000a with red icon with PT_ERROR+MAPI_E_NOT_ENOUGH_MEMORY. (Legit.) Now delete the property with the DEL key.
  4. Observe the property is not deleted. According to the MFCMAPI logfile,
CSingleMAPIPropListCtrl::OnDeleteProperty deleting property 0x0007000a.
DeleteProperty: Deleting prop 0x00070000 from MAPI item 000001C68DF1DCC0.

When a small-size property is deleted, the log would read something like this

CSingleMAPIPropListCtrl::OnDeleteProperty deleting property 0x00070003.
DeleteProperty: Deleting prop 0x00070003 from MAPI item 000002BCE5B1AA20.

It looks like MFCMAPI is erroneously using the proptag returned in IMAPITable rather than the original one as returned by GetPropList.

jengelh avatar Aug 27 '23 18:08 jengelh

CSingleMAPIPropListCtrl::OnDeleteProperty deleting property 0x00070003. DeleteProperty: Deleting prop 0x00070003 from MAPI item 000002BCE5B1AA20.

aaafhjb avatar Sep 10 '24 02:09 aaafhjb

CSingleMAPIPropListCtrl::OnDeleteProperty deleting property 0x0007000a. DeleteProperty: Deleting prop 0x00070000 from MAPI item

000001C68DF1DCC0. Duplicate of #

aaafhjb avatar Sep 10 '24 02:09 aaafhjb