RTFSync

The RTFSync function ensures that the Rich Text Format (RTF) message text matches the plain text version. It is necessary to call this function before reading the RTF version and after modifying the RTF version.

Quick Info

Header file: MAPIUTIL.H
Implemented by: MAPI
Called by: RTF-aware client applications and message store providers

HRESULT RTFSync(
  LPMESSAGE lpMessage,          
  ULONG ulFlags,                
  BOOL FAR * lpfMessageUpdated  
);
 

Parameters

lpMessage
[in] Pointer to the message to be updated.
ulFlags
[in] Bitmask of flags used to indicate the RTF or plain text version of the message has changed. The following flags can be set:
RTF_SYNC_BODY_CHANGED
The plain text version of the message has changed.
RTF_SYNC_RTF_CHANGED
The RTF version of the message has changed.

All other bits in the ulFlags parameter are reserved for future use.

lpfMessageUpdated
[out] Pointer to a variable indicating whether there is an updated message. TRUE if there is an updated message, FALSE otherwise.

Return Values

S_OK
The call succeeded and has returned the expected value or values.

Remarks

If the PR_RTF_IN_SYNC property is missing or is FALSE, before reading the PR_RTF_COMPRESSED property the RTFSync function should be called with the RTF_SYNC_BODY_CHANGED flag set.

If the STORE_RTF_OK flag is not set in the PR_STORE_SUPPORT_MASK property, this function should be called with the RTF_SYNC_RTF_CHANGED flag set after modifying PR_RTF_COMPRESSED.

If both PR_BODY and PR_RTF_COMPRESSED have been changed, the RTFSync function should be called with both flags set.

If the value of the lpfMessageUpdated parameter is set to TRUE, then the IMAPIProp::SaveChanges method should be called for the message. If SaveChanges is not called, the modifications will not be saved in the message.

Message store providers can use RTFSync to keep the PR_BODY and PR_RTF_COMPRESSED properties synchronized.

For more information, see Supporting RTF Text for Message Store Providers.

See Also

RTF Synchronization Functions, WrapCompressedRTFStream