Normal State

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. Legal transitions from the Normal state are described in the following table.

IPersistMessage method Action New state
Save( pMessage == NULL, fSameAsLoad == TRUE) or Save( pMessage != NULL, fSameAsLoad == FALSE) Recursively save any embedded OLE objects that are dirty. Save message data back to the message object. Store the fSameAsLoad flag for later use in the No Scribble state. No Scribble
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. No Scribble
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 From Normal
SaveCompleted, InitNew or Load Set last error to and return E_UNEXPECTED Normal
GetLastError Return the last error.

Normal
Other IPersistMessage methods or methods from other interfaces Implement as described in the documentation for the IPersistMessage interface. Normal