NoScribble State

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The NoScribble 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. The following table describes allowed transitions from the NoScribble state.

IPersistMessage method

Action

New state

IPersistMessage::SaveCompleted( pMessage == NULL)

If fSameAsLoad flag was TRUE on the IPersistMessage::Save call that caused the form to enter the NoScribble state and the message has been modified, internally mark the changes as saved and call the IMAPIViewAdviseSink::OnSaved method.

Normal

IPersistMessage::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 HandsOffAfterSave state.

Normal or HandsOffAfterSave

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.

HandsOffAfterSave

Save, IPersistMessage::InitNew, or IPersistMessage::Load

Set the last error to and return E_UNEXPECTED.

NoScribble

IPersistMessage::GetLastError

Return the last error.

NoScribble

Other IPersistMessage : IUnknown methods or methods from other interfaces

Set the last error to and return E_UNEXPECTED.

NoScribble

See Also

Concepts

Form States