Normal 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 Normal state is where the form object spends most of its time, waiting for client applications to initiate an action such as saving changes or closing the form. The following table describes allowed transitions from the Normal state.

IPersistMessage method

Action

New state

IPersistMessage::Save( pMessage == NULL, fSameAsLoad == TRUE)

-or-

IPersistMessage::Save( pMessage != NULL, fSameAsLoad == FALSE)

Recursively save any embedded OLE objects that have been modified. Save message data back to the message object. Store the fSameAsLoad flag for later use in the NoScribble state.

NoScribble

IPersistMessage::Save( pMessage != NULL, fSameAsLoad == TRUE)

This is the same as the previous case, except that this Save call is used in low-memory situations and must not fail for lack of memory.

NoScribble

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

HandsOffFromNormal

IPersistMessage::SaveCompleted, IPersistMessage::InitNew or IPersistMessage::Load

Set the last error to and return E_UNEXPECTED.

Normal

IPersistMessage::GetLastError

Return the last error.

Normal

Other IPersistMessage : IUnknown methods or methods from other interfaces

Implement as described in the documentation for the IPersistMessage : IUnknown interface.

Normal

See Also

Concepts

Form States