Platform SDK: MAPI

No Scribble State

The No Scribble state indicates that changes to a message are being saved. The actual saving of values stored in the form object's user interface occurs when the form object's IPersistMessage::Save method is called by the client application. Legal transitions from the No Scribble state are described in the following table.

IPersistMessage method Action New state
SaveCompleted( pMessage == NULL) If fSameAsLoad flag was TRUE on the Save call that caused the form to enter the No Scribble State and the message has been modified, then internally mark the changes as saved and call IMAPIViewAdviseSink::OnSaved. Normal
SaveCompleted( pMessage != NULL) Call the IPersistMessage::HandsOffMessage method (similar to the OLE IPersistStorage::HandsOffStorage method) followed by the normal SaveCompleted actions. If SaveCompleted was successful, enter the Normal state. Otherwise, enter the Hands Off After Save state. Normal or Hands Off After Save
HandsOffMessage Recursively invoke the HandsOffMessage method on embedded messages or the OLE IPersistStorage::HandsOffStorage method on embedded OLE objects. Release the message object and any embedded messages or objects. Hands Off After Save
Save, InitNew or Load Set the last error to and return E_UNEXPECTED. No Scribble
GetLastError Return the last error. No Scribble
Other IPersistMessage methods or methods from other interfaces Set the last error to and return E_UNEXPECTED. No Scribble