The IPersistMessage::HandsOffMessage method causes the form to release its current message.
See IPersistMessage : IUnknown.
HRESULT HandsOffMessage();
None
Forms transition into two Hands Off states:
When a form is in either of these states, it is in the process of being stored permanently.
When a form viewer calls the IPersistMessage::HandsOffMessage method while your form is in the Normal or No Scribble state, recursively call HandsOffMessage on each message embedded in the current message and IPersistStorage::HandsOffStorage on each OLE object embedded in the current message. Then release the current message and all embedded messages and OLE objects. If your form was in the Normal state, transition to the Hands Off From Normal state. If your form was in the No Scribble state, transition to the Hands Off After Save state. After a successful transition, call the message's IUnknown::Release method and return S_OK.
When a form viewer calls HandsOffMessage while your form is in either of the Hands Off states, return E_UNEXPECTED.
For more information about the different states of a form, see Form States. For more information on working with the Hands Off state of storage objects, see the IPersistStorage::HandsOffStorage method documented in the OLE Programmer's Reference.